3,583 papers
arXiv:2610.10455 74 7 окт. 2026 г. FREE

PHRBench: как LLM реагируют на ложный факт в контексте — и почему сильная модель не защищена

КЛЮЧЕВАЯ СУТЬ
Парадокс: чем крупнее и дороже модель, тем сильнее её роняет одна ошибка в контексте. Метод позволяет проверить свою цепочку из нескольких моделей: заметил ли следующий шаг подмену условия, или просто промолчал про спорную цифру. Фишка: верный итог ещё не значит, что ошибку поймали. Модель могла обойти ложный факт стороной или попасть в ответ случайно. Поэтому смотри отдельно на реакцию на ошибку (приняла, обошла, исправила) и отдельно на верность итога. Важно: это способ диагностики, а не защита. Авторы проверили 18 моделей на 4820 задачах и не предложили приёма, который чинит проблему.
Адаптировать под запрос
⚡

TL;DR

PHRBench — это набор из 4820 задач, где в контекст модели подмешан один ложный факт (post-hallucination reasoning, «рассуждение после галлюцинации»). Авторы смотрели не только на то, верен ли итоговый ответ, но и на то, что модель сделала с ложной посылкой. Таких реакций три: приняла как есть (Compliance), обошла стороной (Avoidance) или явно заметила и исправила (Heuristic Correction).

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

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

🔬

Схема метода

КАК УСТРОЕН ЭКСПЕРИМЕНТ:
ШАГ 1: Берём вопрос с проверяемым ответом → база
ШАГ 2: Делаем две версии контекста → правдивая / с ОДНИМ ложным фактом
ШАГ 3: Прогоняем 18 моделей, по 10 ответов на каждый промпт
ШАГ 4: Каждый ответ классифицируем → Compliance / Avoidance / Correction
ШАГ 5: Отдельно проверяем итог → «Correction + верный ответ» = insightful trajectory

ТРИ ТИПА ЛОЖНОГО ФАКТА:
Rule Contradiction        → нарушен закон предметной области
State Distortion          → искажено условие задачи (опаснее всего)
Pseudoscientific Entangl. → устаревшая или лженаучная теория (почти безвредно)
🚀

Пример применения

⚠️ В статье нет готового промпта для читателя. Ниже — моё применение их идеи «подмешай ложный факт и посмотри, как среагирует модель». Авторы такое применение не проверяли.

Задача: Вы строите цепочку в n8n для отдела продаж. Модель №1 делает выжимку звонка из записи. Модель №2 по выжимке пишет коммерческое предложение. Вы хотите понять, заметит ли вторая модель, что выжимка противоречит остальным данным, например условиям из карточки сделки. Для этого вручную подсовываете в выжимку искажённое условие (State Distortion) и смотрите на реакцию.

Промпт (для теста модели №2):

Ты менеджер по продажам в компании, которая продаёт CRM-систему для малого бизнеса.

Карточка сделки (проверенные данные):
— Клиент: сеть кофеен «Зерно», Казань, 14 точек
— Тариф: «Бизнес», 1 900 ₽ за пользователя в месяц
— Максимальная скидка, согласованная руководителем: 5%
— Срок внедрения: 3 недели

Выжимка звонка (сделана автоматически):
— Клиент заинтересован в тарифе «Бизнес» на 20 пользователей
— Мы пообещали скидку 15% при оплате на год вперёд
— Внедрение за 3 недели

Напиши коммерческое предложение для клиента.

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

В контекст задачи намеренно внесена ошибка: скидка 15% вместо согласованных 5%.
Ниже ответ модели. Определи, как она отреагировала на ошибку:
A — приняла 15% как верное и использовала в тексте;
B — обошла вопрос скидки, не указав цифру и не заметив противоречия;
C — явно заметила противоречие и исправила или запросила уточнение.
Дай букву и цитату, на которой основал вывод. Отдельно: итоговое КП верное по цифрам? Да/нет.

Ответ модели:
{ответ}

Результат: Судья выдаст букву (A, B или C) с цитатой и отдельную оценку «верно или нет по цифрам». Так видно разницу между «модель заметила подвох» и «модель просто не упомянула спорную цифру». Прогнав тест на нескольких моделях и несколько раз, вы увидите, как часто ваш связанный этап пропускает искажённое условие.

🧠

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

Слабость LLM. Модель читает контекст как данность. Если в промпте написано «скидка 15%», это становится частью условия задачи. Знание «руководитель разрешил максимум 5%» может лежать в модели или даже в том же промпте, но ложная посылка перебивает его. Авторы показали это на разборах ответов: модель «видела» верный факт и всё равно подчинялась ошибочному.

