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 — классическая теория метакогнитивного мониторинга и контроля (психология)
