Почему ИИ всё ещё врёт, хотя модели стали в разы умнее

Есть у современных нейросетей одно качество, которое меня одновременно восхищает и бесит.

Она может двадцать минут совершенно нормально разбирать сложную архитектуру сервиса, замечать связи между кусками кода, предлагать разумные решения — а потом ты задаёшь какой-нибудь простой вопрос о конкретном факте, и она с абсолютно спокойной рожей придумывает человека, документ, дату и ссылку.

Причём делает это красиво.

Без:

«Саныч, сейчас я немного пофантазирую».

Нет.

Она отвечает так, будто лично присутствовала при подписании документа и потом ещё ходила с автором пить кофе.

И самое неприятное — чем умнее стали модели, тем убедительнее выглядит ошибка.

Галлюцинации никуда не делись

Сам термин мне не очень нравится.

Человек при галлюцинации обычно действительно что-то воспринимает.

Языковая модель ничего не «видит». Она просто генерирует продолжение, которое статистически хорошо подходит к предыдущему тексту.

Но термин прижился.

OpenAI определяет галлюцинации как правдоподобные, но ложные утверждения, которые генерирует языковая модель. И отдельно признаёт: даже у существенно более сильных современных моделей проблема остаётся. Например, GPT-5 показала заметно меньшую частоту галлюцинаций, особенно в режиме рассуждения, но до нуля они не исчезли.

То есть схема:

модель стала умнее → теперь всегда говорит правду

не работает.

Она стала реже ошибаться.

Это не одно и то же.

Потому что нейросеть вообще обучалась не отвечать правду

Вот здесь спрятано главное недоразумение.

Мы смотрим на ChatGPT, Claude или Gemini и думаем:

Я задал вопрос. Значит, система сейчас ищет правильный ответ.

Но базовая механика языковой модели исторически устроена иначе.

На этапе предварительного обучения она учится предсказывать продолжение текста. Ей показывают огромное количество примеров языка, и она постепенно становится невероятно хороша в задаче:

что логично должно идти дальше?

OpenAI в исследовании о происхождении галлюцинаций приводит очень понятную мысль: в обычных текстах нет маленьких ярлыков «этот факт правда» / «этот факт ложь». Модель прежде всего видит примеры связного языка и учится воспроизводить его распределение.

А связный ответ и правильный ответ — разные вещи.

Например:

Иван Петров родился в…

После этой конструкции очень естественно должно появиться:

1974 году.

И если модель действительно знает Ивана Петрова — прекрасно.

А если не знает?

Форма предложения от этого никуда не делась.

И вот здесь начинается магия.

Самые опасные факты — скучные и редкие

Модель прекрасно знает общие закономерности.

После открытия кавычки надо когда-нибудь закрыть кавычку.

Столица Франции — Париж.

У Земли есть Луна.

Вода состоит из водорода и кислорода.

Такие связи встречаются постоянно и очень устойчивы.

Совсем другое дело:

Как называлась кандидатская диссертация малоизвестного учёного в 1987 году?

или:

Какого числа родился человек, о котором в интернете есть пять упоминаний?

Там уже почти нечего выводить из закономерностей.

В статье OpenAI есть прекрасный пример: исследователи спрашивали чат-бот о названии диссертации одного из авторов исследования и получили три разных уверенных ответа — все неправильные. С датой рождения получилось примерно то же самое.

Вот это очень характерная ситуация.

Модель не думает:

«Я не нашла дату рождения».

Она может решить:

«После этих слов очень хорошо смотрится дата».

И выдаёт её.

Но почему она тогда просто не говорит «не знаю»?

Вот.

Это один из самых интересных вопросов.

И ответ оказался довольно неприятным: долгое время сама система оценки моделей фактически поощряла угадывание.

Представьте тест.

За правильный ответ — один балл.

За неправильный — ноль.

За:

«Я не знаю»

— тоже ноль.

Что выгоднее?

Угадать.

Если вероятность правильного ответа хотя бы 10%, угадывающий участник на длинной дистанции получит больше баллов, чем тот, кто честно оставляет неизвестные вопросы пустыми.

OpenAI показала этот эффект на SimpleQA. В приведённом ими сравнении одна модель значительно чаще отказывалась отвечать, когда была не уверена, и благодаря этому допускала намного меньше ошибок; более склонная угадывать модель формально имела немного выше точность, но гораздо чаще выдавала ложные ответы.

То есть мы много лет говорили машинам:

Лучше попробуй ответить, чем признайся, что не знаешь.

