Что происходит с технической точки зрения
Языковая модель не хранит факты в виде записей, которые можно проверить. Она предсказывает продолжение текста: на каждом шаге выбирает следующий фрагмент, опираясь на статистические закономерности, усвоенные при обучении. Правдоподобность и правдивость для этого процесса — разные вещи, и оптимизируется первая.
Поэтому «я не знаю» — статистически редкое продолжение: в текстах, на которых училась модель, на заданный вопрос почти всегда следует ответ. Модель воспроизводит эту закономерность и уверенно достраивает недостающее, как достраивает окончание слова.
Почему это называют не багом
Тот же механизм даёт полезные свойства: способность перефразировать, обобщать, работать с задачами, которых не было в обучении, достраивать смысл по неполному описанию. Модель, физически неспособная сказать ничего сверх усвоенных текстов, была бы бесполезна как ассистент.
Практический вывод не в том, чтобы смириться, а в том, чтобы перестать искать волшебную настройку и начать проектировать систему, в которой выдуманный ответ дорого выживать.
Пять типов галлюцинаций, которые ведут себя по-разному
- Выдуманный факт: несуществующий пункт регламента, статья закона, номер версии. Самый опасный тип в корпоративных задачах.
- Выдуманный источник: ссылка или название документа, которых нет. Проверяется автоматически — существование источника легко подтвердить.
- Смешение источников: два реальных документа склеены в один ответ, из-за чего условие одного применяется к предмету другого.
- Устаревшее знание, поданное как текущее: модель отвечает по состоянию на момент обучения.
- Вымышленное рассуждение: правильный ответ с неверным обоснованием. Встречается чаще, чем думают, и почти не ловится проверкой финального ответа.
Что действительно снижает долю выдуманного
Дать модели источник и требовать цитату
Ответ, собранный по найденным фрагментам, с обязательной ссылкой на них — базовая мера. Она не устраняет проблему, но переводит её в проверяемую форму: если цитаты нет или она не подтверждает утверждение, ответ отбраковывается до того, как его увидит человек.
Проверять существование того, что модель назвала
Номера документов, артикулы, идентификаторы, ссылки, имена таблиц — всё это можно сверить с реальными системами программно. Такая проверка ловит целый класс галлюцинаций без участия человека и стоит копейки по сравнению с последствиями.
Разрешить отказ и вознаграждать его
Система должна иметь явный путь «в источниках этого нет». Его нужно проверять специально: в наборе тестовых вопросов обязаны быть такие, на которые правильный ответ — отказ. Без них модель будет получать хорошие оценки за уверенное сочинение.
Сузить задачу
Чем шире вопрос, тем больше свободы у модели достраивать. Разбиение на узкие шаги с проверяемым результатом снижает долю выдуманного сильнее, чем любые инструкции в промпте.
Детерминированные ограничения на выходе
Формат ответа, допустимые значения, диапазоны, обязательные поля — проверяются кодом, а не просьбой к модели. Всё, что критично, должно быть невозможно нарушить, а не нежелательно нарушать.
Что создаёт лишь ощущение контроля
- «Отвечай только правду» в промпте: инструкция влияет на стиль, но не на механизм предсказания.
- Просьба указать уверенность в процентах: модель сочиняет и её — числа не связаны с реальной вероятностью ошибки.
- Проверка ответа той же моделью на тех же данных: она склонна согласиться. Нужен независимый источник истины — документ, расчёт, запрос к системе.
- Более крупная модель: снижает частоту, но повышает убедительность ошибок. Проверять становится труднее.
- Понижение температуры: делает вывод стабильнее, но стабильно неверный ответ остаётся неверным.
Как измерять
Без измерения любая мера — вопрос веры. Минимальный рабочий набор метрик на фиксированном наборе вопросов с эталонами:
- доля ответов, полностью подтверждаемых приведёнными источниками;
- доля ответов со ссылкой на несуществующий или нерелевантный источник;
- доля корректных отказов на вопросах, ответа на которые в данных нет;
- доля ошибочных отказов — обратная сторона, за которой надо следить, иначе система станет бесполезно осторожной;
- доля верных ответов с неверным обоснованием — ловится только выборочной ручной проверкой рассуждений.
Эти цифры снимаются заново при каждой смене модели, промпта или правил поиска. Поведение моделей меняется между версиями, и система, работавшая вчера, может тихо деградировать после обновления.
Как это выглядит в проекте
- До разработки: собрать 30–50 реальных вопросов с эталонными ответами, включая те, где правильный ответ — отказ.
- В архитектуре: обязательное цитирование, программная проверка идентификаторов, детерминированные ограничения формата, журнал решений.
- На пилоте: подтверждение человеком там, где цена ошибки высока; замер метрик на реальном потоке.
- В эксплуатации: регрессионный прогон набора при каждом изменении и мониторинг доли отказов — её рост обычно первый признак того, что что-то сломалось в поиске.