3,583 papers
arXiv:2608.13484 70 13 авг. 2026 г. FREE

Gricean Retreat: почему LLM врёт специфику даже когда «внутри» знает, что не знает

КЛЮЧЕВАЯ СУТЬ
Модель точно знает, когда видит незнакомое имя. Это читается из её активаций — внутренних сигналов на слоях сети. Но при ответе она про этот сигнал забывает и всё равно выдумывает точный город, дату, цифру. Исследование объясняет, почему LLM никогда сама не отступает к честному «не знаю», даже имея внутри все данные для этого. Сигнал «знаю/не знаю» и решение «отвечать конкретно или обобщённо» живут в сети отдельно друг от друга — вот и корень вечных фактических выдумок. Учёные называют честный отказ от лишней конкретики Gricean retreat (в честь философа Грайса) — люди делают это на автомате, модель — никогда, если не попросить прямо.
Адаптировать под запрос

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

Представьте: вы спрашиваете модель про малоизвестного велогонщика Аллана Пайпера. Человек в такой ситуации сказал бы «он откуда-то из Австралии, кажется, велогонщик» — то есть отступил бы на более общий, но правдивый уровень (это называется Gricean retreat, отступление по лестнице конкретности, названное в честь философа Грайса и его принципа кооперативного общения). LLM же делает противоположное: выдумывает конкретный город рождения, даже когда сущности вообще не существует (в эксперименте использовали синтетические, специально придуманные имена, которых точно не было в обучающих данных). Причина не в том, что модель «не в курсе» — причина в том, что она выбирает специфичность вместо честности, даже имея внутри верный сигнал о своей неуверенности.

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

🔬

Схема метода (как исследовали)

ШАГ 1: Взять факт про сущность (человек/компания/продукт) → выделить триплет "субъект-отношение-объект"
ШАГ 2: Заменить субъект на выдуманное имя с похожими признаками → симуляция "незнакомой" сущности
ШАГ 3: Сгенерировать 10 вариантов ответа разной степени общности ("Виктория" → "его родной город" → "страна" → "место")
ШАГ 4: Прочитать активации модели в момент перед ответом → предсказать линейным зондом: (a) знает ли модель сущность, (b) собирается ли ответить конкретно или обобщённо
ШАГ 5: Сравнить предсказание зонда с реальным ответом модели → проверить, использует ли модель это знание при генерации

Это делалось через доступ к весам и активациям модели (белый ящик) — руками в чате не повторить. Но выведенный из этого принцип — применим.


🚀

Пример применения инсайта

Задача: Вы просите ChatGPT рассказать про малоизвестного регионального предпринимателя или локальный стартап, о котором в интернете почти нет данных — например, основателя небольшой пермской IT-компании.

Промпт:

Расскажи про Ивана Соколова, основателя компании "Уралтех Solutions" из Перми.

Прежде чем отвечать, оцени про себя: насколько ты уверен в конкретных фактах об этом человеке и компании (даты, цифры, названия)?

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

Результат: Модель либо выдаст конкретные факты (если реально знает такую компанию), либо переключится на обобщённый ответ без выдуманных цифр и дат, явно обозначив зону неуверенности. Без этой инструкции модель, скорее всего, придумает конкретную дату основания и цифры оборота — плавно и убедительно, но неверно.


🧠

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

LLM устроена так, что при генерации текста она статистически предпочитает более информативный (конкретный) токен, потому что в обучающих данных конкретные факты встречаются чаще, чем размытые формулировки — сеть просто не натренирована «тормозить» специфичность в зависимости от собственной неуверенности.

Сильная сторона модели — она умеет внутри различать знакомое и незнакомое: эксперимент показал, что даже модели с 70 миллионами параметров (совсем маленькие) содержат в активациях сигнал «эту сущность я видел / не видел», а у моделей от 2 миллиардов параметров этот сигнал очень надёжный.

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

Рычаг управления: формулировка "оцени уверенность перед ответом" — это триггер, который переключает модель из режима "генерировать самый вероятный токен" в режим "явно сверяться с собственным знанием". Чем более конкретно вы просите модель обозначить эту развилку (высокая/низкая уверенность → конкретный/общий ответ), тем чаще она реально останавливается перед халлюцинацией.