А потом удивились:

Что ж ты, зараза, выдумываешь?

Поэтому «уверенность» ИИ почти ничего не значит

Это очень важная привычка.

У человека манера речи часто несёт дополнительную информацию.

— Кажется, это произошло в 1997-м.

Одно.

— Это совершенно точно произошло 14 сентября 1997 года.

Совсем другое.

От второго ответа мы автоматически ожидаем большей надёжности.

С нейросетью этот механизм опасен.

Она может одинаково гладко сформулировать и твёрдый факт, и прекрасную выдумку.

У текста нет встроенной лампочки:

🟢 здесь знаю;

🟡 здесь предполагаю;

🔴 здесь сейчас красиво наврал.

Поэтому фраза:

«Да, согласно исследованию Университета Стэнфорда 2024 года…»

сама по себе вообще ничего не доказывает.

Пока вы не увидели исследование.

Более того, если попросить:

дай источник,

плохо настроенная система способна поверх первого выдуманного факта построить второй этаж художественной литературы и придумать подходящую ссылку.

Красиво же должно быть.

Reasoning помогает. Но волшебной сывороткой правды не является

С появлением reasoning-моделей возникло понятное ожидание:

Ну теперь-то она сначала подумает и перестанет фантазировать.

Действительно, дополнительное рассуждение помогает во многих задачах. OpenAI прямо пишет, что у GPT-5 галлюцинаций стало существенно меньше, особенно при использовании reasoning. Но одновременно подчёркивает: они всё равно случаются.

Причина довольно очевидна.

Можно десять минут безупречно рассуждать из неправильной исходной посылки.

Например:

Мы знаем, что Сергей родился в 1978 году…

А мы этого вообще не знаем.

Дальше логика может быть идеальной.

Только весь красивый дворец стоит на фундаменте, который модель сама нарисовала.

Интеллект и фактическая осведомлённость — не одно и то же.

Хорошо. Тогда дадим ей интернет

Это следующий логичный шаг.

И он реально помогает.

Когда модель получает возможность искать актуальную информацию, вероятность того, что ей придётся вытаскивать редкий факт из собственных параметров, сильно снижается.

Google, например, прямо рекомендует использовать Grounding with Google Search для уменьшения фактических ошибок: модель получает текущую информацию из веба и может давать проверяемые источники.

Но здесь есть важное слово:

уменьшения.

Не уничтожения.

Потому что теперь у нас появляется новая цепочка:

найти источник → понять источник → выбрать нужный кусок → правильно интерпретировать → сформулировать ответ.

И ошибиться можно на любом этапе.

Поиск нашёл не тот документ.

Документ устарел.

Источник плохой.

Модель прочитала таблицу неправильно.

Вытащила предложение без контекста.

Смешала два источника.

Сделала из осторожного:

«возможно связано»

уверенное:

«учёные доказали».

То есть интернет лечит одну проблему и добавляет несколько новых мест, где можно красиво промахнуться.

RAG тоже не является святой водой

Сейчас очень распространён подход:

Мы подключили к ИИ собственную базу знаний, значит, галлюцинаций больше нет.

Хотелось бы.

RAG — Retrieval-Augmented Generation — действительно очень полезная архитектура.

Вместо того чтобы требовать от модели помнить всё, система сначала находит подходящие документы, а затем даёт их модели вместе с вопросом.

Например:

клиент спрашивает условия гарантии;

система находит актуальный документ;

ИИ формирует ответ по нему.

Это гораздо надёжнее, чем надеяться, что модель каким-то чудом знает правила именно вашей компании.

Но остаётся одна маленькая проблема.

А если система достала не тот документ?

Или нужный фрагмент не попал в контекст?

Или попало пять документов, три из которых устарели?

Или пользователь спросил о том, чего в базе вообще нет?

Anthropic в своей документации по борьбе с галлюцинациями прямо рекомендует не только давать модели документы, но и заставлять её сначала находить подтверждающие цитаты, проверять утверждения по источникам и отзывать утверждение, если подтверждение найти не удалось. И отдельно предупреждает: такие техники снижают количество галлюцинаций, но полностью их не устраняют.

То есть даже схема:

вот тебе официальный документ, отвечай только по нему

не является стопроцентной гарантией.

Хотя уже намного лучше, чем:

вспомни что-нибудь подходящее.

«Не знаешь — скажи, что не знаешь» работает удивительно хорошо

Это вообще один из самых дешёвых способов повысить надёжность системы.

Anthropic прямо рекомендует разрешать Claude говорить «я не знаю», когда информации недостаточно.