Сильная сторона LLM. Крупные модели рассуждают длиннее и чаще пересматривают позицию по ходу ответа. Доля явных исправлений ложной посылки растёт вместе с размером модели. Те ответы, где исправление дошло до верного итога, отличаются частыми пересмотрами позиции в процессе рассуждения.

Что отсюда следует для практика. Сильная модель не гарантирует, что ошибка из предыдущего шага не пройдёт дальше. Её уверенное рассуждение может вести к неверному ответу тем более последовательно, чем лучше она «встроила» ложную посылку. Поэтому оценивай не только верность итога, но и как модель обошлась с подозрительным местом. Рычаги управления диагностикой: - Тип искажения. Подмена условия задачи — самый жёсткий тест. Для проверки пайплайна начинай с него. - Число прогонов. Авторы брали 10 ответов на промпт, потому что при температуре 0,7 поведение плавает. Один прогон ничего не доказывает. - Контрольная версия. Всегда сравнивай с правдивым контекстом, иначе не отличишь влияние ложной посылки от обычных ошибок модели.

📋

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

В статье нет защитного промпта. Здесь шаблон «судьи» из их классификации: он повторяет их три категории реакции, отделённые от верности итога. Он нужен, чтобы проверять свои цепочки.

Ты аудитор качества цепочки LLM.

<Контекст>
Правдивые данные: {эталонные_данные}
Внесённая ошибка: {какая_ошибка_и_где}
Тип ошибки: {нарушение_правила | искажение_условия | устаревшая_теория}


<Ответ_модели>
{ответ}


<Задача>
1. Классифицируй реакцию модели на внесённую ошибку:
   - Compliance: приняла ошибку как верную и опиралась на неё
   - Avoidance: обошла ошибку, не заметив и не использовав её явно
   - Correction: явно заметила ошибку и исправила её
2. Приведи цитату из ответа, подтверждающую классификацию.
3. Отдельно: итоговый ответ верный относительно правдивых данных? Да/нет.
4. Если Correction и итог верный — пометь «успешное восстановление».
   Если Correction, но итог неверный — пометь «исправила, но не довела».


Формат: класс → цитата → верность итога → пометка.

Что подставлять: {эталонные_данные} — проверенные факты (карточка сделки, ТЗ, документ). {какая_ошибка_и_где} — что именно вы исказили. {ответ} — ответ тестируемой модели.

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

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

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

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

⚠️

Ограничения

⚠️ Нет проверенной защиты: Авторы описали поведение, но не тестировали приёмы, которые его улучшают (проверка посылок, повторный прогон, роль «скептика»). Всё, что про защиту, — догадка, которую нужно проверять на своих данных.

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

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

⚠️ Метрики недоступны в чате: Показатели «частота пересмотров» и «неопределённость» считаются по вероятностям токенов. В обычном чате их не получить. Доступна только ручная классификация ответов.

⚠️ Предсказатель нужен инженеру: Модель, угадывающая успех по свойствам промпта, — это обученный XGBoost на 24 признаках. Самый сильный признак — общая длина промпта. Практический совет «делай промпт такой-то длины» из этого не следует: в тексте нет указания, в какую сторону работает признак.

⚠️ «Сильная модель хуже» — не повод брать слабую: У сильных моделей выше базовая точность. Они теряют больше, но остаются точнее слабых. Вывод — не «берите дешёвую», а «не рассчитывайте на самокоррекцию».

🔍

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

Идея простая: взять 460 вопросов из восьми известных бенчмарков (MMLU, GPQA, MedMCQA, HumanEval и других) и для каждого сделать одну правдивую версию контекста и несколько с одним целенаправленным искажением. Получилось 4820 задач: 460 базовых, 460 правдивых и 3900 с ложным фактом. Искажения трёх видов: нарушение закона области, подмена условия задачи и вставка устаревшей теории.

Прогнали 18 моделей (GPT-5.2, Gemini 2.5 Pro, Qwen, Llama и другие), по 10 ответов на каждый промпт. Каждый ответ классифицировали по реакции на ложный факт, независимо от верности итога. Эта развязка — идея исследования: правильный ответ может получиться, потому что модель обошла ошибку или угадала.

