TL;DR
SESSE — техника, которая заменяет один общий вердикт «А лучше B» на серию маленьких голосований. Модель сначала придумывает список конкретных критериев сравнения, потом отдельно, вопрос за вопросом, голосует по каждому: A, B или «неприменимо», и только потом складывает голоса в финальный ответ.
Проблема, которую метод решает: когда просишь модель просто сказать «какой вариант лучше», она выдаёт один токен — и в нём смешаны сразу все аспекты качества (структура, тон, точность, убедительность). Ты получаешь ответ, но не понимаешь, почему модель выбрала именно этот вариант, и если спросить её ещё раз — ответ может измениться без всякой причины.
SESSE решает это в пять шагов: собирает случаи, где модель ошибается, превращает их в конкретные критерии-вопросы, группирует похожие критерии, обобщает каждую группу в один понятный вопрос, а затем на каждом новом сравнении голосует по всем подходящим критериям отдельно и выводит итог по большинству голосов.
Схема метода
ШАГ 0 (Sketch, разово): Прогнать модель как обычного судью на наборе примеров → собрать случаи, где она ошиблась
ШАГ 1: Из ошибок сгенерировать критерии-вопросы формата "Если [условие], какой вариант лучше по [свойству]: A, B или НЕТ" → список сырых вопросов
ШАГ 2 (Expand): Сгруппировать похожие вопросы в тематические кластеры (например: тон, структура, точность)
ШАГ 3 (Sort): В каждом кластере оставить самые разные, неповторяющиеся вопросы → банк вопросов
ШАГ 4 (Summarize): Обобщить каждый кластер в один короткий вопрос-заголовок
ШАГ 5 (Evaluate): На новом сравнении — сначала выбрать применимые кластеры, потом ответить на каждый вопрос отдельно (A/B/НЕТ), посчитать голоса без учёта «НЕТ» → финальный вердикт по большинству
Все шаги можно выполнить внутри одного диалога с моделью — без API и кода. Шаг 0 (сбор ошибок на большом датасете) — это разовая офлайн-настройка, для одноразового сравнения его можно пропустить и сразу попросить модель придумать критерии.
Пример применения
Задача: Ты — фрилансер, написал два варианта коммерческого предложения для клиента с помощью нейросети, и не можешь понять, какой сильнее — оба звучат неплохо, но что-то не то.
Промпт:
Сравни два варианта коммерческого предложения. Не давай сразу общий вердикт — сначала разбери по критериям.
Вариант A:
[текст первого КП]
Вариант B:
[текст второго КП]
ШАГ 1. Сформулируй 6-8 конкретных критериев оценки для коммерческого предложения (например: убедительность выгоды, конкретика цифр, тон, структура, призыв к действию, доверие). Для каждого критерия задай вопрос в формате:
"Если [условие, когда критерий применим], какой вариант лучше соответствует [свойство]: A, B или НЕТ (если критерий не применим к этому тексту)?"
ШАГ 2. Сгруппируй похожие вопросы в 3-4 блока, убери дубли — оставь по 2 самых разных вопроса в каждом блоке.
ШАГ 3. Ответь на каждый вопрос отдельно и независимо: A, B или НЕТ. Не пересматривай уже данные ответы, когда отвечаешь на следующий вопрос.
ШАГ 4. Выведи таблицу: критерий → ответ.
ШАГ 5. Посчитай голоса за A и за B (голоса «НЕТ» не считаются). Если голосов больше у одного варианта — назови его победителем и объясни, за счёт чего. Если голоса равны — напиши "ничья: разница стилистическая, критерии не решают".
Результат: Модель выдаст список из 6-8 конкретных вопросов, таблицу с голосами по каждому, и итоговый вывод — не просто «B лучше», а «B выигрывает за счёт конкретики цифр и призыва к действию, A сильнее по тону». Если тексты объективно равноценны, ты увидишь честную «ничью» вместо натянутого выбора.
Почему это работает
Модель плохо справляется с одним сложным субъективным решением — слишком много факторов нужно взвесить одновременно, и решение получается непрозрачным: спроси её дважды — ответ может отличаться.
Зато модель отлично справляется с узкими, конкретными вопросами вроде «в каком варианте больше цифр» или «где тон более уверенный». Каждый такой вопрос — простое бинарное решение, тут модель почти не ошибается и не путается.
Метод разбивает одно трудное решение на много лёгких и складывает голоса. Это как экзамен по одному общему впечатлению превратить в экзамен по чек-листу — итоговая оценка становится проверяемой: можно посмотреть, за какой конкретно пункт модель отдала голос, и не поверить ей на слово.
Рычаги управления: - Число критериев — для быстрого сравнения хватит 4-5, для важного решения (например, выбор подрядчика) — 8-10 - Опция «НЕТ» — позволяет модели честно пропускать критерии, которые не относятся к делу, вместо натянутого выбора - Условие «ничья при равенстве голосов» — можно заменить на «выбери вариант с перевесом хотя бы в 2 голоса», если хочешь более уверенный вердикт - Таблица с голосами — можно попросить убрать, если нужен только финальный ответ, а не разбор
Ограничения
⚠️ Не проверяет факты и исполнение: метод сравнивает предпочтения по критериям, а не проверяет, скомпилируется ли код или верно ли решена задача. Для математики и кода он не заменяет проверку правильности.
⚠️ Дороже одного ответа: вместо одного вопроса модель отвечает на 5-10, а то и больше — это дольше и требует больше сообщений в чате. Для мелких, неважных решений это избыточно.
⚠️ Слабая модель — бесполезный чек-лист: если модель сама плохо разбирается в теме, она выдаёт «ничью» почти в каждом пятом сравнении и вообще плохо годится как судья — декомпозиция не спасает базовую слабость модели.
⚠️ Похожие варианты дают ложные «ничьи»: если оба текста реально почти одинаковы по смыслу (различается только стиль), метод честно скажет «ничья» — и это не ошибка метода, а точный сигнал, что тексты равноценны.
Как исследовали
Исследователи взяли RewardBench — набор почти 3000 пар «ответ A против ответа B» с известным правильным выбором (чат, безопасность, рассуждения). Три модели — от слабой (Qwen2-VL-7B) до сильной (Gemini 2.5 Flash) — сравнивали как обычных судей (просто спросили «кто лучше») и через SESSE.
Оказалось: у сильной модели точность SESSE почти не отличается от простого вопроса (93,3% против 94,5%) — но зато появляется таблица голосов, по которой видно, почему модель выбрала этот вариант. У слабых и средних моделей разрыв заметнее — декомпозиция не спасает, если модель в принципе слабо разбирается в теме.
Самое любопытное открытие: когда SESSE не может определиться и выдаёт «ничью», это почти всегда действительно спорные примеры — на них и обычный судья ошибается чаще. То есть частота «ничьих» — это бесплатный индикатор, сколько в задаче реальной неопределённости, а не брака модели. Также выяснилось, что почти половина «ошибок» сильной модели на самом деле не ошибки — просто сравниваемые тексты были слишком похожи по смыслу, и модель справедливо не смогла выбрать победителя.
Адаптации и экстраполяции
🔧 Техника: критерии на лету вместо сбора ошибок → быстрое разовое сравнение
Оригинальный метод собирает критерии из ошибок модели на большом датасете (нужна выборка примеров и правильных ответов). Для одноразового сравнения в чате это не нужно — попроси модель придумать критерии прямо для твоей пары текстов на месте. Теряется «переиспользуемый банк вопросов», но сохраняется главный принцип — декомпозиция + голосование.
Прежде чем сравнивать эти два текста, сначала выпиши 6 критериев, по которым тексты такого типа обычно оценивают. Потом сравни по каждому критерию отдельно, и только в конце дай общий вывод.
🔧 Техника: применение не к сравнению, а к самооценке одного текста
Тот же принцип работает не только для «А или Б», а для оценки одного текста по чек-листу: попроси модель не сказать «текст хороший», а пройти по конкретным пунктам (ясность, структура, ошибки, тон) и поставить отдельную отметку по каждому — так проверка резюме, письма клиенту или скрипта продаж станет прозрачнее одного расплывчатого «выглядит неплохо».
Ресурсы
SESSE: Sketch, Expand, Sort, Summarize, Evaluate — LLM-as-Judge Evaluation via Structured Decomposition. Dae Lee, Mihai Delgeanu, Adel Youssef (Apple). Сравнение проводилось на бенчмарке RewardBench, метод сопоставлялся с дообученным специализированным судьёй RISE-Judge-32B.
