3,583 papers
arXiv:2604.19809 76 15 апр. 2026 г. FREE

MIRROR: внешнее ограничение вместо самооценки — как не дать LLM уверенно ошибаться

КЛЮЧЕВАЯ СУТЬ
Парадокс: LLM точно называет домены, где плохо справляется — но в 56% случаев всё равно уверенно ошибается. Метод позволяет блокировать эти уверенные провалы в заданных слабых зонах — без дообучения и без кода. Жёсткий запрет в промпте (не просьба — именно правило) сдвигает выбор с модели на структуру текста. Процент уверенных провалов падает на 76%.
Адаптировать под запрос

TL;DR

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

Это называют «разрывом знание-действие» (knowing-doing gap). Модель точно определяет, в каком домене она слабее — математика, право, медицина — но в 56% случаев всё равно уверенно даёт неверный ответ. Проблема не в том, что модель не знает о своих слабостях. Проблема в том, что она не действует на основе этого знания.

MIRROR — это серия из восьми экспериментов, которые проверяли, как именно рушится цепочка «знаю → действую». Исследователи тестировали четыре условия: модель без информации, модель с собственными оценками, модель с оценками плюс инструкцией «эскалируй», и внешняя система маршрутизации, которая сама блокирует слабые домены. Только последнее снизило процент провалов на 76%.


🔬

Схема метода

Это не техника для одного промпта — это принцип проектирования диалога. Применяется в два слоя:

СЛОЙ 1: Определи слабые домены модели заранее
  → Протестируй: задай 5-10 вопросов по каждому домену задачи
  → Зафиксируй: где модель ошибается или говорит "не уверен"
  → Вывод: список "слабых зон" для этой модели + задачи

СЛОЙ 2: Встрой жёсткое правило в промпт (не просьбу — правило)
  → НЕ: "оцени уверенность и действуй соответственно"
  → ДА: "если в ответе затронута [слабая зона] — СТОП, 
         сообщи об этом, не продолжай без подтверждения"

Оба слоя — в обычном чате, без кода.


🚀

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

Задача: Ты используешь Claude, чтобы анализировать финансовую модель нового проекта: юнит-экономика, маркетинговые гипотезы и налоговые льготы для ИП на УСН. Три домена в одной задаче. Ты знаешь, что LLM хорошо считает маркетинг и юнит-экономику, но плохо знает российское налоговое законодательство 2024 года.

Промпт:

Ты анализируешь финансовую модель стартапа. 

ЖЁСТКОЕ ПРАВИЛО (не рекомендация — правило):
Эта сессия работает в режиме маршрутизации по доменам.

Домены с ограничением:
- Налоговое законодательство РФ — СТОП-домен
- Льготы и вычеты ИП/ООО — СТОП-домен

Что делать при СТОП-домене:
1. Напиши: "⚠️ СТОП: этот вопрос затрагивает налоговое право — слабая зона"
2. Опиши, ЧТО именно нужно уточнить (конкретный вопрос к эксперту)
3. НЕ давай ответа по существу — только флаг и формулировку вопроса
4. Продолжи анализ остальных частей без этого блока

Для остальных доменов — анализируй как обычно, полностью.

Задача: проанализируй прилагаемую финансовую модель и выдели ключевые риски.

[вставить финансовую модель]

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


🧠

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

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

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

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

Рычаги управления: - Список СТОП-доменов — меняй под задачу. Чем конкретнее формулировка, тем точнее триггер. - Что делать при СТОП — можно заменить «не давай ответа» на «дай ответ, но с явным дисклеймером и тремя вопросами для проверки». - Жёсткость правила — слово «ПРАВИЛО» и «НЕ рекомендация» — не риторика. Это усиливает вес инструкции в контексте.


📋

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

Ты работаешь в режиме маршрутизации по доменам.

ЖЁСТКОЕ ПРАВИЛО:
Следующие домены — СТОП-зоны:
- {слабый_домен_1}
- {слабый_домен_2}

При попадании в СТОП-зону:
1. Напиши: "⚠️ СТОП: [название домена] — слабая зона"
2. Сформулируй конкретный вопрос, который нужно задать эксперту
3. НЕ отвечай по существу
4. Продолжи анализ других частей задачи