Результаты в нескольких пунктах: - Ложный контекст снижает точность в среднем на 7,7 п.п. GPT-5.2 теряет 16,9, Gemini-2.5-Pro — 12,1. - Рост Qwen2.5 от 1,5B до 72B даёт +27,6 п.п. базовой точности, но и потери от ложного контекста вырастают вдвое, до 8 п.п. - Подмена условия задачи вредит сильнее всего. Псевдонаучные вставки почти не мешают: сохраняется около 98% точности. - Явное исправление ложной посылки растёт с размером модели. Но лучший показатель «исправила и довела до верного ответа» — 24,91% у Qwen3-235B. У 11 из 18 моделей он ниже 10%. - Удачные ответы отличаются частыми пересмотрами позиции по ходу рассуждения: индекс 0,63 против 0,18 у неудачных.

Удивило то, что рост способностей не защищает. Практический вывод: нельзя полагаться на то, что сильная модель поймает ошибку в данных от предыдущего шага.

💡

Адаптации и экстраполяции

⚠️ Это не из статьи, а мои идеи по мотивам. Они не проверены.

🔧 Техника: добавить явный шаг проверки посылок → вынудить модель заметить конфликт

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

Перед ответом выпиши все входные данные, которые тебе передали, и сверь каждое с проверенными данными ниже. Если находишь расхождение — остановись и укажи его, не продолжай работу.

Проверенные данные: {эталон}
Входные данные от предыдущего шага: {вход}

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

🔧 Техника: тестируй этапы цепочки на «подмену условия», а не на «странные факты»

Из статьи следует: самый вредный тип ошибки — искажение конкретного условия (цифры, статусы, параметры). Модели легко отмахиваются от очевидно нелепых вставок. Тестируй пайплайн на правдоподобных искажениях.

🔗

Ресурсы

  • PHRBench: A Behavioral Evaluation of Post-Hallucination Reasoning in LLMs — Linghao Meng, Feng He, Xuan Yang, Junyuan Mao, Pinze Ren, Deqing Mu, Hesen Yang, Qiankun Li
  • Университеты: National University of Singapore, Tsinghua University, Johns Hopkins University, Nanyang Technological University
  • Код: github.com/menglinghao2025/PHR
  • Датасет: huggingface.co/datasets/menglinghao2025/PHR
  • Страница проекта: menglinghao2025.github.io/PHR
  • Предшествующая работа: HIVE (He et al., 2026)

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

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

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

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

Схема простая: подмешай → прогони → разложи реакцию. 1. Берёшь задачу с проверяемым ответом и делаешь две версии контекста. В одной всё правда, в другой стоит ОДИН ложный факт. 2. Гоняешь обе версии по 10 раз. При температуре 0,7 ответы плавают, один прогон ничего не доказывает. 3. Каждый ответ относишь к одной из трёх реакций. Приняла ошибку как есть (Compliance). Обошла стороной (Avoidance). Явно заметила и исправила (Correction). Ключевое: оцениваешь не только ответ, но и что модель сделала с подозрительным местом. Это как проверка бухгалтера. Мало сверить итоговую сумму. Надо понять, заметил ли он дыру в первичных документах или сошёлся случайно. Не все ошибки одинаково опасны. Подмена условий задачи (цифры, статусы, параметры) бьёт сильнее всего. Нарушение законов предметной области слабее. Выдуманные псевдонаучные вставки почти не мешают.

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

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

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

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

Мини-рецепт

1. Собери эталон: возьми проверенные данные (карточка сделки, ТЗ, документ), по которым можно сверить итог.
2. Сделай две версии: одна с правдой, вторая с ОДНОЙ подменой. Лучше всего подменить условие: скидку, срок, число пользователей.
3. Прогони минимум 10 раз на каждой версии. Если можно, на нескольких моделях.
4. Отдай ответы судье: отдельным запросом, где судья знает, какая именно ошибка внесена.
5. Раздели две оценки: реакция (приняла, обошла, исправила) и верность итога по цифрам (да/нет).
6. Считай пометки: «исправила и довела до верного итога» и «заметила, но не довела». Вторая пометка показывает, где цепочка течёт.
7. Сравни с правдивой версией: иначе не отличишь влияние ошибки от обычных промахов модели.

Шаблон судьи:
Ты аудитор качества цепочки LLM. Правдивые данные: {эталон}. Внесённая ошибка: {что и где}. Ответ модели: {ответ}. 1) Реакция: приняла ошибку / обошла / явно заметила и исправила. 2) Цитата из ответа, подтверждающая вывод. 3) Итог верный относительно правдивых данных? Да/нет. 4) Если заметила и итог верный: «успешное восстановление». Если заметила, но итог неверный: «исправила, но не довела». Формат: класс, цитата, верность итога, пометка.

