3,583 papers
arXiv:2609.04270 79 2 сент. 2026 г. FREE

Cross-Model Review: почему чужая проверка бьёт самопроверку в LLM

КЛЮЧЕВАЯ СУТЬ
TL;DR
Адаптировать под запрос

TL;DR

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

Модель, которая перепроверяет саму себя, отклоняет каждый третий свой же верный ответ — находит повод для критики там, где всё было в порядке. При этом она выглядит "безопасной" (мало испорченных ответов), но это иллюзия: она просто в 85% случаев игнорирует свою же критику. Как только исполнитель слушается собственной критики — почти всегда становится только хуже: из трёх случаев, где модель поправила себя по своему же замечанию, все три ответа стали неверными.

Решение простое: для проверки важного ответа не проси ту же модель или чат перепроверить себя. Дай ответ на проверку другой модели, желательно среднего уровня, из другой компании-разработчика. Она реже поднимает ложную тревогу и чаще реально исправляет ошибку, когда бракует ответ. А слишком слабый ревьюер, который сам не решил бы задачу, просто бесполезен — только жжёт токены, ничего не меняя.

🔬

Схема метода

ШАГ 1: Модель А решает задачу → черновой ответ
ШАГ 2 (отдельный запрос, другая модель/чат): Модель Б смотрит на задачу и ответ модели А, 
       не видя правильного решения → "принять" или "отклонить" + письменная критика
ШАГ 3 (если отклонено, запрос обратно к модели А): Модель А получает свой ответ + критику 
       → пересматривает один раз → финальный ответ

Все три шага — отдельные запросы, шаг 2 лучше выполнять в другом чате или другой модели, не в том же диалоге, где рождался ответ.


🚀

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

Задача: Предприниматель считает в ChatGPT сложный налоговый расчёт — например, сколько выгоднее платить по УСН «доходы» против «доходы минус расходы» при переходе бизнеса на другой оборот, с кучей условий и вычетов.

Промпт (в другом чате или другой модели, например Claude, если считали в ChatGPT):

Вот задача: [условие расчёта — оборот, ставки, вычеты, условия перехода]

Вот решение, которое дала другая модель:
[вставить полный расчёт из первого чата]

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

Результат: Вторая модель либо подтвердит расчёт коротко, либо укажет конкретный шаг с ошибкой и объяснит её. Если нашла ошибку — стоит вернуться в первый чат, показать критику и попросить пересчитать один раз, а не гонять по кругу.


🧠

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

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

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

Разделение ролей между разными моделями снижает число ложных тревог и повышает долю действительно полезных правок. При этом важно не путать это с "чем умнее проверяющий, тем лучше" — в исследовании ревьюер среднего уровня сработал не хуже (а по некоторым метрикам лучше), чем самая мощная модель, проверяющая саму себя.

Рычаги управления: - Уровень модели-проверяющего — не обязательно брать самую мощную модель для проверки; средний уровень справляется эффективно и дешевле. - Что показывать проверяющему — если ответ длинный, давай проверяющему сокращённую версию (финальный расчёт/вывод), а не весь черновик рассуждений — это снижает шум и путаницу. - Число раундов пересмотра — ограничивайся одним пересмотром на основе критики, чтобы не зациклить модель в бесконечном "исправлении" уже верного ответа.


📋

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

Для проверяющей модели:

Вот задача: {задача}

Вот решение этой задачи, полученное от другой модели:
{ответ_первой_модели}

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

Для пересмотра (возврат к исполнителю, если отклонено):

Вот твоё решение задачи: {ответ_первой_модели}

Другая модель дала критику: {критика}

Проверь, обоснована ли эта критика. Если да — исправь решение.
Если критика ошибочна — оставь решение как есть и объясни, почему критика неверна.

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

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

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

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


⚠️

Ограничения

⚠️ Масштаб исследования: всего 100 математических задач, один исполнитель, один шаблон промпта для проверяющего. Это пилотное исследование, а не общее правило для всех типов задач и моделей.

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

⚠️ Проверено только на задачах с точным численным ответом. Для творческих или субъективных задач (тексты, стратегии, дизайн), где нет "правильного ответа" для сверки, результат может отличаться.

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


🔗

Ресурсы

Faizan Tanveer, "Reviewer Capability Governs Rejection Targeting, Not Repair Skill: Evidence from LLM Execute–Review–Revise Pipelines", National University of Computer and Emerging Sciences (FAST NUCES). Код и логи: github.com/faizan-tnvr004/llm-reviewer-capability


Проблемы LLM

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

Методы

МетодСуть
Перекрёстная проверка — другая модель ищет ошибкуТри отдельных запроса. Шаг 1: модель А решает задачу. Шаг 2: модель Б (другая модель или чат, не видит правильный ответ) смотрит на задачу и решение А, пишет "принять/отклонить" + критику. Шаг 3: если отклонено — модель А получает свою критику и пересматривает ответ один раз. Почему работает: модель Б не привязана к ходу мыслей модели А, оценивает решение со стороны и целится в реальные ошибки, а не в мнимые. Когда да: важен точный проверяемый результат — расчёты, код, логика. Когда нет: творческие или субъективные задачи без единственно верного ответа

Тезисы

ТезисКомментарий
Ревьюеру нужен минимальный порог компетентности, а не максимальная мощностьПроверяющая модель должна сама быть способна решить задачу — иначе её критика случайна и бесполезна, только тратит токены. Но выше этого порога сила модели почти не важна: средний по уровню проверяющий целится в ошибки не хуже самого мощного. Это работает потому, что для оценки чужого решения достаточно понимать предметную область, а не превосходить исполнителя. Применяй: для проверки бери модель среднего уровня, желательно из другой компании-разработчика — не переплачивай за топовую
📖 Простыми словами

Reviewer Capability Governs Rejection Targeting, Not Repair Skill: Evidence fromLLMExecute-Review-Revise Pipelines

arXiv: 2609.04270

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

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

Что реально работает: пайплайн Execute-Review-Revise, но с одним критическим условием — проверяющий должен быть чужим. Если отдать решение на проверку другой модели, даже рангом ниже, результат взлетает. Внешний ревьюер бракует реже, но бьёт точно в цель: отсекает реальные галлюцинации и оставляет правильные куски в покое.

Тестировали механику на логических цепочках, но принцип универсален. Считаешь ли ты налоги по УСН с кучей вычетов, генерируешь сложный SQL-запрос или собираешь автономного агента — никогда не замыкай цикл рефлексии на одной LLM. Схема «один пишет, другой проверяет» всегда разносит в щепки любые попытки модели исправить саму себя.

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

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

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

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