Роман «Солярис» написал Артур Кларк в 1972 году — именно такой ответ может выдать языковая модель на простой вопрос о классике фантастики. Когда пользователь указывает на ошибку, модель соглашается, благодарит за поправку и повторяет неверный год, добавив для убедительности факт про экранизацию Тарковского. Это не случайность и не недоработка конкретного продукта.
LLM — это не база данных и не поисковик. Внутри модели нет переменной knows_answer = True/False и нет самих обучающих текстов. Есть статистические паттерны: веса, которые определяют, какой токен (фрагмент слова) вероятнее всего следует за предыдущими. Когда модель отвечает на вопрос, она не «вспоминает» факт — она генерирует правдоподобное продолжение текста. Если нужного паттерна в обучающей выборке не было, модель всё равно обязана что-то выдать: она цепляется за ближайшие по контексту имена, даты, термины и складывает из них связный, но ложный ответ.
| Подход | Как работает | Уровень галлюцинаций |
|---|---|---|
| Чистая генеративная модель | Предсказывает токены по статистическим паттернам | 30–40% |
| RAG-система | Ищет ответ в базе документов, генерирует на основе найденного | менее 10% |
| Самооценка уверенности | Модель оценивает уверенность; при низком показателе ответ скрывается | снижается |
| Верификатор | Вторая модель проверяет первую на противоречия фактам | снижается |
Почему после замечания становится хуже — отдельный механизм. Здесь работают три фактора одновременно. Первый — паттерн вежливости: современные модели обучены извиняться и переписывать ответ, если пользователь выражает недовольство, но они не понимают, что именно менять. Второй — отсутствие внутреннего компаса истинности: модель видит только новое сообщение и свой предыдущий текст, у неё нет памяти вида «я сказал X, это было неверно, правильно Y». Третий — эффект повышенной температуры генерации: при повторных запросах модели нередко увеличивают случайность выбора токенов, чтобы не повторить тот же ответ. Менее вероятные токены — это более «творческие», но ещё менее достоверные варианты.
После замечания пользователя модель не исправляет ошибку, а генерирует другой текст — паттерн вежливости заставляет согласиться, не понимая, что менять.
Рабочее решение, доступное уже сейчас, — RAG (Retrieval-Augmented Generation). Принцип прост: прежде чем генерировать ответ, модель ищет релевантный фрагмент в заранее подготовленной базе документов. Нашла — генерирует на основе найденного. Не нашла — может честно сообщить «не знаю». Именно так ведёт себя ИИ-ассистент из документации Apache Superset: на бессмысленный вопрос о несуществующем файле «выщ-мыщ-пыщ-дыщ» он ответил отказом, тогда как DeepSeek без RAG уверенно назвал конкретный путь в исходниках. По данным из материала, RAG-системы снижают долю галлюцинаций на фактологических вопросах с 30–40% у чистых генеративных моделей до менее 10%.
Помимо RAG существуют и другие методы снижения галлюцинаций. Самооценка уверенности — когда модель выдаёт не только ответ, но и числовую оценку своей уверенности, и при низком показателе ответ просто не показывается пользователю. Верификатор — отдельная небольшая модель, которая проверяет основную на противоречия известным фактам. Все эти подходы снижают проблему, но не устраняют её полностью: пока в основе лежит токенная генерация, вероятность ошибки остаётся ненулевой.
Практический способ проверить, с чем вы имеете дело: задайте модели заведомо бессмысленный вопрос — о несуществующем объекте или явлении. Если модель уверенно ответила — перед вами чистая генеративная система без верификации по базе. Если отказалась или честно призналась в незнании — скорее всего, RAG. Это не гарантия точности базы знаний, но исключает целый класс выдуманных ответов.


