3,583 papers
arXiv:2605.14186 81 13 мая 2026 г. FREE

Metacognitive Harness: управление повторными попытками через сигналы уверенности модели

КЛЮЧЕВАЯ СУТЬ
У LLM есть внутренний детектор «я не знаю» — он работает, коррелирует с реальной точностью и проверен на девяти моделях. Проблема в другом: без явного запроса модель его просто не использует — выдаёт ответ на сложный вопрос с той же невозмутимостью, что и на очевидный. Metacognitive Harness позволяет вытащить этот сигнал наружу и превратить его в команду: низкая уверенность — попробуй снова. Фишка: на повторной попытке модель видит только итог предыдущего ответа и причину сомнений — но не само рассуждение. Так она не тащит за собой старую ошибку, а начинает заново с нужным фокусом.
Адаптировать под запрос

TL;DR

У любой LLM есть скрытый канал самооценки: до ответа модель чувствует, знает ли она ответ, а после — понимает, насколько верен её вывод. Metacognitive Harness — это техника, которая вытаскивает эти сигналы явным образом и использует их как рычаг: доверять ответу, попросить переделать или собрать несколько попыток и выбрать лучшую.

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

Метод разделяет мониторинг и действие на два явных сигнала: FOK (Feeling of Knowing — ощущение знания) до ответа и JOL (Judgment of Learning — оценка качества) после. Если уверенность низкая — модель получает компактную обратную связь и пробует снова, не зная предыдущего рассуждения (только итог и причину сомнений). Если высокая — ответ принимается сразу.


🔬

Схема метода

ШАГ 1: FOK-запрос (до ответа)
  → Модель даёт оценку 0–1: "насколько уверена, что знает ответ"
  → Без рассуждений, без вычислений — только интуитивная оценка

ШАГ 2: Решение задачи
  → Модель отвечает полноценно
  → После ответа даёт JOL-оценку 0–1 + причину сомнений

ШАГ 3: Решение "доверять или повторить"
  → Высокая уверенность (JOL близко к 1) → принять ответ
  → Низкая уверенность → перейти к шагу 4

ШАГ 4: Повторная попытка с metacognitive-контекстом
  → Модель видит: предыдущий ответ + JOL-оценку + причину сомнений
  → НЕ видит: предыдущее рассуждение (чтобы не зацикливаться на ошибке)
  → Снова генерирует ответ + JOL

ШАГ 5: Агрегация (если несколько попыток)
  → Отдельный блок: сравнить попытки по рассуждению и ответу
  → Выбрать лучшую (без учёта JOL-оценок между попытками)

Все шаги можно запустить в одном длинном промпте или разбить на несколько запросов.

🚀

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

Задача: Ты готовишь питч инвестору для EdTech-стартапа — онлайн-платформы репетиторов. Нужно за 3 минуты объяснить, почему не умрёшь от конкуренции со Skyeng и Учи.ру.

Промпт:

Я задам тебе задачу. Прежде чем отвечать, выполни три шага строго по порядку.

---

ШАГ 1 — ТОЛЬКО ЭТО:
Оцени по шкале 0.0–1.0, насколько ты уверена, что сможешь дать точный и глубокий ответ на следующий вопрос. Не рассуждай, не начинай отвечать — только число и одно предложение почему.

Вопрос: «Как маленькому EdTech-стартапу (платформа репетиторов, 200 тысяч рублей в месяц выручки) обосновать инвестору устойчивость к конкуренции со Skyeng и Учи.ру в питче на 3 минуты?»

Формат ШАГ 1:
FOK: [число]
Причина: [одно предложение]

---

ШАГ 2 — после того как написал FOK:
Ответь на вопрос развёрнуто. Дай конкретные аргументы и структуру питча.

---

ШАГ 3 — сразу после ответа:
Оцени по шкале 0.0–1.0, насколько ты уверена, что твой ответ точный, полезный и применимый именно для этой ситуации. Укажи главную причину сомнений (если есть).

Формат ШАГ 3:
JOL: [число]
Сомнение: [одно предложение]

Результат:

