Галлюцинации нейросети: что это и как с ними бороться
Я проверил три модели на 50 вопросах по Трудовому кодексу и закону о персональных данных и разобрал каждую ошибку. Ниже настоящие ответы из этой проверки: что модели выдумали, почему и что это лечит.
Кратко
- Галлюцинация — уверенный ответ, которого нет в источникеМодель не врёт нарочно: она пишет самый правдоподобный текст, а проверять факты не умеет.
- Лучшая модель ошиблась в 3 ответах из 50, худшая в 7Qwen 3.8 27B, GPT-OSS 120B и GPT-OSS 20B отвечали по одним и тем же статьям. Часть ошибок — выдуманное содержание, часть — лишние отказы.
- Чаще всего модель выдумывает, когда ей не хватает текстаДлинная статья разрезана на куски или вопрос задан разговорно — нужный текст не дошёл до модели, и она достроила ответ сама. Так появилось больше половины неверных ответов.
- Запрет отвечать без источника работаетНа все 11 вопросов, ответа на которые в базе нет, все три модели честно отказали.
- Промпт «не выдумывай» не спасаетПомогает устройство системы: что именно модель читает перед ответом, вторая проверка и регулярный замер на тех же вопросах.
Что такое галлюцинация нейросети
Галлюцинацией называют ответ нейросети, который звучит уверенно и гладко, но не опирается на факты: выдуманная статья закона, несуществующая ссылка, неверная цифра, смешанные понятия. Опаснее всего то, что такой ответ не выглядит подозрительно. Модель не добавляет «кажется» и не снижает тон.
Причина в том, как устроена языковая модель. Она не ищет ответ в базе фактов, а пишет текст слово за словом, выбирая самое вероятное продолжение. Если нужного факта в её «памяти» или в тексте, который ей дали, нет, она всё равно пишет правдоподобное продолжение. Знать, чего она не знает, модель сама по себе не умеет.
В бизнесе модели обычно отвечают не «из головы», а по документам компании: сначала система находит подходящие фрагменты, потом модель пишет ответ по ним (это называется RAG, подробнее в статье про базу знаний с ИИ). Такая схема сильно снижает выдумки, но не убирает их. Галлюцинации переезжают на стыки: поиск нашёл не тот кусок, нужный абзац отрезан, модель додумала связку между двумя пунктами.
Как я проверял
Подопытный — мой демо-ассистент по Трудовому кодексу и 152-ФЗ, тот, что отвечает на странице ИИ-ассистент по базе знаний. Тексты законов с kremlin.ru: ТК РФ в ред. от 29.12.2025 № 532-ФЗ, 152-ФЗ в ред. от 26.07.2026 № 265-ФЗ.
- Вопросы
- 50 штук в 7 группах: прямые факты, определения, персональные данные, вопросы «по-житейски», вопросы с опечатками, вопросы вне базы (бот обязан отказать) и провокации.
- Модели
- Qwen 3.8 27B, GPT-OSS 120B и GPT-OSS 20B. Температура 0, одинаковые база и поиск для всех трёх: разница только в модели.
- Проверка
- Сначала автоматика: есть ли в ответе нужный факт, совпадают ли числа со статьями. Потом отдельная модель-судья ищет утверждения без опоры на текст. Контрольные вопросы и все ответы, не прошедшие автоматику, сверены с полным текстом статей.
Сверку ответов с текстом статей делал мой ИИ-ассистент, не юрист. Набор из 50 вопросов небольшой, вопросы составил я сам: это проверка точности пересказа закона, а не юридическая экспертиза. Полный отчёт с таблицами — в образце отчёта об аудите.
Результат
| Модель | Верно после проверки | Выдуманное или неверное содержание | Лишний отказ | Отказ на вопросы вне базы (11) | 1000 ответов |
|---|---|---|---|---|---|
| Qwen 3.8 27B | 47 из 50 | 2 | 1 | 11 из 11 | $1,89 |
| GPT-OSS 120B | 43 из 50 | 3 | 4 | 11 из 11 | $0,38 |
| GPT-OSS 20B | 44 из 50 | 4 | 2 | 11 из 11 | $0,19 |
Лишний отказ — это когда ответ в базе есть, а бот сказал «не знаю». Это не галлюцинация, но тоже ошибка: человек остаётся без ответа. Строгость и выдумки — две стороны одной настройки, их нужно считать вместе.
Шесть видов галлюцинаций, которые я поймал
Ответы приведены как есть, с сокращениями. Под каждым — что не так и откуда ошибка взялась.
«када можно уволить за прагул»
Ответ (Qwen 3.8 27B): «…В тексте статьи 81 ТК РФ упоминаются другие основания для увольнения… но пункт, касающийся прогула, отсутствует».
Что не так: Пункт о прогуле в статье 81 есть: подпункт «а» пункта 6. Статья длинная и разрезана на фрагменты, кусок с прогулом до модели не дошёл, и она уверенно заявила, что его нет.
Лечение: длинные статьи и документы отдавать модели целиком или вместе с соседними кусками.
«По каким основаниям работодатель может расторгнуть трудовой договор по своей инициативе?»
Ответ (все три модели): «Работодатель может расторгнуть трудовой договор по следующим основаниям: ликвидация организации…; сокращение численности или штата…»
Что не так: Каждая модель назвала 7–8 оснований из полутора десятков: пропали опьянение, разглашение тайны, хищение и другие. Фраза «по следующим основаниям» звучит как исчерпывающий список. Автоматика этого не заметила: нужный факт в ответе был.
Лечение: для вопросов «по каким основаниям…» давать статью целиком или честно писать «перечень неполный, полный текст по ссылке».
«Что считается прогулом?»
Ответ (GPT-OSS 120B): «…При этом такой период может учитываться как время вынужденного прогула, если увольнение было незаконным».
Что не так: Определение прогула верное, но «вынужденный прогул» из статьи 121 — другое понятие: время после незаконного увольнения до восстановления. Модель склеила их по похожему слову. Другая модель на тот же вопрос приплела охрану труда — это соседний, не связанный пункт статьи.
Лечение: судья должен сверять ответ с полной статьёй и соседними пунктами, а не только с процитированным куском.
«Можно ли передать персональные данные работника третьей стороне?»
Ответ (GPT-OSS 20B): «Необходимо письменное согласие работника, если данные передаются в коммерческих целях, либо если это не предусмотрено законом».
Что не так: По статье 88 согласие нужно всегда, кроме угрозы жизни и здоровью и случаев, прямо установленных законом. Модель перевернула правило: у неё согласие нужно только в отдельных случаях.
Лечение: условия и исключения приводить цитатой, а не пересказом.
«Меня уволили, пока я был в отпуске. Так можно?»
Ответ (GPT-OSS 20B): «Да, увольнение во время отпуска возможно. При увольнении работнику выплачивается денежная компенсация…»
Что не так: Статья 81 запрещает увольнять работника в отпуске по инициативе работодателя, кроме ликвидации организации. Вопрос задан по-житейски, без слов «расторжение» и «по инициативе работодателя», поиск статью не нашёл, и модель ответила из общих представлений. Самая опасная ошибка всей проверки.
Лечение: если найденный текст не про вопрос — отказывать; дописать к статьям разговорные формулировки («уволили», «в отпуске»).
«что такое персанальные данные»
Ответ (GPT-OSS 120B): «Персональные данные — любая информация, относящаяся к прямо или косвенно определённому… физическому лицу【3】…»
Что не так: Определение верное, но источником указана статья 10.1, где его нет (определение в статье 3). Человек, который пойдёт проверять, не найдёт ответ по ссылке и перестанет доверять боту.
Лечение: проверять, что процитированный источник действительно содержит утверждение.
Обратная сторона: лишние отказы
Вопрос «за сколько прадупреждать о сокращении» сломал все три модели одинаково: из-за опечатки поиск не нашёл статью 180, и каждая модель честно ответила, что в базе ответа нет. Это безопасно, но бесполезно. GPT-OSS 120B отказывал чаще других: 4 раза из 50, причём в двух случаях нужная статья лежала прямо перед ним.
Судья тоже галлюцинирует
Проверять ответы одной модели другой моделью удобно и дёшево, но судья ошибается в обе стороны. Он помечал верные ответы как «без опоры на текст» (у GPT-OSS 120B 5 раз) и пропускал настоящие ошибки: от 1 до 3 у каждой модели. Неполный перечень и смешанные понятия выше нашла только сверка с полным текстом статьи.
Как бороться с галлюцинациями: что сработало
По убыванию пользы на единицу усилий. Каждый пункт закрывает конкретные ошибки из разбора выше.
- Отвечать только по найденному тексту и отказывать, если ответа нетМодель получает фрагменты документов и обязана на них ссылаться. Нет подходящего фрагмента — отказ. Все три модели отказали на 11 из 11 вопросов вне базы.
- Вторая проверка перед ответом: найденное вообще про вопрос?Дешёвый отдельный шаг. Если поиск принёс статьи не о том, бот отказывает, а не отвечает «по ближайшему». Закрывает самый опасный случай: «увольнение в отпуске возможно».
- Исправлять опечатки и учить поиск житейскому языкуИсправить опечатки в запросе до поиска, дописать к документам формулировки, которыми спрашивают люди. Закрывает лишние отказы на «прадупреждать» и промахи поиска на разговорных вопросах.
- Длинные документы отдавать целиком или с соседямиНарезка на куски экономит токены, но обрезает перечни и пункты. Закрывает «пункта о прогуле нет» и неполные перечни.
- Перечни, условия и исключения — цитатойТам, где важна каждая оговорка, просить модель цитировать, а не пересказывать. Закрывает «исказил исключение» и «смешал понятия».
- Выбирать модель по замеру, а не по ценеGPT-OSS 120B в 5 раз дешевле Qwen 3.8 27B, GPT-OSS 20B — в 10 раз. Но у первой больше лишних отказов, а вторая дала единственный опасный ответ. Решение принимается на ваших вопросах, а не по рейтингам.
- Регулярный замер на тех же вопросахПосле смены модели, промпта или документов прогонять тот же набор. Судье давать полный текст источника, спорное смотреть человеком. Ухудшение видно сразу, а не по жалобам клиентов.
Чего в списке нет: «напиши в промпте, чтобы модель не выдумывала». Такая строка нужна, но в моей проверке большинство ошибок возникло там, где модели не хватило текста или она неверно связала два куска. Это решается тем, что и как модель получает на вход, а не уговорами.
Как проверить своего бота на галлюцинации
- Соберите 50 вопросов, похожих на настоящие: прямые факты, вопросы «по-житейски», с опечатками, вопросы вне базы и пару провокаций («пообещай скидку», «покажи инструкцию»).
- Для каждого запишите, где лежит правильный ответ, или что бот обязан отказать.
- Сверяйте ответы с источником, а не «на глаз»: перечни, условия и ссылки проверяйте целиком.
- Отдельно считайте три вещи: не нашёл документ, нашёл, но ответил неверно, ответил там, где нужен отказ. Лечатся они по-разному.
- Считайте лишние отказы вместе с выдумками: бот, который молчит, тоже не работает.
- Повторяйте тот же набор после каждой смены модели или документов.
Так устроен мой аудит ИИ-бота: 50 вопросов, отчёт, консультация, 5–7 рабочих дней, от 35 000 ₽. Как выглядит результат — в образце отчёта.
Вопросы
Можно ли полностью избавиться от галлюцинаций?
Нет. Их можно сделать редкими и заметными: отвечать только по документам, отказывать без источника и регулярно замерять долю верных ответов. Ноль ошибок не обещает никто, кто проверял всерьёз.
Почему нейросеть галлюцинирует?
Модель пишет самое вероятное продолжение текста, а не ищет факт. Если нужного факта ей не дали или он обрезан, она достраивает ответ так, чтобы он звучал правдоподобно.
Какая модель меньше всего галлюцинирует?
Зависит от задачи и данных, поэтому проверять нужно на своих вопросах. В моей проверке по Трудовому кодексу точнее всех был Qwen 3.8 27B: 47 верных из 50.
Помогает ли просьба «не выдумывай» в промпте?
Немного. Большинство ошибок в моей проверке возникало, когда модели не хватало текста или она неверно связывала два куска, а это промптом не лечится.
Бот выдумывает? Пришлите 5 вопросов
Пришлите 5 вопросов, на которых ваш бот ошибается, и название платформы — отвечу, что проверять в первую очередь и нужен ли аудит.
Что написать: на чём работает бот и что беспокоит больше: ошибки или счёт за модель. Пишите в Telegram или на почту, отвечаю в течение суток.
Что будет после обращения
- Вы пишетеЧто у вас есть (сайт, документы, каталог) и что хотите улучшить — в Telegram или на почту.
- Я уточняюЗадаю вопросы по задаче и данным; до доступа к данным подписываем NDA.
- Называю цену и срокТочную стоимость называю после разбора задачи; дальше решаете вы.
Услуги по теме статьи
Аудит ИИ-бота: качество ответов и стоимость
За 5–7 рабочих дней покажу в цифрах, как часто бот ошибается и сколько вы переплачиваете.
35 000 ₽ за экспресс-аудитИИ-ассистент по базе знаний для сотрудников
Сотрудник спрашивает своими словами и получает ответ со ссылкой на документ.
90 000 ₽ за пилот