Self-Verification

[object Object]

Self-Verification — это паттерн, где модель не ограничивается первым найденным ответом, а делает второй проход и проверяет, можно ли подтвердить этот ответ обратным reasoning. Идея близка к человеческой привычке "решил задачу -> теперь подставь результат обратно и проверь, сходится ли".

В 2026 техника полезна как дешёвый verification-слой для reasoning-задач, где one-pass ответ часто почти правильный, но иногда срывается на одном промежуточном шаге. Вместо того чтобы просто сэмплировать несколько ответов, вы заставляете модель объяснить, почему уже выбранный ответ должен быть верным.

Если модель говорит "ответ 42", self-verification спрашивает: "Ок, покажи, как из ответа 42 обратно получается согласованная картина условий задачи".

Коротко

Self-Verification работает в два этапа:

  1. модель получает кандидатный ответ;
  2. модель делает обратную проверку и оценивает, выдерживает ли ответ условия задачи.
ПромптGemini 2.5 Pro
Сначала реши задачу. Затем проверь свой ответ обратным ходом: подставь найденное значение в условия и оцени, всё ли согласуется.

Число увеличили на 15%, а потом уменьшили на 30 и получили 200. Найди исходное число.
Ответ модели

Кандидатный ответ: 200 / 1.15 + 30 = неверная формула.

Проверка: Пусть исходное число x. После увеличения: 1.15x. После уменьшения на 30: 1.15x - 30 = 200. Тогда 1.15x = 230, x = 200.

Обратная проверка: 200 -> 230 после +15% -> 200 после -30. Ответ согласован.

Итог: исходное число = 200.

Техника особенно полезна для арифметики, логики, word problems и rule-based reasoning.

Почему техника работает

Обычный reasoning часто ломается в одном локальном месте:

  • модель неверно переносит число;
  • путает знак;
  • теряет одно ограничение;
  • слишком рано фиксирует ответ.

Self-Verification полезен тем, что ставит второй барьер перед финальным ответом. Модель должна не просто "верить себе", а подтвердить найденное решение через обратную проверку.

Это делает технику особенно ценной там, где можно построить обратный тест:

  • подставить число в формулу;
  • восстановить исходные условия;
  • проверить согласованность ограничений;
  • пересчитать путь от ответа назад к задаче.

Чем Self-Verification отличается от Self-Consistency

Self-Consistency сравнивает несколько независимых reasoning-path и выбирает наиболее согласованный ответ.

Self-Verification берёт уже полученный ответ и пытается подтвердить его через отдельный верификационный проход.

Практически это означает:

  • Self-Consistency больше про выбор среди кандидатов;
  • Self-Verification больше про проверку конкретного кандидата.
Без верификации
Модель получила правдоподобный ответ и сразу его выдала. Ошибка в одном числе осталась незамеченной.
С self-verification
Модель обязана вернуть ответ обратно в условия задачи и проверить, что все ограничения действительно сходятся.

Когда техника особенно полезна

Self-Verification хорошо работает для:

  • math word problems;
  • логических задач;
  • задач на даты и проценты;
  • rule-based classification;
  • аналитических сценариев, где ответ можно перепроверить через формулу или constraint set.

Она слабее там, где верификация сама по себе неоднозначна: творческий текст, открытый brainstorming, расплывчатые бизнес-рекомендации.

Как задавать промпт

Техника заметно лучше работает, если вы явно разделяете:

Ограничения техники

Self-Verification не стоит идеализировать.

  • Если модель слабо понимает задачу, она может и решать, и проверять одинаково плохо.
  • Если проверочный промпт почти совпадает с исходным, второй проход не даёт независимости.
  • Если задача требует внешних фактов, нужна не только verification, но и retrieval.

Отдельный риск: модель может рационализировать ошибку и написать красивую "проверку" вокруг неверного ответа. Поэтому для high-stakes use cases полезны дополнительные stop rules и spot-checks.

Как использовать в 2026

Сегодня Self-Verification особенно полезен в экономичных пайплайнах, где:

  • нельзя позволить себе 10-20 сэмплов как у heavy self-consistency;
  • но хочется второй проход перед тем, как ответ уйдёт пользователю.

Это хороший компромисс между cost и надёжностью. Один verification-pass часто даёт заметную прибавку к качеству на structured reasoning задачах.

Где техника даёт реальный выигрыш в продукте

На практике она окупается там, где downstream сильно чувствителен к локальной ошибке:

  • калькуляторы и финсоветы;
  • pricing и расчёт скидок;
  • support-боты по правилам;
  • внутренние аналитические ассистенты;
  • генерация ответов по чётким policy docs.

Если ложноположительный ответ дорогой, Self-Verification часто стоит добавить раньше, чем сложные orchestration-цепочки.

Техническая реализация

const solve = await model(`Реши задачу:\n${task}`)

const verify = await model(`
Проверь этот ответ обратным ходом.
1. Восстанови условия задачи из ответа.
2. Скажи, согласуется ли ответ со всеми ограничениями.
3. Если нет, пересчитай.

Ответ для проверки:
${solve}
`)

Практический совет: полезно просить не только текст проверки, но и явный verified: true/false. Такой флаг можно использовать в router или UI.

Проверьте себя

1. Что является главным шагом Self-Verification?

2. Чем Self-Verification отличается от Self-Consistency?

3. Когда техника особенно полезна?