Звучит почти смешно.

Мы строим модели за миллиарды долларов.

Миллиарды параметров.

Огромные дата-центры.

Сложнейшее обучение.

А потом одна из важных инструкций:

Только, пожалуйста, если не знаешь — не выдумывай.

😁

Но в реальных системах это принципиально.

Особенно когда ИИ работает не в чате для развлечения, а с клиентами.

Я гораздо охотнее получу от ИИ-продавца:

«У меня нет информации о точном сроке монтажа. Я передам вопрос специалисту».

чем:

«Монтаж обычно занимает 2–3 дня».

Звучит второй ответ лучше.

Пока монтажники не узнают, что искусственный коллега уже всем составил производственный график.

Ещё лучше — заставить одного ИИ не доверять другому

Вот здесь мы приходим к архитектуре, которую я сейчас люблю всё больше.

Не просить одну модель:

ответь правильно.

А разделить роли.

Первая собирает информацию.

Вторая пишет черновик.

Третья получает список утверждений и спрашивает:

Чем это подтверждается?

Если подтверждения нет — утверждение вылетает или помечается как сомнительное.

Anthropic среди методов снижения галлюцинаций рекомендует повторную проверку ответа, сравнение нескольких генераций и верификацию утверждений по источникам.

Это уже похоже не на магию, а на обычную редакцию.

Журналист написал.

Фактчекер проверил.

Редактор спросил:

Откуда ты это взял?

Журналист тяжело вздохнул.

И пошёл искать источник.

Только журналист теперь кремниевый.

И всё равно стопроцентной гарантии не будет

Вот с этим, на мой взгляд, просто надо смириться.

Google в своих рекомендациях для разработчиков прямо пишет: даже после тестирования и мер снижения риска невозможно гарантировать идеальную работу, поэтому систему надо проектировать так, чтобы проблемы обнаруживались и обрабатывались.

И это намного здоровее идеи:

Сейчас выйдет следующая модель, и больше ничего проверять не понадобится.

Не выйдет.

Точнее, модель выйдет.

А необходимость думать останется.

Просто граница будет постоянно отодвигаться.

Сегодня мы проверяем десять фактов из двадцати.

Завтра — один из двадцати.

Но если этот один касается договора на десять миллионов рублей, мне как-то всё равно, что предыдущие девятнадцать модель решила идеально.

Поэтому вопрос не в том, врёт ли ИИ

Врёт.

Иногда.

Разные модели — с разной частотой.

В разных задачах — по-разному.

Поиск снижает риск.

Reasoning снижает риск.

Хороший промпт снижает риск.

RAG снижает риск.

Фактчекинг снижает риск.

Несколько независимых моделей снижают риск.

Но правильная система строится не вокруг надежды:

ИИ не ошибётся.

А вокруг предположения:

Рано или поздно ошибётся. Что произойдёт после этого?

Вот это уже гораздо более полезный вопрос.

Если цена ошибки — смешной факт в развлекательном посте, можно жить довольно свободно.

Если речь о цене для клиента, договоре, медицинской информации, финансах или управлении реальной системой — требования совсем другие.

И чем серьёзнее последствия, тем меньше мне нравится архитектура:

один запрос → один красивый ответ → сразу выполнить.

Самая умная нейросеть — всё равно не база данных

Наверное, это главный вывод.

Мы почему-то хотим одновременно получить от одной системы:

творчество;

понимание языка;

рассуждение;

память;

поиск;

точную базу фактов;

калькулятор;

эксперта;

секретаря;

и желательно чтобы никогда не ошибалась.

Так не бывает.

Нейросеть великолепна именно потому, что умеет работать там, где обычные программы слишком жёсткие.

Понять криво сформулированную мысль.

Собрать текст.

Найти смысл.

Предложить вариант.

Увидеть связь.

Но за эту гибкость мы пока платим вероятностностью результата.

Поэтому я уже практически перестал задавать вопрос:

«Можно ли доверять этой модели?»

Слишком общий.

Гораздо полезнее:

«Что именно я ей сейчас доверяю и чем проверю результат?»

Вот тогда внезапно становится понятно, где ИИ можно спокойно отпускать работать самому.

А где рядом всё-таки лучше оставить взрослого.

Потому что модель действительно стала намного умнее.

Просто умный — ещё не означает безошибочный.

Иногда это означает всего лишь, что теперь она намного талантливее объясняет, почему её выдумка совершенно точно является правдой.

И вот об этом забывать точно не стоит.