Ошибки RAG: 6 причин, почему лагает память ИИ-агента, и как провести диагностику retrieval

RAG объединяет языковую модель с внешней базой знаний, но если в промпт попал неподходящий контекст, модель галлюцинирует. Проблема почти всегда в слое retrieval, а не в LLM. Статистика неумолима: 73% поломок RAG вызваны плохим поиском, в 40% случаев пайплайны не могут достать нужные данные вообще. Исследование RAGGED показало, что LLaMA и Claude теряют качество уже после 5 чанков — оптимальное количество документов на входе обычно очень мало. • **Чанкинг уничтожает контекст** — фиксированное разбиение по 512 токенов отделяет сущность от квалифицирующего её предложения • **Семантический разрыв** — эмбеддинги не ловят связь между вопросом пользователя и документом • **Рассогласование retrieval и генерации** — оптимальное значение top-k подбирают экспериментально для каждой модели

AI-обработка оригинала Habr AI; редакция Hamidun News
Ошибки RAG: 6 причин, почему лагает память ИИ-агента, и как провести диагностику retrieval
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Ключевой факт #1Чанкинг уничтожает контекст — фиксированное разбиение по 512 токенов отделяет сущность от квалифицирующего её предложения
Ключевой факт #2Семантический разрыв — эмбеддинги не ловят связь между вопросом пользователя и документом
Ключевой факт #3Рассогласование retrieval и генерации — оптимальное значение top-k подбирают экспериментально для каждой модели

RAG (Retrieval-Augmented Generation) подзывает внешнюю базу знаний к ответам LLM, обещая избавить модель от галлюцинаций. На практике 73% поломок RAG-систем происходят из-за плохого поиска, 40% пайплайнов вообще не могут извлечь нужные данные. Инженеры часто пытаются лечить симптомы — менять эмбеддинг-модель, увеличивать top-k, обновлять LLM. Но если в промпт изначально попал неподходящий контекст, сломан слой retrieval, а галлюцинация — следствие этой ошибки.

Исследование RAGGED вскрыло: LLaMA и Claude пикуют на отметке всего в 5 чанков, дальше качество стремительно падает. Claude показала наилучший результат с одним максимально точным фрагментом. Раздувать контекст до предела вредно.

Шесть точек отказа

1. Чанкинг уничтожает контекст — фиксированное разбиение по 512 токенов отделяет сущность от квалифицирующего предложения, чанк без заголовка теряет смысл, таблица из 200 строк превращается в шум. Решение: разбиение по структуре документа, перенос заголовков в каждый чанк, контекстные эмбеддинги. По данным Anthropic, они сокращают ошибки на 35%, с контекстным BM25 — на 49%, с реранкингом — на 67%.

2. Семантический разрыв — эмбеддинги не ловят намерение. Пользователь спрашивает «Как отменить подписку?», документ называется «Account Termination Policy». Решение: гибридный поиск (эмбеддинги + BM25 через Reciprocal Rank Fusion с k=60), переформулировка запроса, HyDE (поиск по гипотетическому ответу).

3. Рассогласование retrieval и генерации — увеличение top-k улучшает Hit@k, но качество ответа затем падает. Исследование Liu и соавт. «Lost in the Middle» показало, что модель лучше использует информацию в начале и конце контекста. Оптимальное значение top-k подбирают экспериментально; RAGGED показал: оптимум от k ≤ 1 до k ≥ 10. Пороговое значение recall 85% — ниже нужно чинить retrieval.

4. Multi-hop — RAG не умеет рассуждать по цепочке. Вопрос «Кто генеральный директор компании, которую приобрёл поставщик конкурента?» требует четырёх шагов поиска. Решение: итеративный (агентный) RAG или графовая память (Neo4j, Cognee, Microsoft GraphRAG). Цена — задержка и стоимость.

5. Нет понимания времени — индекс не знает, что документ устарел. Решение: фильтрация по метаданным, версионирование, автоматическая переиндексация, мониторинг дрейфа качества.

6. Разрешение сущностей — «Apple» (компания или фрукт?), «Иванов А.В.» и «А. Иванов» выглядят разными объектами. Решение: выделять сущности при индексации, строить связанный индекс, искать через граф.

Когда RAG не нужен

Запрос «покажи всех клиентов с риском оттока выше 0,7» — это SQL, а не поиск. RAG не умеет агрегаций, сортировки, фильтрации по числам. Нужны Text-to-SQL или семантический слой над хранилищем. Универсальные детекторы пропускают 43% вычислительных ошибок.

Диагностика: три метрики

Context Relevance ловит ошибки чанкинга и retrieval (вернулись не те фрагменты). Context Recall ловит пропуски (чанк с ответом не вернулся). Groundedness ловит галлюцинации несмотря на правильный контекст. Ключевой вопрос: сломан retrieval или генерация? Это разные инженерные проблемы с разными решениями.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: шесть точек отказа?

1. Чанкинг уничтожает контекст — фиксированное разбиение по 512 токенов отделяет сущность от квалифицирующего предложения, чанк без заголовка теряет смысл, таблица из 200 строк превращается в шум. Решение: разбиение по структуре документа, перенос заголовков в каждый чанк, контекстные эмбеддинги. По данным Anthropic, они сокращают ошибки на 35%, с контекстным BM25 — на 49%, с реранкингом — на 67%. 2. Семантический разрыв — эмбеддинги не ловят намерение. Пользователь спрашивает «Как отменить подписку?», документ называется «Account Termination Policy». Решение: гибридный пои

Что известно по теме: когда RAG не нужен?

Запрос «покажи всех клиентов с риском оттока выше 0,7» — это SQL, а не поиск. RAG не умеет агрегаций, сортировки, фильтрации по числам. Нужны Text-to-SQL или семантический слой над хранилищем. Универсальные детекторы пропускают 43% вычислительных ошибок.

Что известно по теме: диагностика: три метрики?

Context Relevance ловит ошибки чанкинга и retrieval (вернулись не те фрагменты). Context Recall ловит пропуски (чанк с ответом не вернулся). Groundedness ловит галлюцинации несмотря на правильный контекст. Ключевой вопрос: сломан retrieval или генерация? Это разные инженерные проблемы с разными решениями.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Автономные AI-агенты

Делегируйте ресёрч, код и рутину автономному AI-агенту

Интеллектуальная агентная среда NomadNet Agent (agent.nomadnet.ai) выполняет многошаговые задачи: глубокий веб-ресёрч, анализ данных, написание кода и автоматизацию браузера.

Запустить NomadNet Agent →Платформа NomadNet AI
Что вы думаете?
Загружаем комментарии…