Chunking
Chunking - это процесс разбиения длинных документов на меньшие смыслонесущие единицы (фрагменты, chunks), которые могут обрабатывать LLM и векторные базы данных. Это обязательный этап предобработки в пайплайнах RAG перед тем, как веб-страницы, PDF или документы будут эмбеддированы, и каждый фрагмент становится минимальной единицей, которую ИИ может процитировать в своём ответе.
Chunking - это процесс разбиения длинных документов на меньшие смыслонесущие единицы (фрагменты, chunks), которые могут обрабатывать LLM и векторные базы данных. Это обязательный этап предобработки в пайплайнах RAG перед тем, как веб-страницы, PDF или документы будут эмбеддированы, и каждый фрагмент становится минимальной единицей, которую ИИ может процитировать в своём ответе.
Почему это важно
Когда AI-поиск генерирует ответ, он цитирует наиболее релевантный фрагмент, а не всю страницу. Две версии одной и той же статьи в блоге могут породить совершенно разные цитаты ИИ в зависимости от того, как они разбиты на фрагменты. Инженерные блоги Anthropic и OpenAI сообщают, что хорошо настроенный chunking повышает точность извлечения в RAG на 30-50% по сравнению с базовым уровнем. Именно отсюда происходит принцип GEO "пишите фрагментами".
Основные стратегии разбиения на фрагменты
Фиксированный размер: разбивает по фиксированному числу токенов, например 500 или 1 000. Просто, но рвёт посреди предложения и теряет контекст.
Рекурсивное (по предложениям/абзацам): разбивает абзацы, затем предложения, затем слова, сохраняя естественные границы. Вариант по умолчанию в большинстве пайплайнов RAG.
Семантическое разбиение: использует сходство эмбеддингов для обнаружения смены темы и разбивает в этих местах. Высочайшее качество, но вычислительно затратно.
Разбиение с учётом документа: использует заголовки Markdown или HTML ### как границы. Наиболее эффективно для структурированного контента вроде статей в блоге.
Перекрытие (overlap): дублирует 10-20% контента между соседними фрагментами, чтобы контекст не терялся на стыке.
Значение для письма под GEO
Разделы должны быть самостоятельными: фрагменты обычно соответствуют разделам ###. Если раздел зависит от предыдущего, чтобы иметь смысл, он ломается при цитировании в отрыве.
Включайте предмет и контекст внутри каждого раздела: пишите "inblog обрабатывает...", а не "этот инструмент обрабатывает..." - каждый абзац должен быть самодостаточным.
Правильная длина: очень короткие разделы не содержат достаточно информации, чтобы их стоило цитировать; очень длинные разделы размывают смысл своего эмбеддинга. Оптимум - 200-500 слов.
Заголовки при смене темы: если один раздел смешивает темы, разбиватели рвут текст в неудобных местах. Добавляйте чёткий заголовок ### всякий раз, когда тема меняется.
Блоки FAQ: пары "вопрос-ответ" естественным образом образуют самодостаточные фрагменты, поэтому разбиение ключевых вопросов в раздел FAQ резко повышает вероятность цитирования.
Источники: