РУКОВОДСТВО · ОБНОВЛЕНО 2026-09-15
RAG или длинный контекст: как выбрать подход
RAG сначала выбирает фрагменты, а длинный контекст передаёт модели большой объём сразу; практический выбор зависит от корпуса и вопроса.
Длинный контекст удобен для разового анализа ограниченного набора файлов. RAG лучше подходит для большой часто меняющейся базы, где важны права, поиск и цитаты. Часто работает гибрид: retrieval сокращает корпус, а модель читает найденные документы в расширенном окне.
1. Сопоставьте подход с корпусом
Один договор или комплект отчётов можно передать целиком, если они помещаются в окно и доступны одному пользователю. Миллионы статей, частые обновления и разные права требуют индекса. Сначала измерьте объём, частоту изменения, повторяемость вопросов и необходимость цитат. Мода на архитектуру не заменяет эти параметры.
2. Поймите риск retrieval
RAG разбивает документы, строит представления и выбирает top-k. Неверное разбиение или запрос может не найти ответ, даже если он есть в базе. Оценивайте recall поиска отдельно от качества генерации. Метаданные, заголовки и фильтры доступа часто важнее смены embedding-модели. В найденных фрагментах сохраняйте документ и позицию.
3. Поймите риск длинного окна
Поместив весь корпус, вы избегаете отдельного поиска, но платите токенами и задержкой. Модель может уделить неодинаковое внимание частям, спутать версии или не заметить короткое исключение. Проверьте вопросы с ответом в начале, середине и конце, а также конфликтующие документы. Размер заявленного окна не доказывает точность на его пределе.
4. Постройте честный тест
Для одинакового набора вопросов сравните правильность ответа, полноту цитат, долю no-answer, p95 времени и стоимость. Включите запросы без ответа и документы с похожими терминами. RAG оценивайте с реальным индексом, long context — с тем порядком файлов, который будет в production. Скрытая ручная подготовка делает сравнение бесполезным.
5. Используйте гибрид осознанно
Retrieval может выбрать несколько документов, после чего длинное окно позволяет сопоставить их целиком. Для сложного вопроса добавляют второй поиск по уточнённым терминам, но ограничивают число циклов. При обновлении удаляйте старую версию из индекса. Логи фиксируют ids источников и модель без хранения лишнего текста или данных других пользователей.
Частые вопросы
RAG всегда дешевле?
Нет, стоимость включает embeddings, хранение, поиск и генерацию.
Длинный контекст заменяет базу знаний?
Не всегда: большая изменяемая база нуждается в индексировании и правах.
Что важнее для RAG?
Recall релевантных фрагментов и корректные метаданные до генерации.
Можно совмещать подходы?
Да, retrieval часто выбирает документы для последующего длинного контекста.
Как проверить цитату?
Хранить идентификатор и позицию фрагмента и сверять текст с источником.