Skip to main content

Чанкинг документов (Chunking Strategies)

ДЛЯ АГЕНТАChatGPTClaude

Методология декомпозиции массивных документов и кодовых баз на информационно самодостаточные фрагменты (чанки) для генерации векторных эмбеддингов и точного поиска в RAG-системах.

1. Обзор концепции и системная проблема

Эмбеддинг-модели (например, text-embedding-3-large или bge-m3) имеют жестко ограниченную длину входного окна (от 512 до 8192 токенов). Даже если модель технически способна принять большой PDF-документ целиком, она сжимает всю информацию в единый вектор фиксированной размерности (например, 1536 чисел).

Если не проводить гранулярный чанкинг:

  1. Семантическое усреднение (Vector Dilution): Вектор 50-страничного документа становится настолько общим, что теряет детали конкретных функций или конфигураций.
  2. Невозможность точной выборки в RAG: Поисковая система подтянет весь гигантский документ в контекст генеративной LLM, мгновенно исчерпав бюджет токенов.
  3. «Убийство» структуры при наивном разрезании: Фиксированный раздел по количеству символов (Character Splitting) разрывает слова пополам, отделяет заголовок функции от ее реализации и уничтожает таблицы.

Чанкинг (Chunking) — это фундамент RAG-инженерии: он преобразует монолитный сырой текст в коллекцию информационно самодостаточных, взаимосвязанных смысловых блоков.

2. Архитектурная таксономия и ментальная модель

