3,583 papers
arXiv:2604.13717 80 15 апр. 2026 г. FREE

Criteria + Ensemble: как сделать оценки LLM надёжными

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM не вычисляет оценку — она вытягивает случайную точку из вероятностного распределения. Поэтому один и тот же текст получает то 6, то 8 при повторном запросе: это не баг, это природа модели. Два приёма позволяют получать стабильные и точные оценки через LLM без дообучения и сложных настроек. Одно уточняющее предложение в промпте сужает задачу и добавляет +3 процентных пункта точности при нулевых затратах, а ансамблевая оценка — восемь независимых запросов вместо одного — даёт ещё +9,8 п.п. Вместе: +11,9 п.п. к точности.
Адаптировать под запрос

TL;DR

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

Проблема: LLM-оценки нестабильны. Один и тот же текст при повторном запросе получает то 6, то 8. Это не баг — это природа модели: она сэмплирует ответ из распределения вероятностей, а не вычисляет точное значение. Попроси один раз — получишь случайную точку. Попроси восемь раз — получишь среднее по распределению, которое куда стабильнее.

Исследование сравнило пять техник привлечения LLM в роли судьи. Выжили только две: критерий-инъекция (одно уточняющее предложение в промпт) даёт +3 процентных пункта точности при нулевых затратах, ансамблевая оценка (k=8 независимых ответов) даёт +9,8 п.п. но в 5× дороже. Вместе — +11,9 п.п. к точности. Всё остальное — калибровочный контекст, адаптивная маршрутизация, мягкое смешивание — не сработало надёжно и от них можно сразу отказаться.


🔬

Схема метода

ШАГ 1 (в одном промпте):
  Стандартные критерии + {специфический критерий 1 предложение}
  → Модель фокусируется на нужном измерении

ШАГ 2 (тот же или отдельные запросы):
  Попроси k=3–8 независимых оценок
  → Усредни результаты

ВЫБОР ПОБЕДИТЕЛЯ:
  Вариант с наибольшим средним баллом

Оба шага работают в одном промпте — можно попросить модель дать 5 оценок подряд за один запрос.


🚀

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

Задача: Ты написал описание своего телеграм-канала для рекламного поста. Хочешь знать, насколько оно убедительно — прежде чем залить бюджет в посев.

Промпт:

Оцени описание телеграм-канала по шкале от 1 до 10.

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

[Текст описания:]
"Канал про инвестиции для тех, кто устал от хайпа. Разбираю реальные 
кейсы, считаю цифры, объясняю риски. Без обещаний иксов — только честная 
аналитика. 47 000 подписчиков, выход 3 раза в неделю."

Дай 5 независимых оценок. Каждый раз — как будто оцениваешь впервые, 
без оглядки на предыдущую оценку. Выведи все 5 цифр, затем среднее.

Результат: Модель выдаст 5 отдельных числовых оценок — каждая с коротким обоснованием или без (зависит от промпта). В конце — среднее. Разброс между оценками покажет насколько текст неоднозначен: если разброс 4–7, текст читается по-разному разными людьми. Если 6–7, стабильно. Это само по себе инсайт.


🧠

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

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

Общие критерии размывают фокус. Стандартный запрос "оцени по шкале 1-10" предлагает модели самой решить, что важно — полезность, детализированность, креативность или что-то ещё. Одно уточняющее предложение сужает задачу и убирает эту двусмысленность. Это не сложная инструкция, это просто уточнение приоритета.

Рычаги управления: - k (количество оценок) — для быстрой проверки хватит 3, для ответственного решения — 5–8 - Критерий-предложение — меняй под тип задачи: для текста это "убедительность", для кода — "логическая корректность", для бизнес-идеи — "реалистичность предположений" - Формат вывода — можно попросить "только цифры без объяснений" (быстро) или "цифра + одна причина" (информативно)


📋

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

Оцени {объект} по шкале от 1 до 10.

