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