3,583 papers
arXiv:2512.14801 71 16 дек. 2025 г. FREE

Структурная природа галлюцинаций: почему LLM не может сама решить, когда молчать

КЛЮЧЕВАЯ СУТЬ
Парадокс: Пишешь модели "скажи когда не знаешь" – она отвечает уверенно и врёт. Пишешь "будь осторожнее" – меняется тон, не точность. Исследование объясняет почему: у трансформера нет механизма определить границы своего знания. Он архитектурно обязан генерировать следующий токен. Его "уверенность" (softmax-вероятности) показывает плотность паттернов в данных, а не доступ к истине. Когда модель говорит "я не уверена" – это сгенерированный ответ из паттернов, не результат проверки внутреннего состояния "знаю/не знаю". Такого состояния просто не существует. Авторы показали: галлюцинации исчезли только при внешней валидации (код с базами знаний) – 0 ложных ответов vs постоянные галлюцинации при промптах про осторожность. Это не баг оптимизации, а архитектурная особенность.
Адаптировать под запрос

TL;DR

OpenAI утверждает, что галлюцинации в LLM — это проблема неправильных стимулов в обучении: модель наказывают одинаково за воздержание от ответа и за ошибку, поэтому она учится отвечать уверенно даже когда не уверена. Авторы статьи оспаривают это, заявляя что галлюцинации — не баг оптимизации, а архитектурная неизбежность трансформеров. LLM не представляет мир — она моделирует статистические ассоциации между токенами в "псевдо-онтологии" из языковых co-occurrence паттернов, а не из референциальных связей с реальностью.

Трансформер обязан генерировать продолжение — у него нет внутреннего механизма для определения "знаю/не знаю". Его "уверенность" (softmax-вероятности) отражает плотность паттернов в embedding-пространстве, а не эпистемический доступ к истине. На онтологических границах — там где данных мало или паттерны неполные — модель интерполирует вымышленные продолжения, чтобы сохранить связность. Нет механизма распознать переход от паттерна к фальши.

Авторы провели эксперименты с Licensing Oracle — внешним модулем валидации истины через структурированные онтологии (knowledge graphs, SHACL-схемы). Oracle проверяет каждый факт и заставляет модель воздерживаться, если ответ не проходит валидацию. Результат на двух датасетах: 0 ложных ответов, идеальная точность воздержания. Галлюцинации исчезли не от изменения промптов или incentives, а от добавления внешней архитектурной компоненты, которая выполняет функцию, недоступную трансформеру — различение истины от связного вымысла.


📌

Схема концепции

ПРОБЛЕМА: LLM галлюцинирует

OpenAI объясняет:
└─ Неправильные стимулы → модель учится угадывать
└─ Решение: изменить бенчмарки, поощрять неуверенность

Авторы объясняют:
└─ Архитектура трансформера:
    ├─ Обязан генерировать токен (нет механизма воздержания)
    ├─ "Знает" только статистику, не факты
    ├─ "Уверенность" = плотность паттернов, не epistemic access
    └─ На границах паттернов → интерполяция вымысла

└─ Решение: внешняя валидация
    └─ Licensing Oracle: проверка → воздержание → 0 галлюцинаций

📌

Ключевые инсайты для работы с LLM

📌

1. Почему "скажи когда не уверена" не работает

LLM не имеет эпистемического доступа к собственному "знанию". Когда вы пишете "Ответь только если уверена, иначе скажи 'не знаю'", модель не проверяет внутреннее состояние "знаю/не знаю" — такого состояния не существует.

Она видит паттерн в промпте: "если условие X, то Y". Дальше генерирует токены, которые статистически сочетаются с этим паттерном. Если в обучающих данных часто встречалось "я не знаю" в похожих контекстах — выдаст это. Если чаще встречались уверенные ответы — выдаст факт (даже выдуманный).

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

📌

2. "Уверенность" модели ≠ эпистемическая уверенность

Когда LLM выдаёт ответ с высокой "уверенностью" (высокие вероятности токенов), это означает: "в моих данных этот паттерн встречается часто", а не "я проверила и это точно правда".

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

Практический вывод: Не полагайтесь на "tone of confidence" в ответе. Уверенная формулировка часто означает только плотный паттерн, не валидацию факта.