Модель сначала выдаст FOK-оценку — например, 0.7, с пояснением «у меня нет данных по специфике этого рынка». Затем развёрнутый ответ с аргументами. Затем JOL — например, 0.6, с уточнением «не знаю текущих метрик Skyeng и реальной ниши стартапа».

Если JOL ниже 0.75 — вставляешь второй промпт (шаблон ниже). Модель попробует снова, зная только итог и причину сомнений, не повторяя старое рассуждение. Финальная попытка — как правило, точнее и конкретнее.


🧠

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

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

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

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

Рычаги управления: - Порог JOL (например, 0.75) — ниже этого → повтор. Понизь порог для простых задач, повысь для критичных решений - Число попыток — в исследовании среднее было 2.4. Поставь лимит 2–3 для экономии - Контекст повтора — передавай только JOL + причину, не полное рассуждение. Это принципиально - Агрегация — при нескольких попытках убери JOL-оценки из контекста финального выбора: модель судит по качеству рассуждения, а не по самоуверенности


📋

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

Я задам тебе задачу. Выполни строго три шага.

---

ШАГ 1 — только это:
Оцени по шкале 0.0–1.0 уверенность, что дашь точный ответ на вопрос ниже.
Не рассуждай, не начинай отвечать — только число и одно предложение.

Вопрос: {твой_вопрос}

FOK: [число]
Причина: [одно предложение]

---

ШАГ 2:
Ответь на вопрос развёрнуто.

---

ШАГ 3 — сразу после ответа:
Оцени по шкале 0.0–1.0 уверенность, что твой ответ точный и применимый.
Укажи главную причину сомнений.

JOL: [число]
Сомнение: [одно предложение]

Если JOL < {порог} — промпт для повтора:

Твой предыдущий ответ: {предыдущий_ответ}
Твоя уверенность была: {JOL}
Причина сомнений: {сомнение}

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

После ответа снова дай:
JOL: [число]
Сомнение: [одно предложение]

Если несколько попыток — финальный выбор:

У меня есть {N} вариантов ответа на вопрос: {вопрос}

{Попытка 1: рассуждение + ответ}
{Попытка 2: рассуждение + ответ}

Сравни варианты по качеству рассуждения и точности ответа.
Выбери лучший и объясни почему.

Плейсхолдеры: - {твой_вопрос} — сама задача - {порог} — ваша планка доверия (рекомендую 0.75–0.8 для сложных задач) - {предыдущий_ответ}, {JOL}, {сомнение} — берёшь из ответа на ШАГ 3 - {N}, {Попытка 1...} — при финальной агрегации


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

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

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

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


⚠️

Ограничения

⚠️ Не все модели одинаково самосознательны: В исследовании только Claude Sonnet-4.6 прошёл полную диагностику — его FOK/JOL реально коррелируют с точностью и хорошо откалиброваны. Gemini-Flash различал правильные и неправильные ответы, но числа были ненадёжны как пороговые значения. Gemma-4 почти не давал полезного сигнала. Перед серьёзным использованием стоит проверить — попроси модель оценить 10 вопросов с известными ответами и посмотри, совпадает ли уверенность с реальностью.

⚠️ Не для простых задач: Метод увеличивает количество запросов (в среднем в 2.4 раза). Для очевидных вопросов — это трата. Применяй на задачах, где правильность действительно важна: анализ, стратегия, сложные выводы.

⚠️ Ручное применение утомительно при большом объёме: Если нужно обработать 50 похожих задач подряд — без автоматизации это медленно. Метод лучше всего работает для штучных, важных запросов в чате.

⚠️ FOK без рассуждений — против природы модели: Промпт в ШАГ 1 должен явно запрещать любые вычисления до оценки. Если модель начнёт решать до FOK — сигнал потеряет смысл: она будет оценивать уверенность уже зная ответ.


🔍

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

Команда из UC San Diego взяла девять разных LLM и задала им один тест: прошу оценить уверенность до и после ответа — и посмотрим, совпадает ли это с реальной точностью. Результат оказался неожиданным: сигнал есть у большинства. Модели с высоким FOK/JOL действительно отвечали правильнее. Но вот что поразительно — этот сигнал никак не влиял на их поведение. Уверенные и неуверенные вопросы получали одинаковое количество "думательных усилий". Разрыв между знанием и действием был очевидным.

