Как это работает
Обзорная работа по галлюцинациям в генерации текста описывает их как нежелательный сгенерированный текст, который не соответствует ожиданиям пользователя и снижает качество системы [1]. На практике важно разделять причины, потому что чинятся они по-разному.
Чтобы ловить галлюцинации в тестировании, сверяют утверждения ответа с контекстом или эталоном (метрика faithfulness), проверяют, что бот честно отказывается отвечать вне базы знаний, и собирают найденные случаи в корзину регрессий.
Пример
Контекст: «Вернуть товар можно в течение 14 дней с момента получения.» Ответ бота: «Вернуть товар можно в течение 30 дней.» Вердикт судьи по faithfulness: fail (срок не подтверждается контекстом)
Как применять в тестировании ИИ
Проверяйте не только вопросы, ответ на которые есть в базе знаний, но и вопросы вне неё: корректное поведение здесь — честно сказать, что информации нет. Для диагностики подставляйте идеальный контекст: если с ним ответ верный, проблема в поиске, а не в модели.
Типичные ошибки
- Путать галлюцинацию с ошибкой поиска: бот «выдумал» факт, потому что поиск не нашёл нужный документ.
- Проверять только фразу «не знаю» и не проверять, что бот не придумывает правдоподобный ответ.
- Не добавлять пойманные случаи в корзину регрессий, и они повторяются.
Частые вопросы
Как проверить, что бот не выдумывает факты?
Сверяйте утверждения ответа с найденным контекстом метрикой faithfulness через LLM-судью и добавьте корзину вопросов вне базы знаний, где правильное поведение — отказ. Пойманные случаи сохраняйте в регрессии.
Виновата ли модель во всех галлюцинациях в RAG?
Нет. Часто поиск не приносит нужный фрагмент, и модель заполняет пробел догадкой. Проверьте это, подставив правильный фрагмент вручную: если ответ стал верным, чинить нужно поиск.
Источники
- Survey of Hallucination in Natural Language Generation — Ji Z. и др., ACM Computing Surveys, 2022 (arXiv:2202.03629)