3,583 papers
arXiv:2609.04290 74 3 сент. 2026 г. FREE

Evidence Integration: LLM использует неверную подсказку даже после того, как сама признала её ошибочной

КЛЮЧЕВАЯ СУТЬ
Модель проверяет чужую подсказку, честно пишет в рассуждении «это неправильно» — и берёт её же как финальный ответ. В 93–100% случаев, даже если секунду назад та же модель верно отвергла этот вариант в отдельной проверке. Открытие объясняет, почему промпт «проверь и исправь ошибку» не спасает, если рядом уже лежит готовый ответ от калькулятора, RAG-документа (поиск по базе знаний) или другого агента. Проверка и использование подсказки — два разных процесса внутри модели, слабо связанных друг с другом: то, что модель написала в вердикте, почти не влияет на то, что она выберет в ответе.
Адаптировать под запрос

TL;DR

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

Представь: ты вставляешь в промпт расчёт из Excel или ответ другого агента, где ошибка минимальная — например, число похоже на правильное (137 вместо 127, тот же последний разряд). Модель проверяет это значение, внутренне понимает, что оно неверное, пишет об этом в рассуждении — а потом всё равно берёт его в качестве ответа. По данным исследования, это происходит в 93–100% случаев, даже когда модель до этого стопроцентно правильно отвергла кандидата в изолированной проверке.

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


🔬

Схема механики (не пошаговый метод — как ведёт себя модель)

ВНЕШНЯЯ ПОДСКАЗКА поступает → сдвигает распределение ответов модели
   (сильнее сдвиг, если подсказка похожа на то, что модель сама бы предложила)

ПРОВЕРКА (verification) → модель может корректно оценить "неверно"
   (это отдельный, изолированный шаг — не гарантирует влияния на решение)

ИСПОЛЬЗОВАНИЕ (use) → почти НЕ связано с проверкой
   → решает "похожесть" подсказки на собственную ошибку + оформление источника + сила модели

Причинный анализ показал: подхват кандидата происходит позже в сети, чем формирование вербализованной проверки — то есть это буквально разные "участки" вычислений, слабо связанные друг с другом.


🚀

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

Задача: Бухгалтер просит Claude/ChatGPT проверить расчёт НДС, который уже подготовил стажёр. Стажёр забыл вычесть скидку — сумма похожа на правильную, но неверна.

Промпт (наивный, без учёта находки):

Вот расчёт НДС от стажёра: [сумма]. Проверь, правильный ли расчёт.

Проблема: модель может написать «в расчёте ошибка, скидка не вычтена» — и в итоговом ответе всё равно назвать сумму стажёра как финальную.

Промпт с учётом инсайта:

У меня есть расчёт НДС от стажёра: [сумма].

Сначала, НЕ глядя на этот расчёт, самостоятельно вычисли НДС с нуля.
Запиши все шаги.

Затем сравни свой результат с расчётом стажёра и укажи расхождения.

В финальном ответе используй ТОЛЬКО свой самостоятельно вычисленный результат.
Не меняй его под влиянием расчёта стажёра, даже если он выглядит убедительно.

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


🧠

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

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

Сильная сторона LLM: модель хорошо умеет рассуждать «с нуля», если явно попросить сделать это до того, как она увидит подсказку, а не «заодно» с проверкой чужого варианта.

Разрыв анкеринга происходит через порядок: если независимый вывод генерируется первым, кандидат превращается из «якоря» в «объект для сравнения» — это меняет то, как модель распределяет вес между своим ответом и чужим.

Рычаги управления: - Порядок показа подсказки → если подсказка появляется до самостоятельного рассуждения — анкеринг сильнее. Переставь: сначала свой расчёт, потом сравнение. - Явная инструкция «игнорируй предложенное значение при вычислении» → снижает, но не убирает эффект. - Формулировка источника («непроверенное предположение стажёра» vs «точный расчёт бухгалтерской системы») → влияет на доверие модели сильнее, чем реальная точность данных. - Для сильных моделей (Opus, GPT-4-класса) вообще не показывай готовый ответ — попроси решить самостоятельно. Для слабых моделей подсказка может реально помочь, если явно пометить её как «черновой вариант для проверки».


📋

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

У меня есть {задача}, и есть предложенный вариант ответа от {источник}: {кандидат_ответ}.

Сначала, НЕ используя и не заглядывая на предложенный вариант, реши задачу
самостоятельно с нуля. Запиши свои шаги рассуждения.

Затем сравни свой результат с {кандидат_ответ} и укажи:
— совпадают они или различаются,
— если различаются, в чём именно ошибка.