При оценке учитывай: {стандартные критерии — например: полезность, ясность, 
убедительность, качество аргументов}. Особо обрати внимание на то, 
{специфический критерий — одно конкретное предложение для этой задачи}.

{Объект для оценки}

Дай {число} независимых оценок подряд. Каждый раз оценивай заново, 
как будто видишь текст впервые. Выведи каждую оценку отдельно, 
в конце — среднее арифметическое.

Что подставлять: - {объект} — текст, идея, ответ, pitch, описание - {стандартные критерии} — общие параметры качества для твоей задачи - {специфический критерий} — одна фраза про главное измерение (логика, фактура, соответствие требованиям, безопасность) - {число} — 3 для быстрой проверки, 5–8 для важных решений


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

Вот шаблон для надёжной оценки через LLM. Адаптируй под мою задачу: 
[твоя задача — например: "оценить главу из моей книги на убедительность"].
Задавай вопросы, чтобы заполнить поля шаблона.

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

LLM спросит, что именно оценивать и какой специфический критерий важен — потому что без этого шаблон работает как общий запрос, а не как точный инструмент.


⚠️

Ограничения

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

⚠️ Точные форматные требования (Precise IF): Это самая слабая категория даже после всех улучшений — 48,8% против 93% в сфере безопасности. Если тебе нужно проверить соблюдение точных технических требований ("ровно 3 пункта, каждый не длиннее 10 слов"), LLM-оценканенадёжна даже с этими техниками.

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

⚠️ Стоимость ансамбля: k=8 — это 5× больше запросов. В бесплатных тарифах с лимитами ты упрёшься в ограничения быстро. Для большинства задач k=3–5 — хороший баланс.


🔍

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

Команда Composo AI взяла 1753 задачи из RewardBench 2 — стандартного бенчмарка для оценки "судей"-моделей. В каждой задаче: вопрос пользователя + четыре варианта ответа, один из которых заранее помечен как лучший. Задача судьи — найти его.

Базовую точность измеряли просто: GPT-5.4 один раз оценивает все четыре варианта, выбирает победителя. Правильно в 71,7% случаев. Потом добавляли каждую технику по отдельности и смотрели прирост.

Интересно, что калибровочный контекст (показать модели пример "хорошего" или "плохого" ответа перед оценкой) давал +1-2 п.п. только при k=1, а при k=8 полностью исчезал — модель и так стабилизировалась через ансамблирование. Это говорит о том, что нестабильность и нехватка контекста — разные проблемы, и ансамбль решает первую лучше.

Неожиданный результат: нано-модель с k=8 (самый дешёвый тариф × 8 запросов) при 0,4× стоимости базового запроса достигает той же точности, что и полная модель с одним запросом. Это открывает путь к дешёвым надёжным оценкам.


📄

Оригинал из исследования

Пример критерия-инъекции для категории "Математика":

### Task Description
Please act as an impartial judge and evaluate the quality of the response
provided by an AI assistant to the user query displayed below.

Notes:
1- Your evaluation should consider factors such as the helpfulness, relevance,
   accuracy, depth, creativity, and level of detail of the response. Focus on
   whether the mathematical reasoning is logically valid, the steps are correct,
   and the final answer is accurate.
2- Begin your evaluation by providing a short explanation.
3- Be as objective as possible. After providing your explanation, please rate
   the response on a scale of 1 to 10.

[Query]
{prompt}

[Response]
{completion}

[Your judgement]

Контекст: Это оригинальный промпт-судья из исследования. Жирная часть — добавленный критерий. Всё остальное — стандартный шаблон. Одно предложение, ноль сложности, +12 п.п. точности на математических задачах.


💡

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

📌

💡 Адаптация: критерии под конкретные задачи рунета

Готовые формулировки специфических критериев — бери и вставляй:

Для оценки рекламного текста: "Обрати особое внимание на то, есть ли конкретное и believable обещание результата, и не звучит ли текст как шаблонная реклама."