📌

3. Генерация обязательна, воздержание — надстройка

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

Практический вывод: Если задача критична к фактам — используйте внешнюю валидацию, не надейтесь на самоконтроль модели.

📌

4. Онтологические границы — зона максимального риска

Онтологическая граница — место, где: - Данных обучения мало (узкие домены, новые события) - Паттерны неполные (пересечение редких концептов) - Информация противоречива (разные источники говорят разное)

Здесь модель обязана интерполировать, чтобы сохранить связность ответа. Она заполняет пробелы вымышленными, но правдоподобными деталями.

Практический вывод: - Проверяйте факты в малоизвестных темах особенно тщательно - Если тема на пересечении доменов — риск галлюцинаций выше - Новые события после даты обучения — гарантированная зона интерполяций


📌

Принцип внешней валидации

Авторы показали: галлюцинации исчезают только при архитектурном разделении: - LLM = генератор (создаёт связный текст) - Oracle = валидатор (проверяет истину, блокирует ложь)

В их экспериментах Oracle — это код с базой знаний. Но принцип применим вручную в чате:

📌

Техника "Человек как Oracle"

Шаг 1: Генерация

Ответь на вопрос: {вопрос}

Структурируй ответ так:
- Основное утверждение
- Ключевые факты (каждый с пометкой [проверяемый])
- Выводы

Шаг 2: Валидация (вручную) Вы проверяете помеченные факты через внешние источники (Wikipedia, официальные данные, документы).

Шаг 3: Коррекция

Я проверил факты. Исправления:
- [Факт X] → неверно, на самом деле {правильная версия}
- [Факт Y] → подтверждён

Перепиши ответ с учётом проверенных данных.

Результат: LLM хорошо переписывает с учётом валидированных данных — это её сильная сторона (генерация на основе контекста). Вы выполняете роль Oracle — различаете истину от правдоподобия.


📌

Техника "Два запроса — генерация и проверка"

Запрос 1 (генерация):

{твоя задача}

Выдай ответ со списком всех фактов, которые можно проверить.

Запрос 2 (в новом чате или после разделителя):

Я получил ответ с утверждениями. Для каждого укажи:
- Можно ли проверить?
- Если да — где искать источник?
- Оцени риск галлюцинации (высокий/средний/низкий) для этого типа информации

Список утверждений:
{скопировать из первого ответа}

Почему это работает: - Второй запрос использует другой паттерн — не генерацию факта, а мета-рассуждение о проверяемости - Модель хорошо знает, какие типы информации чаще галлюцинируются (даты, цитаты, малоизвестные имена) - Вы получаете "карту рисков" для проверки


⚠️

Ограничения и что НЕ работает

⚠️ Промпт-инженерия не устраняет структурную проблему: Любые инструкции про осторожность, неуверенность, воздержание — это изменение стиля генерации, не появление способности различать истину. Модель научится говорить "я не уверена", но не обретёт механизм определения, когда это говорить.

⚠️ "Uncertainty calibration" — иллюзия: Если OpenAI или другие улучшат модель так, что она чаще говорит "не знаю" — это снизит частоту галлюцинаций, но не устранит причину. В критических точках модель всё равно будет генерировать правдоподобную ложь.

⚠️ Внешняя валидация требует усилий: Licensing Oracle работает автоматически, потому что это код. Вручную проверять факты — долго. Техника применима для критически важных задач, не для всех ответов подряд.

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


📌

Почему это важно

Эта статья даёт mental model для работы с LLM, который отличается от интуитивного:

Интуитивная модель (неправильная): - LLM "знает" факты → иногда "ошибается" → надо научить "быть честнее" - Галлюцинации = недостаток обучения или неправильные стимулы

Структурная модель (правильная): - LLM генерирует связные паттерны → не различает факт от правдоподобия → архитектурная особенность - Галлюцинации = неизбежное следствие работы по паттернам без референциального доступа к миру

Это меняет подход: - Не "попроси модель быть осторожнее", а "создай процесс с внешней проверкой" - Не "настрой промпт чтобы не галлюцинировала", а "используй LLM для генерации, себя — для валидации" - Не "жди что в будущих версиях исправят", а "проектируй workflow с учётом архитектурных ограничений"