Для остальных доменов — отвечай полностью.

Задача: {задача}

Что подставлять: - {слабый_домен_1/2} — конкретные области, где ты знаешь (или подозреваешь), что модель ошибается: налоговое право, медицинские дозировки, технические регламенты, актуальные события после 2023 года - {задача} — твоя задача целиком

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


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

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

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

LLM спросит, какие домены пометить как СТОП-зоны — потому что без этого правило не работает: нужно явно назвать зоны риска для конкретной задачи.


⚠️

Ограничения

⚠️ Не отменяет проблему, только ограничивает ущерб: Если ты не знаешь, в каких доменах модель слаба — правило написать не получится. Метод работает только там, где у тебя уже есть гипотеза о слабостях.

⚠️ Частичное решение: Даже с нормативной инструкцией (C3 — аналог нашего шаблона) процент провалов снизился с 60% до 51%, а не до нуля. Полное устранение требует внешней системы маршрутизации — то есть кода. В чате ты получаешь улучшение, но не гарантию.

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

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


🔍

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

Исследователи создали 597 составных агентных задач — каждая требовала двух разных доменов одновременно (например, математика + история). Идея была простой: если модель знает, что она слабее в домене X, будет ли она вести себя иначе на задачах с X?

Чтобы было честно, сначала отдельно проверили, в каких доменах каждая модель действительно слабее (5000 вопросов по 8 областям). Потом запустили четыре условия: модель без подсказок, модель с собственными оценками, модель с оценками и инструкцией «эскалируй», и внешняя система, которая сама блокировала слабые домены без участия модели.

Результат оказался неожиданно жёстким: дать модели её оценки (C1→C2) не изменило ничего — буквально +0.5% к провалам, статистически незначимо. Добавление инструкции «эскалируй» (C3) дало снижение с 60% до 51%. Только полное изъятие решения из рук модели (C4) дало 76% снижение.

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


💡

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

💡 Адаптация: СТОП-зоны по типу источника, не по домену

Слабость модели — не только в темах, но и в типах информации: актуальные данные (после даты обучения), локальные нормативы, конкретные цифры (цены, ставки, тарифы). Можно строить СТОП-зоны не по теме, а по типу:

СТОП-зоны по типу информации:
- Любые конкретные цифры: цены, ставки, тарифы — уточни актуальную версию
- Нормативные акты после 2023 года — проверь редакцию
- Региональные особенности (не федеральный уровень) — требует локального источника

🔧 Техника: мягкий флаг вместо жёсткого СТОП → для задач, где нужен ответ, но с маркировкой

Если полная остановка слишком жёсткая (нужна хоть какая-то версия ответа), замени правило:

При попадании в СТОП-зону:
1. Напиши: "⚠️ НЕУВЕРЕННЫЙ ОТВЕТ: [домен]"
2. Дай ответ, но сразу после него сформулируй 2-3 пункта для проверки
3. Продолжи анализ

Это C3 из исследования в чистом виде — не блокирует, но явно маркирует. Снижение провалов частичное, зато сохраняется полный вывод.


💡 Экстраполяция: принцип «знание ≠ действие» для мультиагентных промптов

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

Агент-критик останавливается в одном случае:
если задача затрагивает [домен] — он не критикует по существу,
а пишет: "Требуется внешняя верификация: [что именно проверить]"

Без этого правила агент-критик будет уверенно критиковать даже там, где не должен.


🔗

Ресурсы

MIRROR: A Hierarchical Benchmark for Metacognitive Calibration in Large Language Models

Автор: Jason Z Wang (Independent)

Связанные работы, упомянутые в исследовании: - Kadavath et al., 2022 — LLM self-prediction accuracy - Schmied et al., 2025 — RL fine-tuning для knowing-doing gap - Wang & Zhao, 2024 — metacognitive prompting - Nelson & Narens, 1990 — классическая теория метакогнитивного мониторинга и контроля (психология)


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

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