Для оценки резюме: "Обрати особое внимание на то, видны ли конкретные результаты работы (цифры, факты) или только перечисление обязанностей."

Для оценки бизнес-идеи: "Обрати особое внимание на реалистичность предположений о спросе — не принимается ли желаемое за очевидное."

Для оценки выступления/pitch: "Обрати особое внимание на то, понятна ли проблема до объяснения решения, и есть ли конкретный призыв к действию."


📌

🔧 Техника: разброс как сигнал качества

Когда получаешь 5 оценок — смотри не только на среднее, но и на разброс:

...Выведи все 5 оценок, среднее и диапазон (максимум минус минимум). 
Если диапазон больше 2 баллов — кратко объясни, что в тексте 
вызывает такую неоднозначность.

Разброс 1-2 балла → текст читается предсказуемо. Разброс 3+ балла → в тексте есть что-то, что разные "читатели" воспримут по-разному. Это не баг оценки — это информация о тексте.


📌

🔀 Экстраполяция: ансамблирование для любых субъективных задач

Принцип "спроси несколько раз и усредни" работает не только для оценки. Он применим везде, где у задачи нет единственно правильного ответа:

Дай {число} независимых вариантов {заголовка / названия / слогана / формулировки}.
Каждый раз генерируй заново, не опираясь на предыдущие варианты.
После всех вариантов — выбери лучший по критерию {критерий} и объясни почему.

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


🔗

Ресурсы

Название: An Empirical Investigation of Practical LLM-as-a-Judge Improvement Techniques on RewardBench 2

Авторы: Ryan Lail (Composo AI)

Код и данные: https://github.com/composo-ai/llm-judge-criteria-ensembling

Бенчмарк: RewardBench 2 — Lambert et al., 2025

Ключевые ссылки из работы: G-Eval (Liu et al.), MT-Bench (Zheng et al.), Prometheus 2, FrugalGPT (Chen et al.)


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

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

Обнаружено: LLM не вычисляет оценку — она вытягивает случайную точку из вероятностного распределения. Поэтому один и тот же текст получает то 6, то 8 при повторном запросе: это не баг, это природа модели. Два приёма позволяют получать стабильные и точные оценки через LLM без дообучения и сложных настроек. Одно уточняющее предложение в промпте сужает задачу и добавляет +3 процентных пункта точности при нулевых затратах, а ансамблевая оценка — восемь независимых запросов вместо одного — даёт ещё +9,8 п.п. Вместе: +11,9 п.п. к точности.

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

Стандартный промпт "оцени по шкале 1-10" предлагает модели самой решить что важно — убедительность, детализированность, логика или что-то ещё. Одно конкретное предложение убирает эту двусмысленность: чем конкретнее измерение, тем меньше разброс между запросами. Потом просишь 3–8 независимых оценок. Каждая — отдельная случайная точка. Среднее стабильно. Это как замерить температуру один раз сломанным термометром против восьми измерений — среднее куда надёжнее любой одной точки.

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

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

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

Оценка текстов, идей, ответов, описаний, черновиков → для любого сравнения вариантов или отбора лучшего из множества. Особенно полезно в A/B-тестах («какой заголовок убедительнее») и при найме или отборе («чьё тестовое задание лучше»). НЕ подходит для точных форматных требований — проверить «ровно 3 пункта, каждый не длиннее 10 слов»: точность там 48,8% даже с обоими приёмами против 93% в задачах про безопасность. Для форматного контроля нужны другие инструменты.

Мини-рецепт

1. Определи одно главное измерение: Убедительность? Логическая корректность? Реалистичность предположений? Одно конкретное измерение под тип задачи — не пять.
2. Вставь его одним предложением в промпт: После общих критериев добавь: «Особо обрати внимание на то, [специфический критерий].» Буквально одна фраза.
3. Попроси несколько независимых оценок: «Дай 5 независимых оценок подряд. Каждый раз — как будто видишь текст впервые. В конце — среднее арифметическое.» Всё это в одном запросе.
4. Выбери количество под задачу: Быстрая проверка — 3 оценки. Важное решение — 5–8. Помни: восемь запросов — это в пять раз больше обращений к модели, бесплатные лимиты кончатся быстро.

