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