📋

Шаблон промпта

Расскажи про {сущность}.

Прежде чем отвечать, мысленно оцени: насколько хорошо ты знаешь конкретные факты про {сущность} (даты, цифры, точные названия)?

Правило:
— Если уверенность высокая — дай конкретные факты.
— Если уверенность низкая — не выдумывай точные детали. Дай обобщённый, но правдивый ответ (категория, общее описание), и явно отметь, в чём именно ты не уверен.

Не смешивай выдуманные детали с реальными фактами.

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

🚀 Быстрый старт — вставь в чат:

Вот шаблон промпта против халлюцинаций. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, про какую именно сущность или тему идёт речь и в каком формате нужен ответ (список фактов, текст, таблица) — потому что от этого зависит, где проходит граница между «уверен» и «не уверен» для конкретной темы.


⚠️

Ограничения

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

⚠️ Работает хуже на пограничных случаях: если сущность частично похожа на что-то реальное (похожее имя, похожий бренд), модель может путать её с реальной и всё равно выдавать специфичные, но неверные детали.

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


🔍

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

Команда взяла датасет T-REx (факты из Википедии и Wikidata — люди, компании, продукты, музыкальные жанры) и для каждого факта сделала три версии контекста (минимальный, короткий, длинный), плюс выдуманные версии субъектов (например, несуществующих людей с "правдоподобными" именами) и десять вариантов ответа разной степени общности. Чтобы убедиться, что выдуманные сущности реально не встречались в обучающих данных, проверили это через специальный поисковый индекс (infini-gram) по датасету The Pile — и оказалось, что реальные сущности встречаются сотни-тысячи раз, а придуманные — почти никогда.

Дальше на моделях семейства Pythia (от 70 миллионов до 12 миллиардов параметров) обучили простые линейные классификаторы читать активации модели и предсказывать: (1) знает ли модель сущность, (2) собирается ли она ответить конкретно или обобщённо. Оба сигнала предсказывались очень надёжно, особенно у крупных моделей — точность предсказания выше 90%.

Но когда посмотрели на реальные ответы моделей (через отдельного LLM-судью, который оценивал правдивость и конкретность ответов, с точностью совпадения с людьми-разметчиками около 90%), оказалось, что модели почти всегда выбирают конкретный ответ — независимо от того, знают они сущность или нет. То есть сигнал есть, а поведение его не использует. Это главный неожиданный результат: обычно ожидают, что если модель "видит" неуверенность внутри, это как-то влияет на её выбор слов — но здесь связь полностью отсутствует.


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

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

Модель точно знает, когда видит незнакомое имя. Это читается из её активаций — внутренних сигналов на слоях сети. Но при ответе она про этот сигнал забывает и всё равно выдумывает точный город, дату, цифру. Исследование объясняет, почему LLM никогда сама не отступает к честному «не знаю», даже имея внутри все данные для этого. Сигнал «знаю/не знаю» и решение «отвечать конкретно или обобщённо» живут в сети отдельно друг от друга — вот и корень вечных фактических выдумок. Учёные называют честный отказ от лишней конкретики Gricean retreat (в честь философа Грайса) — люди делают это на автомате, модель — никогда, если не попросить прямо.

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

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

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

LLM тренировали угадывать самый вероятный следующий кусочек текста (токен). А в текстах интернета конкретные факты встречаются куда чаще, чем размытые фразы типа «где-то в стране» — модель просто не научили тормозить конкретику под неуверенность. Жесть — даже крошечные модели на 70 миллионов параметров уже хранят в активациях чёткий сигнал «эту сущность я видел / не видел». А начиная с 2 миллиардов параметров сигнал становится очень надёжным. Сигнал есть, но не подключён к генерации ответа — его можно вытащить наружу, просто попросив модель сначала явно оценить свою уверенность.

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

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

Мини-рецепт

1. Назови сущность прямо: полное имя человека, точное название компании или продукта — модели нужен весь контекст для оценки.
2. Заставь оценить уверенность перед ответом: добавь фразу «прежде чем отвечать, оцени про себя, насколько ты уверен в конкретных фактах».
3. Дай два сценария ответа: распиши правило прямо — высокая уверенность = конкретика, низкая = общее описание без выдуманных цифр и дат.
4. Запрети смешивать факты: добавь строку «не смешивай выдуманные детали с реальными» — иначе модель вставит одну точную дату среди честных общих фраз.