📌

Как это исследовали

Авторы не проводили новых экспериментов — это теоретическая работа-критика позиции OpenAI, опирающаяся на их предыдущие публикации.

Структурный анализ: В первой работе (How Large Language Models Are Designed to Hallucinate) они описали трансформер как coherence engine — систему, оптимизированную на генерацию связного продолжения, а не на проверку истины. Ключевая идея: embedding-пространство формируется через co-occurrence слов в текстах, а не через референциальные связи с миром. Возникает псевдо-онтология — сеть близостей, которая отражает текстовые паттерны, но не означает понимание. "Сократ", "Платон", "Афины" оказываются рядом потому что часто встречаются вместе, не потому что модель понимает их исторические связи.

Эмпирическая проверка: Во второй работе (Stemming Hallucination Using a Licensing Oracle) они построили систему с внешней валидацией. Licensing Oracle — это модуль, который: - Получает ответ от LLM - Проверяет каждое утверждение через structured knowledge base (графы знаний, SHACL-схемы) - Блокирует ответ, если факт не проходит валидацию - Заставляет модель воздержаться

Тестировали на двух датасетах: U.S. Rivers (географические факты) и Philosophers (биографические и концептуальные связи). В обоих случаях — идеальная точность воздержания (когда Oracle пропускает ответ, он всегда верен) и 0 ложных ответов (False Answer Rate = 0). Стабильность между доменами (<2% вариации) показала, что работает именно архитектурное решение, а не специфика данных.

Почему выводы убедительны: Главная находка — галлюцинации исчезли полностью, но только при добавлении внешней компоненты. Сама модель продолжала галлюцинировать даже при промптах с инструкциями про осторожность. Это противоречит тезису OpenAI: если бы проблема была в incentives, модель бы улучшилась от промптов, поощряющих воздержание. Но она не улучшилась — потребовалась внешняя архитектура.

Авторы используют эту комбинацию (теория + эмпирика + критика OpenAI) чтобы показать: галлюцинация — это не optimization artifact (побочный эффект обучения), а structural property (свойство архитектуры).


🔗

Ресурсы

Основная работа: Incentives or Ontology? A Structural Rebuttal to OpenAI's Hallucination Thesis Richard Ackermann (RA Software, San Diego), Simeon Emanuilov (Sofia University "St. Kliment Ohridski")

Предыдущие работы авторов (цитируются в статье): - How Large Language Models Are Designed to Hallucinate — структурный анализ природы галлюцинаций - Stemming Hallucination in Language Models Using a Licensing Oracle — эмпирическая проверка с системой внешней валидации

Что критикуют: OpenAI paper (сентябрь 2025) о том, что галлюцинации возникают из misaligned evaluation incentives


📋 Дайджест исследования

Ключевая суть

Парадокс: Пишешь модели "скажи когда не знаешь" – она отвечает уверенно и врёт. Пишешь "будь осторожнее" – меняется тон, не точность. Исследование объясняет почему: у трансформера нет механизма определить границы своего знания. Он архитектурно обязан генерировать следующий токен. Его "уверенность" (softmax-вероятности) показывает плотность паттернов в данных, а не доступ к истине. Когда модель говорит "я не уверена" – это сгенерированный ответ из паттернов, не результат проверки внутреннего состояния "знаю/не знаю". Такого состояния просто не существует. Авторы показали: галлюцинации исчезли только при внешней валидации (код с базами знаний) – 0 ложных ответов vs постоянные галлюцинации при промптах про осторожность. Это не баг оптимизации, а архитектурная особенность.

Принцип работы

Не полагайся на самоконтроль модели – создавай процесс с разделением ролей. Трансформер генерирует связные продолжения по статистическим паттернам из обучающих текстов. Он не проверяет "правда ли это" – такой функции нет в архитектуре. Когда данных мало (узкие темы, новые события, пересечения доменов) – модель на онтологических границах: паттерны неполные, но генерация обязательна. Результат: интерполяция вымышленных, но правдоподобных деталей для сохранения связности. Единственное решение – вынести проверку наружу: LLM генерирует, внешняя система (код или человек) валидирует. Промпты меняют стиль ответа, архитектура не даёт способность различать истину от связного вымысла.

