TL;DR
Если просишь LLM сравнить два варианта текста и вынести вердикт, лучше делать это одним запросом, где модель сама пишет критерии, находит доказательства и сразу выбирает победителя. Как только ты разбиваешь это на два отдельных запроса — сначала "собери доказательства, не выбирая победителя", потом "выбери победителя только на основе этих заметок" — качество решения падает.
Проблема в том, что заметки не заменяют оригинал. Когда модель на первом шаге описывает плюсы и минусы текстов А и Б, она неизбежно что-то упускает или формулирует под влиянием того, какой текст показали первым. На втором шаге модель этого уже не видит — у неё нет доступа к оригинальным текстам, только к своей же записи. Она не может исправить то, что забыла отметить.
Метод Evidence Lock (замороженная улика) — это ровно такая двухшаговая схема: шаг 1 фиксирует доказательства без вердикта, шаг 2 решает только по этой записи, без доступа к исходным текстам. Исследование показывает: это снижает совпадение с человеческими оценками на 4-6 процентных пунктов и делает вердикт менее стабильным — если поменять местами порядок текстов А и Б, ответ меняется на 8-10 пунктов чаще. При этом простое "напиши критерии и доказательства перед вердиктом" в одном вызове работает почти так же хорошо, как обычное сравнение без всякой структуры.
Схема метода
Что портит результат (Evidence Lock) — избегай этого:
ЗАПРОС 1: Найди критерии и доказательства в тексте А и тексте Б.
Не выбирай победителя. → текстовая заметка (замороженный протокол)
ЗАПРОС 2 (видит ТОЛЬКО заметку из шага 1, БЕЗ оригинальных текстов):
Выбери А, Б или ничья на основе заметки
Что работает (Structured) — используй это:
ОДИН ЗАПРОС:
1. Определи критерии оценки
2. Найди конкретные доказательства для А и Б по каждому критерию
3. Определи решающий критерий
4. Сравни А и Б по нему
5. Вынеси вердикт: А, Б или ничья
(модель всё это время видит оригинальные тексты)
Пример применения
Задача: Руководитель отдела продаж получил два варианта скрипта холодного звонка от двух копирайтеров и просит ИИ выбрать лучший.
Промпт:
Сравни два варианта скрипта холодного звонка для продажи CRM-системы малому бизнесу.
1. Определи 4 критерия оценки скрипта (например: цепляет внимание в первые
10 секунд, снимает типичные возражения, звучит естественно, ведёт к
конкретному следующему шагу).
2. Для каждого критерия найди конкретные фразы-доказательства в Варианте А
и в Варианте Б.
3. Укажи, какой критерий здесь решающий и почему.
4. Сравни А и Б именно по этому критерию.
5. Дай вердикт: А, Б или ничья — с коротким обоснованием.
Вариант А:
{текст скрипта 1}
Вариант Б:
{текст скрипта 2}
Результат: Модель выдаст один связный ответ: список критериев, цитаты-доказательства из обоих скриптов под каждым критерием, объяснение какой критерий решающий, и финальный вердикт с обоснованием. Всё в одном сообщении — без промежуточных "заморозок".
Почему это работает
LLM не умеет достоверно передавать внутренний ход рассуждений через текстовую заметку. Когда модель описывает доказательства словами, она сжимает и огрубляет то, что видела в оригинале — часть нюансов теряется. Это не проблема "недостаточно подробного описания": любая заметка неизбежно теряет часть контекста.
Сильная сторона LLM — она хорошо сравнивает объекты когда видит их одновременно, в одном контексте, здесь и сейчас. Пока оригинальные тексты остаются в поле зрения, модель может "передумать", заметить деталь, которую не упомянула в явном виде, скорректировать вывод на лету.
Structured judging использует именно эту сильную сторону: просит структуру (критерии → доказательства → вердикт), но не отбирает у модели доступ к первоисточнику. Evidence Lock ломает это — отбирает оригиналы и оставляет только урезанный слепок, по которому модель вынуждена решать.
Рычаг управления: если тебе всё же нужна многошаговая проверка (например, разные люди в команде должны последовательно review-ить решение) — держи оригинальные тексты доступными на каждом шаге, а не только на первом. Не давай финальному шагу решать "по протоколу" — давай решать "по протоколу и первоисточнику".
Шаблон промпта
Сравни {объект А} и {объект Б} для задачи: {задача}.
1. Определи {число} критериев, важных для этой задачи.
2. Для каждого критерия найди конкретные доказательства (цитаты, детали)
в {объект А} и в {объект Б}.
3. Определи, какой критерий здесь решающий, и объясни почему.
4. Сравни {объект А} и {объект Б} именно по решающему критерию.
5. Дай вердикт: {объект А}, {объект Б} или ничья — с кратким обоснованием.
{объект А}: {текст/содержание А}
{объект Б}: {текст/содержание Б}
Подставляй в {объект А} и {объект Б} — любые два варианта, которые сравниваешь (тексты, предложения подрядчиков, черновики, ответы поддержки). {число} — обычно 3-5 критериев достаточно.
🚀 Быстрый старт — вставь в чат:
Вот шаблон структурированного сравнения. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какие два объекта сравнивать и что для тебя важно в оценке — потому что от этого зависят критерии на шаге 1. Она возьмёт структуру шаблона и адаптирует под твою задачу.
Ограничения
⚠️ Не разделяй сравнение на отдельные запросы: если хочешь оценить два варианта — не проси LLM сначала "собери факты" в одном сообщении, а затем в новом чате или сообщении "теперь реши на основе этих фактов". Каждый раз, когда финальное решение отрезано от первоисточника, точность падает.
⚠️ Проверено на текстовых сравнениях общего назначения: исследование тестировало сравнение ответов и обратной связи (не код, не математику). Механизм скорее всего общий, но для узкоспециализированных задач стоит проверять отдельно.
⚠️ Единичный прогон не гарантирует стабильность: даже при хорошем протоколе вердикт может измениться, если поменять порядок предложения вариантов. Если решение важное — попроси сравнить дважды, поменяв А и Б местами, и посмотри, совпадёт ли вывод.
Как исследовали
Исследователи взяли три датасета с реальными человеческими предпочтениями — HelpSteer3, FeedbackQA и CoVal — и выбрали по 500 пар ответов из каждого, всего 1500 сравнений. Каждую пару прогнали через четыре протокола судейства (обычное сравнение, структурированное сравнение, "заморозка доказательств" и "поточечная заморозка" — где ответы вообще оценивают по отдельности), в двух порядках предъявления (А-Б и Б-А), двумя судьями — Claude Sonnet 4.5 и GPT-5. Получилось 24 000 вердиктов.
Сравнивали два показателя: совпадает ли вердикт ИИ с реальным выбором человека, и меняется ли вердикт, если поменять местами порядок вариантов (это показывает, насколько судья устойчив, а не просто угадывает по позиции).
Результат оказался неожиданным: структурированное сравнение в одном запросе почти не отличалось от простого сравнения без всякой структуры — разница в пределах шума. А вот протоколы с "заморозкой" — где промежуточная запись становится единственным входом для финального решения — проигрывали во всех шести комбинациях судья×датасет, причём стабильно. Более того, эти протоколы тратили в 3-5 раз больше токенов (из-за дополнительных вызовов), то есть платили дороже за худший результат. Это показывает: дело не в том, просят ли модель объяснять решение, а в том, отрезают ли её от первоисточника в момент вынесения вердикта.