Парадокс: LLM точно называет домены, где плохо справляется — но в 56% случаев всё равно уверенно ошибается. Метод позволяет блокировать эти уверенные провалы в заданных слабых зонах — без дообучения и без кода. Жёсткий запрет в промпте (не просьба — именно правило) сдвигает выбор с модели на структуру текста. Процент уверенных провалов падает на 76%.

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

LLM не принимает решений — она продолжает текст. По умолчанию «продолжить» статистически вероятнее чем «остановиться». Поэтому «знаю, что слаб в налоговом праве» не конвертируется в «остановлюсь и скажу об этом». Когда пишешь «X — СТОП-зона, не отвечай по существу» — ты не просишь модель решить. Ты делаешь флаг следующим вероятным токеном — модель не решает, она следует паттерну из промпта. Слова «ЖЁСТКОЕ ПРАВИЛО» и «не рекомендация» — не риторика. Они увеличивают вес инструкции в контексте.

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

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

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

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

Мини-рецепт

1. Составь карту слабостей: задай 3-5 фактических вопросов по каждому домену задачи. Зафиксируй, где модель ошибается на проверяемых фактах или добавляет оговорки.
2. Назначь СТОП-зоны: не «учти, что ты слаб в X» — а «X — СТОП-зона» с конкретным запретом на ответ по существу.
3. Пропиши что делать при срабатывании: флаг (напиши «СТОП: [домен]») + задача сформулировать конкретный вопрос для эксперта + явный запрет давать ответ.
4. Назови это правилом, не советом: «ЖЁСТКОЕ ПРАВИЛО (не рекомендация)» — это не ритуал, это сдвиг веса в контексте.

Примеры

[ПЛОХО] : Ты плохо знаешь налоговое право 2024 года, учти это при анализе финансовой модели
[ХОРОШО] : ЖЁСТКОЕ ПРАВИЛО (не рекомендация, а правило): Налоговое право РФ — СТОП-зона. При касании этого домена: 1. Напиши: СТОП: налоговое право — слабая зона 2. Сформулируй конкретный вопрос для налогового консультанта 3. НЕ давай ответа по существу 4. Продолжи анализ остальных частей задачи Задача: проанализируй прилагаемую финансовую модель
Источник: MIRROR: A Hierarchical Benchmark for Metacognitive Calibration in Large Language Models
ArXiv ID: 2604.19809 | Сгенерировано: 2026-04-23 05:28

Проблемы LLM

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

Методы

МетодСуть
СТОП-зоны — внешняя маршрутизация по доменамПеред задачей определи домены где модель ошибается. Встрой в промпт жёсткое правило: при попадании в слабый домен — остановиться и поставить флаг, не отвечать по существу. ЖЁСТКОЕ ПРАВИЛО: при теме {слабый домен} — напиши ⚠️ СТОП, сформулируй вопрос для эксперта, НЕ давай ответа. Почему работает: модель не «принимает решение» остановиться. Она генерирует токены по паттерну в контексте. Прямой запрет делает флаг вероятным следующим токеном — вместо продолжения ответа. Как найти слабые домены: задай 3–5 проверяемых фактических вопросов по теме. Где модель ошибается или добавляет оговорки — это СТОП-зона. Ограничение: снижает число уверенных ошибок, но не до нуля. Гарантия — только при внешней системе проверки вне чата

Тезисы

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

MIRROR: A Hierarchical Benchmark for Metacognitive Calibration inLargeLanguageModels

arXiv: 2604.19809

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

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

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

Возьмем реальный кейс: ты просишь Claude разобрать бизнес-план, где смешаны маркетинг и юридические тонкости. В маркетинге модель — лев толстой, а в законах — формально всё сказала, но мимо кассы. Если использовать старый подход «просто ответь», она нагаллюцинирует тебе штрафов на миллионы. Но если применить принцип иерархической калибровки, модель сначала просканирует свои компетенции, поймет, что в юриспруденции она «плавает», и вместо опасных советов выдаст заглушку. Этот принцип универсален: он применим в медицине, кодинге или финтехе — везде, где цена ошибки выше, чем стоимость твоего времени на проверку.

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

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

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

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