Почему работает

Трансформер строит псевдо-онтологию из co-occurrence слов в текстах, а не из связей с реальным миром. "Сократ", "Платон", "Афины" оказываются рядом в embedding-пространстве потому что часто встречались вместе в данных – не потому что модель понимает их исторические отношения. Модель моделирует статистику языка, не референциальные связи с фактами. Её "знание" = плотность паттернов. Высокая "уверенность" означает "этот паттерн частый", не "я проверила и это точно правда". В экспериментах авторов Licensing Oracle (внешний модуль с графами знаний и SHACL-схемами) проверял каждое утверждение и блокировал ответ если факт не проходил валидацию. Результат на двух датасетах: идеальная точность, 0 ложных ответов, стабильность между доменами (<2% вариации). Галлюцинации исчезли не от промптов, а от добавления функции, которой нет у трансформера – различение истины от правдоподобия.

Когда применять

Для задач где факты критичны → проверка документов, биографии, технические данные, медицинская информация. Особенно когда работаешь на онтологических границах: узкие домены с малым количеством данных, новые события после даты обучения модели, пересечения редких концептов. НЕ подходит для креативных задач где точность фактов не важна (генерация идей, brainstorming, художественные тексты).

Мини-рецепт

Техника "Человек как Oracle" (разделение генерации и валидации):

1. Генерация с пометками: Ответь на вопрос: {вопрос}. Структурируй так: основное утверждение, ключевые факты (каждый с пометкой [проверяемый]), выводы

2. Валидация вручную: Проверяешь помеченные факты через внешние источники (Wikipedia, официальные данные, документы). Модель хорошо генерирует структуру – ты выполняешь функцию различения истины от правдоподобия.

3. Коррекция: Я проверил факты. Исправления: [Факт X] → неверно, на самом деле {правильная версия}. [Факт Y] → подтверждён. Перепиши ответ с учётом проверенных данных

Альтернатива – "Два запроса":

Запрос 1: {задача}. Выдай ответ со списком всех фактов которые можно проверить

Запрос 2 (новый чат): Я получил ответ с утверждениями. Для каждого укажи: можно ли проверить, где искать источник, оцени риск галлюцинации (высокий/средний/низкий) для этого типа информации. Список: {скопировать из первого}

Получаешь "карту рисков" – модель хорошо знает какие типы информации чаще галлюцинируются (даты, цитаты, малоизвестные имена).

Примеры

[ПЛОХО] : Расскажи биографию учёного Джона Смита из MIT. Будь точным, скажи "не знаю" если не уверена (Модель выдаст связную биографию – реальную или выдуманную, инструкция про осторожность не включает механизм проверки фактов)
[ХОРОШО] : Шаг 1: Расскажи биографию учёного Джона Смита из MIT. Выдели каждый проверяемый факт: [год рождения], [университет], [публикации], [награды] Шаг 2: Проверяешь через MIT faculty directory, Google Scholar, Wikipedia Шаг 3: Проверка: [год рождения 1975] – неверно, на самом деле 1978 по MIT records. [публикация "XYZ" 2020] – подтверждена. [награда Тьюринга] – не найдена, возможно галлюцинация. Перепиши биографию только с проверенными фактами, для непроверенных укажи "данные не подтверждены"
Источник: Incentives or Ontology? A Structural Rebuttal to OpenAI's Hallucination Thesis
ArXiv ID: 2512.14801 | Сгенерировано: 2026-01-09 00:36

Проблемы LLM

ПроблемаСутьКак обойти
LLM не определяет границы знания — даже по запросуПромпт "отвечай только если уверена, иначе скажи не знаю" — модель всё равно генерирует (иногда выдуманное); трансформер архитектурно обязан выдать токен, нет механизма определить "знаю/не знаю" — инструкция про осторожность создаёт новый паттерн для генерации, но не способность к воздержанию; Licensing Oracle (внешняя валидация) 0 галлюцинаций vs промпты про осторожность не помоглиНе полагайся на самоконтроль модели используй внешнюю проверку: генерируй ответ проверяй факты вручную/через базы знаний корректируй
Малоизвестные темы и пересечения доменов — зона правдоподобного вымыслаВопрос о редкой теме / пересечение доменов / новые события — модель выдаёт правдоподобные, но ложные детали; данных мало, паттерны неполные LLM обязан сохранить связность интерполирует на основе похожих паттернов; особенно рискованно для имён, дат, цитат, специфичных фактовВ малоизвестных темах проверяй каждый факт через внешние источники; не полагайся на уверенный тон — риск галлюцинации максимален именно в редких темах