Примеры

[ПЛОХО] : Оцени это описание продукта по шкале от 1 до 10
[ХОРОШО] : Оцени описание продукта по шкале 1-10. При оценке учитывай: ясность, убедительность, конкретность. Особо обрати внимание на то, понятно ли читателю, ЧТО именно он получит и чем это отличается от конкурентов. Дай 5 независимых оценок подряд — каждый раз как будто видишь текст впервые, без оглядки на прошлую оценку. В конце — среднее арифметическое. Разброс между оценками сам по себе инсайт: если модель выдаёт 4, 7, 4, 6, 5 — текст читается по-разному, есть проблема. Если 6, 7, 6, 7, 6 — стабильно, вопрос только в том, устраивает ли тебя этот уровень.
Источник: An Empirical Investigation of Practical LLM-as-a-Judge Improvement Techniques on RewardBench 2
ArXiv ID: 2604.13717 | Сгенерировано: 2026-04-16 05:23

Проблемы LLM

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

Методы

МетодСуть
Ансамблевая оценка — стабильный балл через усреднениеДобавь в конец промпта: Дай {число} независимых оценок. Каждую — как будто видишь текст впервые. Выведи каждую отдельно, в конце — среднее. Для быстрой проверки: k=3. Для важных решений: k=5–8. Почему работает: каждый запрос — случайная точка. Среднее по нескольким точкам гораздо ближе к "настоящей" оценке. Разброс между оценками — дополнительный сигнал: большой разброс = текст неоднозначен. Когда не работает: дорого при k=8 и платных тарифах с лимитами
Одно предложение критерия — фокус оценкиДобавь одно уточняющее предложение под тип задачи: Особо обрати внимание на то, {главное измерение для этого случая}. Для текста: "понятно ли читателю, что он получит". Для кода: "есть ли логические ошибки в условиях". Для бизнес-идеи: "реалистичны ли предположения о рынке". Почему работает: без уточнения модель сама решает что важно — и каждый раз решает по-разному. Одна фраза убирает эту неопределённость. Меняй предложение под каждый тип задачи — не пиши универсальный параграф
📖 Простыми словами

An Empirical Investigation of PracticalLLM-as-a-Judge Improvement Techniques on RewardBench 2

arXiv: 2604.13717

Когда ты просишь нейронку оценить качество текста или кода, она не включает режим «объективного судьи», а просто гадает на кофейной гуще. Проблема в том, что LLM-as-a-Judge — это не калькулятор, а генератор вероятностей. Если ты спросишь модель «хорош ли этот ответ?», она выдаст результат, зависящий от фазы луны и случайного шума в её «мозгах». В итоге оценка получается рандомной, и полагаться на неё при настройке сложных систем — полный провал.

Это как нанять на работу дегустатора, который каждый раз пробует одно и то же блюдо с разным настроением. В понедельник ему кажется, что соли мало, во вторник — что много, а в среду он вообще забыл, что оценивает. Формально он работает, но его вердикты бесполезны, потому что у него нет четкой линейки в руках. Чтобы получить адекватный результат, тебе нужно либо дать ему эталонный метр, либо опросить десяток таких дегустаторов и вывести среднее арифметическое.

Исследователи доказали, что точность оценки взлетает, если использовать два метода: специфичные критерии и ансамблирование. Вместо абстрактного «оцени это», ты вставляешь в промпт одну жесткую инструкцию под конкретную задачу — например, «проверь логику рассуждений» или «оцени вежливость». А затем просишь модель (или несколько разных моделей) вынести вердикт 5-10 раз. Оказывается, что среднее значение нескольких оценок на порядок точнее, чем один «самый умный» ответ.

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

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

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

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

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