В зависимости от структуры данных выделяют четыре архитектурных уровня чанкинга:

  • 1. Фиксированный чанкинг с перекрытием (Fixed-Size Sliding Window): Самый простой подход: текст нарезается блоками по $N$ токенов с перекрытием в $M$ токенов. Быстрый, но часто нарушает логические границы абзацев.
  • 2. Рекурсивный символьный чанкинг (Recursive Character Splitting): Иерархический подход (стандарт LangChain/LlamaIndex). Алгоритм пытается разрезать текст сначала по двойному переносу строки (\n\n), если кусок слишком большой — по одинарному (\n), далее по точке (. ) и лишь в крайнем случае по пробелу.
  • 3. Семантический чанкинг (Semantic / Embedding-Distance Chunking): Текст разбивается на отдельные предложения. Для каждого генерируется вектор, и вычисляется косинусное сходство между соседними предложениями. Граница чанка устанавливается в точках резкого перепада семантики (смена темы разговора).
  • 4. Синтаксический AST/Markdown чанкинг (Structural Chunking): Учитывает синтаксическое дерево документа: разбивает Markdown строго по уровням заголовков (#, ##, ###), сохраняя хлебные крошки, а программный код — по узлам классов и функций через Tree-sitter.

3. Технический пайплайн и внутренняя механика

Конвейер профессионального чанкинга состоит из 4 этапов:

  1. Document Ingestion & Pre-cleaning (Очищение): Удаление невидимых спецсимволов, унификация переносов строк (\r\n -> \n) и нормализация кодировки Unicode (NFC).
  2. Boundary Detection (Определение границ): Парсер строит синтаксическое дерево (AST) или находит безопасные точки разреза (разделы Markdown, пустые строки между функциями).
  3. Window Formatting & Overlap Calculation (Нарезка и наложение): Текст группируется в блоки размером 500–700 токенов. В начало каждого следующего чанка добавляется буфер перекрытия (10–15%) от предыдущего.
  4. Metadata Enrichment & Context Injection (Обогащение контекстом): К каждому чанку добавляется префикс с метаданными: [File: api/auth.ts | Class: AuthService | Method: validateToken] Это гарантирует, что вектор фрагмента будет найден даже по запросу, где название метода не упоминается в его теле.

4. Практические инженерные сценарии в продакшене

01. Индексация кодовой базы репозитория через Tree-sitter

Каждый файл TypeScript парсится в синтаксическое дерево. Отдельный чанк формируется для каждого экспортированного интерфейса и каждой функции. Если функция занимает 20 строк, она становится самостоятельным чанком вместе с комментарием JSDoc и списком импортированных типов.

02. Обработка сложных таблиц и финансовых отчетов

Обычная нарезка разрывает строки таблицы, лишая числа смысла. Профессиональный чанкинг конвертирует каждую строку таблицы в самодостаточную текстовую строку: «В 2024 году выручка подразделения Cloud составила $35B, что на 15% больше, чем в 2023», формируя векторы с высокой поисковой точностью.

03. Парсинг API-документации (OpenAPI / Swagger)

Каждый маршрут (например, POST /v1/payments) выделяется в отдельный чанк, который содержит путь, HTTP-метод, описание параметров, образец ответа и коды ошибок, что позволяет агенту безошибочно генерировать клиентский код.

5. Подводные камни, типовые ошибки и безопасность

  • Проблема «висячих местоимений» (Dangling Pronouns): Если предложение «Эта функция требует прав администратора» попало в чанк 2, а само название функции осталось в чанке 1, модель не сможет ответить на запрос. Всегда используйте метаданные с обогащением родительским контекстом (Parent Document Retrieval).
  • Раздутие векторной базы от лишнего Overlap: Перекрытие более 25% приводит к дублированию информации в базе данных, увеличивает стоимость индексации и перегружает идентичные фрагменты в топ результатов.
  • Потеря контекста структуры (Loss of Lineage): Чанк без указания имени файла и номера строки превращается в безымянный шум, усложняя генерацию точных ссылок в ответах агента.
/ Частые вопросыSchema.org FAQPage

FAQ: Чанкинг документов (Chunking Strategies)

Маленькие чанки (100–300 токенов) обеспечивают очень точный векторный поиск, но могут терять контекст всей мысли. Большие чанки (1000–2000 токенов) сохраняют полную картину, однако их эмбеддинги становятся «размытыми», что снижает семантическое сходство с конкретным узким запросом. Золотой стандарт для технических текстов — 400–800 токенов.
/ Внутренняя перелинковка
Все термины
Промпты и RAG

RAG (Retrieval-Augmented Generation)

Архитектурный паттерн корпоративного AI, который динамически обогащает контекстное окно модели релевантными верифицированными знаниями из внешних хранилищ (векторных баз, графов, полнотекстовых индексов) перед генерацией финального ответа.

Читать термин
Промпты и RAG

Векторные эмбеддинги (Dense Embeddings)

Математическая проекция текста, кода или мультимодальных данных в плотный многомерный числовой вектор, где угол и геометрия между координатами отражают их семантическую связанность.

Читать термин
Промпты и RAG

Гибридный поиск (Dense + Sparse Search)

Архитектура ретривала в современных RAG-системах, сочетающая семантический векторный поиск (Dense Embeddings) с классическим полнотекстовым индексированием по ключевым словам (Sparse / BM25) через алгоритмы слияния рангов (RRF).

Читать термин
Промпты и RAG

Markdown AST для агентов (Abstract Syntax Tree)

Иерархическое древовидное представление разметки Markdown (стандарт mdast / Unified.js), позволяющее программным системам и AI-агентам детерминированно анализировать, трансформировать и безопасно редактировать технический контент без использования хрупких регулярных выражений.

Читать термин

Связанные материалы экосистемы

Практические гайды, терминология и агентские скиллы

Термин в глоссарии

Нарезка документов на чанки (Chunking для новичков)

Техника разбивки больших документов (PDF, книг, лонгридов) на небольшие логические текстовые блоки (чанки по 300–500 токенов) с перекрытием (Overlap). Обеспечивает высокую точность поиска и предотвращает потерю контекста на стыках.

Термин в глоссарии

Иерархический чанкинг (Hierarchical Chunking / Parent-Child)

Продвинутая стратегия нарезки документов (Parent-Document Retriever) для систем RAG. Текст делится на мелкие дочерние кусочки (Child Chunks) для сверхточного векторного поиска, но в контекст модели передается полный родительский раздел (Parent Chunk), чтобы сохранить широкий контекст и не потерять суть.

Практический гайд

Как создать собственную дизайн-систему в Claude Design: от мудборда до анимированного маскота

Полное практическое руководство по созданию бренд-дизайн-системы в Claude Design: сбор референсов, генерация 4 концепций, токенизация, стресс-тестирование и разработка анимированного SVG-маскота.

Практический гайд

50 стилей визуального дизайна: фундаментальное руководство для дизайн-систем, UI/UX и арт-дирекшена

Полный визуальный словарь из 50 стилей дизайна: анализ эстетики, цветовые палитры, шрифтовые пары, правила для дизайн-систем и точное управление ИИ.

Новость

OpenAI предлагает бесплатные сбросы подписчикам

OpenAI будет давать по бесплатному ресету всем подписчикам каждый день, пока нет доступа к Astra.

Новость

Модель Astra от OpenAI теперь доступна всем подписчикам

Модель Astra от OpenAI стала доступна для всех подписчиков Plus, Pro, Enterprise и Business.