В финальном ответе используй ТОЛЬКО свой самостоятельно вычисленный результат.
Не меняй его под влиянием предложенного варианта, даже если он выглядит убедительно.

{задача} — что нужно решить. {источник} — кто дал подсказку (коллега, RAG-документ, другой агент, инструмент). {кандидат_ответ} — сам предложенный вариант.

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

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

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

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


⚠️

Ограничения

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

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

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


🔍

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

Исследователи прогнали больше 10 миллионов испытаний на 12 моделях из 4 семейств, в 8 доменах — от простой арифметики до квантовой механики, генетики и молекулярной биологии. Для каждой задачи отдельно замеряли три вещи: может ли модель ответить правильно без подсказки, может ли она верно оценить чужой вариант как «проверяющий», и что она реально делает с этим вариантом при формировании финального ответа.

Самое неожиданное: даже когда модель в изолированной проверке стопроцентно правильно отвергала неверный кандидат, при формировании реального ответа она принимала его в 93–100% случаев. Это разошлось с интуицией «раз модель понимает ошибку — она её не сделает».

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


🔗

Ресурсы

Sebastien Kawada, Manolis Kellis — MIT CSAIL (Massachusetts Institute of Technology). Препринт «Evidence Integration in Large Language Models».


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

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

Модель проверяет чужую подсказку, честно пишет в рассуждении «это неправильно» — и берёт её же как финальный ответ. В 93–100% случаев, даже если секунду назад та же модель верно отвергла этот вариант в отдельной проверке. Открытие объясняет, почему промпт «проверь и исправь ошибку» не спасает, если рядом уже лежит готовый ответ от калькулятора, RAG-документа (поиск по базе знаний) или другого агента. Проверка и использование подсказки — два разных процесса внутри модели, слабо связанных друг с другом: то, что модель написала в вердикте, почти не влияет на то, что она выберет в ответе.

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

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

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

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

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

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

Мини-рецепт

1. Спрячь подсказку: не давай модели готовый ответ первым делом в промпте.
2. Реши с нуля: явно попроси посчитать самостоятельно, не глядя на предложенный вариант, и записать шаги.
3. Сравни вторым шагом: только после своего расчёта дай модели сравнить его с подсказкой и назвать расхождения.
4. Зафиксируй финал: жёстко укажи — в ответе использовать только свой результат, а не подсказку, даже если та выглядит убедительно.

Примеры

[ПЛОХО] : Вот расчёт НДС от стажёра: 45000. Проверь, правильный ли расчёт.
[ХОРОШО] : Вот расчёт НДС от стажёра: 45000. Сначала, не глядя на эту сумму, вычисли НДС сам с нуля и распиши шаги. Затем сравни свой результат со значением 45000 и укажи, где расхождение. В финальном ответе используй только свой самостоятельный расчёт — не подстраивайся под сумму стажёра.
Источник: Evidence Integration in Large Language Models
ArXiv ID: 2609.04290 | Сгенерировано: 2026-09-07 04:33

Проблемы LLM

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

Методы

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

Тезисы

ТезисКомментарий
Подсказка опаснее, если похожа на типичную ошибку моделиЕсли чужой неверный ответ выглядит как то, что модель сама могла бы ошибочно предположить (похожее число, похожая логика), модель доверяет ему сильнее, чем случайной ошибке. Это не связано с реальной правильностью подсказки — только со «знакомостью» ошибки. Применяй: если знаешь типичные слабые места модели в задаче (округления, забытые шаги), особенно тщательно проверяй промптом именно такие подсказки — там риск анкеринга выше
Оформление источника подсказки влияет на доверие сильнее, чем её точностьМодель по-разному реагирует на один и тот же неверный ответ в зависимости от того, как его подписали: «предположение пользователя» или «точный вывод системы». Метка источника меняет вес подсказки в финальном ответе — независимо от того, ошибается источник или нет. Применяй: если хочешь снизить влияние чужого ответа, явно подписывай его как «черновой, непроверенный вариант», а не как «точный расчёт»
📖 Простыми словами

Evidence Integration inLargeLanguageModels

arXiv: 2609.04290

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

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

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

Исследовали на простых расчётах, но принцип универсален. Эта дыра ломает любые RAG-пайплайны, мультиагентные связки и автоматический фактчекинг. Если первый агент скормит второму чушь, второй агент честно её раскритикует, но всё равно потащит дальше в работу. Модель органически не умеет выбрасывать мусор из контекста.

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

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

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

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