Тогда исследователи построили управляющее кольцо: зафиксировали один базовый Claude Sonnet-4.6 (без изменений весов) и добавили только слой контроля — FOK до, JOL после, SVM-классификатор для решения "доверять или повторить". Проверили на трёх бенчмарках: экспертные вопросы STEM (HLE-Verified), сложный код (LiveCodeBench v6), мультимодальные задачи (R-Bench-V) — суммарно 1859 примеров. Важно: диагностическую выборку (100 вопросов для обучения SVM) держали строго отдельно от тестовой — чтобы не было утечки данных.

Итог: +8.6 процентных пункта к точности при средней стоимости 2.4 попытки вместо одной. Самый большой прирост — на сложных задачах по коду (+19.6 на Hard split). Параллельное сравнение показало: это не просто "больше попыток" — обычная выборка 4 попыток давала меньше при большей стоимости. Главный вклад — умение остановиться рано когда уверен, и попробовать снова когда нет.


💡

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

🔧 Техника: FOK без числа → качественная самооценка

Если числовая шкала 0–1 кажется ненадёжной для конкретной модели, замени на категории:

Перед ответом оцени: "Уверен / Скорее уверен / Не уверен / Не знаю"
и одним предложением объясни почему.

Модели иногда дают более честную оценку через категории, чем через числа — меньше стремление дать "приличное" число.

🔧 Экстраполяция: Metacognitive Harness как фильтр для важных решений

Применяй FOK/JOL не для повтора, а для флага: если JOL ниже порога — это сигнал, что надо проверить ответ другим способом (поиском, экспертом, альтернативной моделью). Не автоматический повтор, а рекомендация "этому ответу нужна верификация".

После ответа дай:
JOL: [0.0–1.0]
Сомнение: [в чём неуверен]
Рекомендация по верификации: [что проверить, где уточнить]

🔗

Ресурсы

Статья: LLMs Know When They Know, but Do Not Act on It: A Metacognitive Harness for Test-time Scaling

Авторы: Qi Cao, Peijia Qin, Yufan Wang, Shuhao Zhang, Pengtao Xie — University of California, San Diego

Теоретическая основа: Nelson–Narens metacognition framework (когнитивная психология)

Бенчмарки: HLE-Verified, LiveCodeBench v6, R-Bench-V


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

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

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

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

Метод запрашивает два явных сигнала: FOK (ощущение знания) — до ответа, JOL (оценка качества) — после. Оба на шкале 0–1, оба с одним предложением причины. Если JOL ниже порога (скажем, 0.75) — запускается повтор, но контекст обрезается: только предыдущий ответ и что именно смутило, без цепочки рассуждений. Это не «попроси дважды». Это контролируемая амнезия: модель помнит куда пришла, но не помнит как — и ищет другой путь. FOK без рассуждений — отдельный трюк: если модель начнёт решать до оценки, сигнал теряет смысл, она будет оценивать уверенность уже зная ответ.

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

LLM генерирует текст токен за токеном и физически не может остановиться в середине — нет механизма «стоп, что-то не так». Но если явно спросить «оцени уверенность» — ответ честный. Это подтверждено: у кого FOK и JOL выше — у тех и правильных ответов больше, на девяти моделях. Модель не врёт о своей неуверенности. Она просто не использует это знание, если её не попросить. Metacognitive Harness разрывает эту пассивность — вытаскивает сигнал как явное число и делает из него инструкцию к действию.

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

Анализ, стратегия, сложные выводы — особенно когда ошибка дорого стоит и нет возможности проверить ответ снаружи. Хорошо работает для штучных важных запросов в чате: юридический анализ, продуктовые решения, питч-аргументация, сложные технические выводы. НЕ подходит для простых и очевидных задач — метод увеличивает число запросов в среднем в 2.4 раза. Для потока из 50 однотипных задач — нужна автоматизация, вручную будет медленно. Проверь модель перед серьёзным использованием: попроси оценить 10 вопросов с известными ответами и посмотри, совпадает ли уверенность с реальностью. Claude Sonnet даёт надёжный сигнал, Gemini Flash — частично, Gemma-4 — почти нет.

Мини-рецепт