Примеры

[ПЛОХО] : Расскажи про Ивана Соколова, основателя компании "Уралтех Solutions" из Перми
[ХОРОШО] : Расскажи про Ивана Соколова, основателя компании "Уралтех Solutions" из Перми. Прежде чем отвечать, оцени свою уверенность в конкретных фактах. Если уверенность низкая — дай обобщённый честный ответ без выдуманных дат и цифр, и явно скажи, в чём именно не уверен.
Источник: Toward a Gricean Retreat: Probing LLMs for Knowledge Boundaries and Referent Specificity
ArXiv ID: 2608.13484 | Сгенерировано: 2026-08-14 06:24

Проблемы LLM

ПроблемаСутьКак обойти
Модель врёт конкретику вместо честного обобщенияМодель внутри "видит", что сущность ей незнакома. Но всё равно выдумывает точное имя, город, дату. Вместо честного "где-то в Австралии" даёт конкретный, но выдуманный факт. Работает для любых малоизвестных людей, компаний, продуктов, событийПрямо попроси модель сначала оценить свою уверенность в фактах. Потом дать команду: высокая уверенность — конкретика, низкая — общий, но правдивый ответ

Методы

МетодСуть
Явная оценка уверенности перед ответом — переключатель специфичностиПопроси модель сначала мысленно оценить, насколько хорошо она знает конкретные детали (даты, цифры, названия). Затем задай правило: если уверенность высокая — факты, если низкая — обобщённый честный ответ. Работает потому что заставляет модель явно свериться с собственным знанием — иначе она это знание игнорирует и просто выбирает самый вероятный (то есть самый конкретный) токен. Применяй: когда спрашиваешь про малоизвестную сущность, о которой в интернете мало данных. Не работает: если сущность похожа на что-то реальное — модель путает и всё равно выдаёт неверную конкретику. Также не работает идеально, потому что оценка уверенности — это самоотчёт модели текстом, а не прямой доступ к её внутренним сигналам
📖 Простыми словами

Toward a Gricean Retreat: ProbingLLMsfor Knowledge Boundaries and Referent Specificity

arXiv: 2608.13484

Суть проблемы в том, что нейронки не умеют вовремя закрывать рот. На уровне архитектуры LLM заточена под выбор самого вероятного следующего слова, а в её обучающей выборке конкретика всегда побеждает абстракцию. Модель просто не понимает, где заканчиваются её реальные знания и начинаются фантазии, поэтому она всегда выбирает максимальную специфичность. Сеть не натренирована «тормозить» и выдавать общие фразы, когда она не уверена — она запрограммирована быть полезной и точной, даже если для этого приходится врать.

Это как если бы ты спросил у случайного прохожего дорогу к бару, а он, вместо того чтобы честно признаться, что не знает, начал бы с уверенным лицом объяснять маршрут через три переулка и две подворотни. Формально он тебе помог, но по факту ты уйдёшь в тупик. Нейронка ведет себя так же: она боится показаться глупой или бесполезной, поэтому выдает конкретные детали там, где стоило бы ограничиться общим «где-то в центре».

Исследователи проверили это через границы знаний и поняли, что модель лажает в самом фундаменте коммуникации. Вместо того чтобы использовать принцип «говори ровно столько, сколько знаешь», нейронка вываливает максимум подробностей. Если она знает, что Apple — это компания, она не остановится на этом, а попытается угадать модель процессора в следующем iPhone, даже если данных об этом нет. Статистический перекос в сторону конкретики заставляет её игнорировать собственную неуверенность.

Хотя тест проводили на лингвистических нюансах, принцип универсален для любой работы с AI. Это касается генерации кода, написания юридических справок или медицинских советов. Модель всегда будет стремиться к избыточной детализации, потому что «размытые формулировки» для неё выглядят как низкокачественный контент из обучающей выборки. Мы получаем инструмент, который слишком старается быть отличником, даже когда не выучил урок.

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

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

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

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