Тезисы

ТезисКомментарий
Трансформер обязан генерировать токен — воздержание не встроено в архитектуруМеханизм "не знаю" структурно отсутствует — это выученный паттерн из данных, не осознание границ знания; когда модель "отказывается", это тоже сгенерированный ответ по паттерну. Licensing Oracle (внешняя валидация) 0 галлюцинаций, промпты про осторожность не устранили проблему. Применяй: двухэтапный процесс (генерация валидация), не жди что "попроси быть осторожнее" устранит галлюцинации
Уверенный тон означает частый паттерн в данных, не проверку истиныВысокая "уверенность" (вероятности токенов) = плотность паттерна в обучающих данных; модель может быть абсолютно уверена в биографии несуществующего учёного, если имя вписывается в статистические паттерны научных биографий. Применяй: не используй тон ответа как индикатор истины — проверяй факты независимо от формулировки
📖 Простыми словами

Структурная природа галлюцинаций: почему LLM не может сама решить, когда молчать

arXiv: 2512.14801

OpenAI пытается скормить нам сказку о том, что галлюцинации нейросетей — это просто косяк воспитания. Мол, мы неправильно наказываем модель во время учебы: она боится промолчать и поэтому начинает уверенно нести чушь, лишь бы не получить двойку за пустой лист. Но авторы статьи рубят эту теорию на корню. Проблема не в стимулах, а в самой архитектуре трансформеров. Нейросеть в принципе не знает, что такое реальный мир, у нее нет связи с объектами в пространстве. Она живет в псевдо-онтологии, где существуют только статистические связи между словами. Для нее «яблоко» — это не фрукт, а токен, который часто стоит рядом с токеном «красное».

Это как если бы человек всю жизнь провел в запертой библиотеке, никогда не выходя на улицу. Он может идеально цитировать книги о вкусе вина или запахе моря, но он понятия не имеет, что это такое на самом деле. Он просто мастерски жонглирует цитатами. Когда модель галлюцинирует, она не «ошибается» в нашем понимании — она просто продолжает строить наиболее вероятную цепочку слов. Для нее галлюцинация и истина имеют одинаковый вес, потому что обе строятся на вероятностях, а не на проверке фактов об окружающем мире. Формально текст выглядит логично, но за ним пустота.

Самое интересное, что модель можно поймать на вранье, если сменить паттерн запроса. Когда ты просишь ее выдать факт, она включает режим генератора текста. Но если попросить ее оценить вероятность ошибки в собственном ответе, включается мета-рассуждение. Модель внезапно «вспоминает», какие типы данных она обычно лажает: даты, редкие имена или специфические цитаты. Она не проверяет реальность, она просто знает статистику своих провалов. Это работает как карта рисков: нейросеть понимает, где ее статистические связи слишком слабы, чтобы им доверять.

Этот принцип универсален и применим к любой LLM, будь то ChatGPT или Claude. Неважно, насколько сильно вы будете «дрессировать» модель или менять систему наград — фундаментальный разрыв с реальностью никуда не денется. Это не баг, который можно пофиксить патчем, это базовая характеристика технологии. Пока модель оперирует только ассоциациями токенов, она всегда будет склонна выдавать желаемое за действительное, просто потому что так диктует статистика. Архитектура важнее обучения, и это главный облом для тех, кто ждет от AI стопроцентной точности.

Короче, хватит ждать, что нейросети перестанут врать после очередного обновления. Галлюцинации — это не ошибка системы, это способ ее существования. Вместо того чтобы пытаться «вылечить» модель, нужно внедрять методы проверки через мета-запросы и внешние базы данных. Либо ты понимаешь, что работаешь с вероятностной машиной, либо ты продолжаешь верить в уверенный бред алгоритма. Галлюцинации неизбежны, и единственный способ с ними бороться — это перестать относиться к AI как к источнику истины.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с