1. Запроси FOK до ответа: попроси оценить уверенность от 0 до 1 и одну причину — и явно запрети любые рассуждения до этой оценки. Иначе модель сначала решит, потом оценит — и сигнал потеряет смысл.

2. Получи ответ + JOL после: после развёрнутого ответа — снова оценка 0–1 и главное сомнение одним предложением.

3. Реши: принять или повторить. Если JOL ниже порога (0.75–0.8 для важных задач) — запускай повтор. Передай только: предыдущий ответ, JOL-оценку, причину сомнений. Рассуждение — не передавай.

4. При нескольких попытках — финальный выбор по рассуждению, а не по JOL-оценкам. Попроси модель сравнить варианты по логике и точности, игнорируя числа уверенности — иначе она выберет самую самоуверенную попытку, а не лучшую.

Примеры

[ПЛОХО] : Как маленькому EdTech-стартапу обосновать инвестору устойчивость к конкурентам в питче на 3 минуты?
[ХОРОШО] : Выполни три шага строго по порядку. ШАГ 1 — только это: Оцени от 0.0 до 1.0 уверенность, что дашь точный ответ на вопрос ниже. Не рассуждай, не начинай отвечать — только число и одно предложение почему. Вопрос: «Как маленькому EdTech-стартапу (платформа репетиторов, 200 тысяч рублей в месяц) обосновать инвестору устойчивость к конкуренции со Skyeng в питче на 3 минуты?» FOK: [число] Причина: [одно предложение] ШАГ 2: Ответь развёрнуто — аргументы и структура питча. ШАГ 3 — сразу после ответа: Оцени от 0.0 до 1.0 точность и применимость ответа для этой ситуации. Укажи главную причину сомнений. JOL: [число] Сомнение: [одно предложение] Если JOL вышло ниже 0.75 — отправляешь второй запрос: Твой предыдущий ответ: [ответ из шага 2] Твоя уверенность была: [JOL] Причина сомнений: [сомнение из шага 3] Попробуй ответить заново, зная про эти сомнения. Не копируй предыдущее рассуждение — начни с чистого листа. После ответа снова дай: JOL: [число] Сомнение: [одно предложение]
Источник: LLMs Know When They Know, but Do Not Act on It: A Metacognitive Harness for Test-time Scaling
ArXiv ID: 2605.14186 | Сгенерировано: 2026-05-15 05:36

Проблемы LLM

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

Методы

МетодСуть
Двойная самооценка + умный повтор — как выжать надёжный ответТри шага в одном запросе. Шаг 1 — перед ответом: попроси число от 0 до 1 — насколько модель уверена, что знает ответ. Запрети рассуждать до оценки: Только число и одно предложение. Не начинай отвечать. Шаг 2 — ответ: модель отвечает полностью. Шаг 3 — после ответа: попроси второе число — насколько уверена, что ответ точный. Плюс одно предложение: в чём главное сомнение. Если второе число ниже 0.75 повторный запрос. Формат повтора: Твой предыдущий ответ: {ответ}. Твоя уверенность: {число}. Причина сомнения: {фраза}. Попробуй снова с чистого листа. Ключевое: передавай только итог + причину сомнения. НЕ передавай предыдущее рассуждение. Если передашь рассуждение — модель пойдёт тем же путём и повторит ту же ошибку. Когда применять: сложный анализ, стратегические выводы, важные решения. Не применяй для простых вопросов — в среднем число запросов вырастает в 2.4 раза

Тезисы

ТезисКомментарий
Числовая самооценка уверенности коррелирует с реальной точностьюКогда явно просишь модель поставить число (не слово), эта оценка отражает реальность. У кого выше самооценка — у тех и больше правильных ответов. Просто попросить "оцени уверенность от 0 до 1" уже достаточно. Без явного запроса — этот сигнал никуда не проходит. Важно: не все модели одинаково точны. Перед серьёзным использованием проверь: задай 10 вопросов с известными тебе ответами, попроси оценить уверенность — посмотри совпадает ли
📖 Простыми словами

LLMsKnow When They Know, but Do Not Act on It: A Metacognitive Harness for Test-time Scaling

arXiv: 2605.14186

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

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

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

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

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

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

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

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