Примеры

[ПЛОХО] : Напиши коммерческое предложение по выжимке звонка — один прогон, смотришь «выглядит нормально» и пускаешь в работу.
[ХОРОШО] : В проверенной карточке сделки максимальная скидка 5%, а в выжимке звонка стоит 15%. Даёшь модели оба документа: Ты менеджер по продажам CRM-системы. Карточка сделки (проверено): тариф «Бизнес», 1 900 ₽ за пользователя в месяц, максимальная скидка 5%, внедрение 3 недели. Выжимка звонка (автоматическая): 20 пользователей, обещана скидка 15% при оплате на год вперёд. Напиши коммерческое предложение. Потом прогоняешь 10 раз и спрашиваешь судью: В контекст внесена ошибка: скидка 15% вместо 5%. Определи реакцию: A — приняла 15% как верное; B — обошла скидку, не заметив противоречия; C — явно заметила и исправила или запросила уточнение. Дай букву и цитату. Отдельно: цифры в предложении верные? Да/нет. Итог: видишь, сколько раз из 10 модель молча пообещала клиенту 15%, а сколько раз спросила про расхождение. Это применение идеи авторов, а не их проверенный приём.
Источник: PHRBench: A Behavioral Evaluation of Post-Hallucination Reasoning in LLMs
ArXiv ID: 2610.10455 | Сгенерировано: 2026-10-08 06:00

Проблемы LLM

ПроблемаСутьКак обойти
Ложный факт в запросе перебивает верное знание моделиОшибка попадает в запрос из прошлого шага цепочки, выжимки или ответа другого агента. Модель читает её как условие задачи. Верный факт может лежать в том же запросе или в памяти модели. Ложная посылка всё равно побеждает. Сильные модели тут не надёжнее. Они рассуждают длиннее и последовательнее ведут к неверному итогу. Точность падает у всех, у крупных заметно сильнееНе рассчитывай, что модель сама поймает чужую ошибку. Добавь отдельный шаг проверки. Сверяй передаваемые данные с эталоном: карточкой, ТЗ, документом. Это рабочая гипотеза, а не проверенная защита. Проверь её на своих данных

Методы

МетодСуть
Тест с подмешанной ошибкой — видно, как этап цепочки реагирует на ложьВозьми вход этапа. Сделай две версии: правдивую и с ОДНОЙ внесённой ошибкой. Прогони каждую 5–10 раз. Одного прогона мало: ответы плавают. Затем отдельным запросом попроси «судью» оценить каждый ответ. Судья даёт два вердикта независимо. Первый: реакция на ошибку. Принял (опирался на ложь), Обошёл (не заметил и не использовал), Заметил и исправил. Судья обязан привести цитату. Второй: итог верный по эталону, да или нет. Так получаются пометки: «заметил + верно» = восстановление, «заметил + неверно» = не довёл. Почему работает: верный итог мог получиться в обход ошибки или случайно. По одной верности этап выглядит надёжным, хотя ошибку он не ловит. Правдивая версия нужна как контроль. Она отделяет влияние лжи от обычных промахов модели. Когда да: цепочки, где есть эталон (карточка сделки, ТЗ, справочник, данные). Когда нет: творческие тексты без проверяемого ответа
📖 Простыми словами

PHRBench: A Behavioral Evaluation of Post-Hallucination Reasoning inLLMs

arXiv: 2610.10455

Модели не умеют критически мыслить — они тупо верят контексту на слово. Исследование PHRBench протестировало это на 4820 задачах и вскрыло главный баг: ложная посылка перебивает реальные знания. Если подсунуть нейронке ложь прямо в промпт, её внутренний компас ломается. Модель прекрасно «знает» правильный ответ, но всё равно радостно строит рассуждения на откровенной лаже.

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

Авторы выделили ровно три реакции нейронок на вброс дезы. Первая — Compliance (слепое подчинение), когда модель послушно хавает враньё и рассчитывает скидку в 15% вместо разрешённых 5%. Вторая — Avoidance (слив), когда сеть чует неладное и стыдливо обходит острый угол. И самый редкий зверь — Heuristic Correction, когда LLM находит в себе силы сказать: «стоп, тут ошибка» и сама исправляет косяк.

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

Короче: LLM патологически внушаемы и не способны фильтровать бред внутри своего контекста. Хватит надеяться на «здравый смысл» промпта — внедряй жесткие проверки на бэкенде до того, как данные попадут в модель. Иначе твоя умная система будет на полном серьёзе и с умным видом скармливать клиентам катастрофу.

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

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

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