3,583 papers
arXiv:2610.07755 71 6 окт. 2026 г. FREE

Randomize-and-Average под лупой: почему LLM-судья в батче зависит от собственных предыдущих вердиктов

КЛЮЧЕВАЯ СУТЬ
Парадокс: чем больше прогонов ты делаешь, тем увереннее получаешь неверный вывод. Это случается, когда две группы сравнивают по среднему вердиктов LLM-судьи. Метод позволяет честно ответить на вопрос «набор A лучше набора B?» по вердиктам «годится / не годится». Промпт не трогаем, меняем подсчёт. Вместо среднего подгоняют смешанную логистическую модель. Она учитывает предыдущий вердикт, первую позицию и общую строгость прогона. Для поиска лучшего элемента среднее остаётся рабочим. Ломается только сравнение групп.
Адаптировать под запрос
⚡

TL;DR

Когда LLM-судья оценивает пачку элементов подряд в одном чате («принять/отклонить» по 30 заявкам), его каждый следующий вердикт зависит от предыдущего. Авторы описывают это статистической моделью (GLMM, смешанная логистическая модель), где вердикт зависит от качества элемента, от предыдущих вердиктов, от «холодного старта» на первой позиции и от общей строгости конкретного прогона. Модель проверили на трёх коммерческих моделях.

Главная находка: привычный рецепт «перемешай порядок и усредни оценки» работает для ранжирования (найти лучший элемент), но ломается при сравнении групп («набор A лучше набора B?»). Сама шкала нелинейная, и среднее по перемешанным прогонам даёт систематическое смещение. Его не лечит ни рост числа прогонов, ни дополнительные траты токенов. Больше прогонов даёт больше уверенности в неверном выводе. Сама зависимость видна уже в сырых данных: после «отклонить» следующий элемент принимается в 73,0% случаев, после «принять» только в 66,6%.

Суть метода: не менять промпт, а менять способ подсчёта и дизайн прогонов. Для ранжирования можно ротировать порядок по схеме «квадрат Уильямса» (сбалансированная латинская ротация), а для сравнения групп подогнать модель с поправкой на предыдущий вердикт, первую позицию и эффект батча.

🔬

Схема метода

ШАГ 1: Все элементы (обе группы вместе) → в один батч, случайный порядок
        Каждый элемент ровно 1 раз в батче. Повтор N раз с НОВЫМ перемешиванием.
ШАГ 2: Судья даёт бинарный вердикт каждому элементу по очереди → таблица 0/1
ШАГ 3а (ранжирование): среднее по прогонам на элемент → выбрать лучший
        (опц.: порядки по схеме Уильямса вместо чисто случайных — точнее,
         когда элементы близки по качеству)
ШАГ 3б (сравнение групп): НЕ среднее!
        Подогнать модель: вердикт ~ элемент + предыдущий вердикт
        + «первая позиция» + случайный эффект батча
        → вывод о разнице групп из модели

Шаги 1–2 делаются в чате или автоматизации. Шаг 3б требует небольшого скрипта (его можно написать с помощью LLM).

🚀

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

Задача: Вы директор по продукту в маркетплейсе. Команда поддержки переписала промпт для ответов клиентам. Нужно понять: ответы по новому промпту (B) действительно лучше старых (A)? Вы берёте 15 ответов A и 15 ответов B на одни и те же типы обращений («где мой заказ из Казани», «возврат за блендер») и просите LLM-судью вынести вердикт «годится / не годится».

Промпт (повторяется N=50–200 раз, каждый раз с новым случайным порядком ответов):

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

Оценивай ответы строго по порядку, один за другим.
Для каждого выведи ровно одну строку в формате:
<номер>: ГОДИТСЯ или НЕ ГОДИТСЯ

Никаких пояснений. Не пересматривай прошлые вердикты.

Ответы:
1. {ответ_1}
2. {ответ_2}
...
30. {ответ_30}

Результат: В каждом прогоне модель выдаёт 30 строк с вердиктами. После 50–200 прогонов с разными перемешиваниями у вас таблица: элемент, группа (A/B), позиция, вердикт. Если просто посчитать долю «годится» в A и в B, получится правдоподобная, но потенциально смещённая разница. Для надёжного вывода отправьте таблицу LLM с просьбой написать скрипт смешанной модели (см. шаблон ниже). Разницу групп читайте из модели, а не из среднего.

🧠

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

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

Почему среднее врёт при сравнении групп. Связь между качеством и вероятностью «принять» нелинейна (S-образная кривая). Фоновый сдвиг от контекста (предыдущий вердикт, строгость прогона) действует по-разному на слабые и сильные элементы. У двух групп с разным уровнем качества среднее искажается по-разному. Искажение не исчезает с ростом числа прогонов: вы всё точнее измеряете смещённую величину. Для простого поиска лучшего элемента этого достаточно: порядок элементов сохраняется, если они хоть немного различаются по качеству.

Рычаги управления: - Число прогонов N: больше прогонов даёт меньше шума, но не лечит смещение при сравнении групп. - Размер батча: все элементы обеих групп должны быть в одном батче, иначе строгость прогона перепутается с различием групп. - Бинарная шкала: статья моделирует «принять/отклонить». Для баллов 1–10 вывод придётся проверять отдельно. - Ротация порядков по Уильямсу: полезна, когда элементы очень близки по качеству и вы ищете лучшего. Затрат токенов не добавляет. - Критерий судьи: статья его не трогает. Она предполагает, что критерий верный, и чинит только подсчёт.

📋

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

Протокол судейского прогона (воспроизводит условия статьи):

Ты — {роль_судьи}. Критерий вердикта «{положительный_вердикт}»: {критерий}.

Ниже {число_элементов} элементов в случайном порядке.
Оценивай строго по порядку, один за другим.
Для каждого выведи ровно одну строку:
<номер>: {положительный_вердикт} или {отрицательный_вердикт}

Без пояснений. Не пересматривай прошлые вердикты.

Элементы:
{пронумерованный_список_элементов}

Плейсхолдеры: {роль_судьи} и {критерий} — ваш рабочий критерий. Элементы обеих сравниваемых групп всегда идут в одном списке. Порядок меняйте для каждого прогона автоматически (в таблице или автоматизации без кода).

Запрос на анализ (для сравнения групп):

У меня таблица результатов LLM-судьи. Столбцы: batch (номер прогона),
position (позиция в прогоне), item (элемент), group (A или B),
verdict (0 или 1).

Напиши скрипт на Python, который подгоняет логистическую смешанную модель:
- вердикт зависит от элемента (или группы);
- признак «предыдущий вердикт в прогоне» (лаги 1–3, выбери по AIC/BIC);
- признак «первая позиция в прогоне»;
- случайный эффект на прогон (batch);
- если у элемента вердикты почти всегда одинаковые — слабый штраф (ридж),
  доверительные интервалы через бутстреп по целым прогонам (batch).
Выведи разницу между группами A и B с доверительным интервалом.

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

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

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

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

⚠️

Ограничения

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

⚠️ Узкая проверка: модели проверены на одной задаче (приём/отказ по 30 научным заявкам) и на бинарных вердиктах. Для баллов, парных сравнений и других задач структуру зависимости надо выбирать заново. Сами авторы подчёркивают, что найденная структура относится к этим судьям и этой задаче.

⚠️ Валидность не решена: статья чинит только подсчёт. Если критерий судьи не совпадает с тем, что вам реально нужно, никакая статистика не поможет.

⚠️ Простое среднее не всегда плохо: для поиска лучшего из пула оно остаётся состоятельным, если качество элементов заметно различается. Вредит оно именно при сравнении групп.

⚠️ Разные судьи, разная память: глубина зависимости различается между моделями (у одной только предыдущий вердикт, у других до трёх шагов назад). Универсальной поправки нет.

🔍

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

Исследователи взяли три коммерческие модели: Gemini 2.5 Flash, GPT-5.4-mini и Claude Haiku 4.5. Каждая оценивала одни и те же 30 заявок на гранты в 200 прогонах. В каждом прогоне все 30 заявок шли подряд в случайном порядке, судья ставил «принять/отклонить». Сначала посмотрели сырые данные: у Gemini после отказа следующая заявка принималась в 73,0% случаев, после принятия — в 66,6% (95% интервал разницы −8,9…−3,9 п.п.). То есть судья слегка «уравновешивает» себя. Затем описали это моделью с тремя компонентами: влияние предыдущих вердиктов, эффект первой позиции и случайная строгость конкретного прогона. Глубина памяти у моделей оказалась разной: у Gemini достаточно одного предыдущего шага, у GPT и Claude — до трёх. Чтобы убедиться, что модель не просто подогнана под данные, собрали 100 новых прогонов и проверили предсказания. 34 из 36 переходных вероятностей легли в 95% интервалы.

Главный практический вывод вытекает из математики. Нелинейность шкалы «качество → вероятность принять» делает простое среднее смещённым при сравнении групп, а смещение не зависит от числа прогонов. Это и удивляет больше всего: больше бюджета означает уверенность в неверном ответе. Для ранжирования же среднее оказывается состоятельным. В заключительном примере авторы применили метод для сравнения двух методов оценки графических моделей по «научной осмысленности» найденных связей. Замечание: в доступном тексте обрезаны разделы с результатами по дизайну Уильямса, высшим порядкам и самим выводом по примеру, поэтому конкретные цифры по ним не приведены.

💡

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

🔧 Техника: быстрая диагностика собственного судья-пайплайна → понять, есть ли серийная зависимость

Это простая проверка из первого рисунка статьи. Её можно выполнить без модели вообще:

Вот таблица вердиктов судьи по прогонам (batch, position, verdict).
Посчитай:
1. долю «1» на позициях 2+ сразу после «0» и сразу после «1»;
2. бутстреп-интервал для разницы (ресэмплинг по целым прогонам);
3. долю «1» на позиции 1 отдельно.
Если разница заметна и интервал не включает 0 — зависимость есть.

Если зависимость есть, наивное сравнение групп — под подозрением. Если её нет, вам, скорее всего, хватит простого среднего.

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

🔗

Ресурсы

  • Название работы: Trustworthy Method Comparison with AI Judges: Estimation and Design under Order, Batch, and Aggregation Effects
  • Авторы: Tianxi Li, Jie Ding — School of Statistics, University of Minnesota
  • Упоминаемые смежные работы: MT-Bench и Chatbot Arena (Zheng et al., 2023; Chiang et al., 2024), AlpacaEval (Dubois et al., 2023, 2024), обзоры по смещениям LLM-судей (Gu et al., 2024; Ye et al., 2024)

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

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

Парадокс: чем больше прогонов ты делаешь, тем увереннее получаешь неверный вывод. Это случается, когда две группы сравнивают по среднему вердиктов LLM-судьи. Метод позволяет честно ответить на вопрос «набор A лучше набора B?» по вердиктам «годится / не годится». Промпт не трогаем, меняем подсчёт. Вместо среднего подгоняют смешанную логистическую модель. Она учитывает предыдущий вердикт, первую позицию и общую строгость прогона. Для поиска лучшего элемента среднее остаётся рабочим. Ломается только сравнение групп.

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

Судья в одном чате не обнуляется между элементами. Он видит свои прошлые вердикты, и они влияют на следующие. Пример из сырых данных: после «отклонить» следующий элемент принимают в 73,0% случаев. После «принять» только в 66,6%. Перемешивание порядка превращает эту зависимость в случайный шум. Но из формулы подсчёта она не пропадает. Процесс такой: 1. Все элементы обеих групп идут в один список. Каждый элемент в прогоне ровно один раз. 2. Прогон повторяют N раз, каждый раз с новым порядком. 3. Для ранжирования считают среднее по элементу. 4. Для сравнения групп подгоняют модель: вердикт зависит от элемента, предыдущего вердикта, первой позиции и строгости прогона. Разницу групп читают из модели, а не из среднего. Можно ещё ротировать порядки по схеме квадрата Уильямса (сбалансированная ротация). Она точнее, когда элементы почти равны по качеству. Токенов не добавляет.

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

Связь между качеством и шансом «принять» имеет S-образную форму. Фоновый сдвиг от контекста бьёт по слабым и сильным элементам по-разному. У двух групп с разным уровнем качества среднее искажается неодинаково. Больше прогонов не лечит перекос: ты просто точнее измеряешь кривую линейку. Для ранжирования это не страшно. Порядок элементов сохраняется, пока они хоть немного различаются по качеству. А вот разницу между группами среднее может нарисовать из воздуха. Модель с поправками убирает именно этот перекос, а не шум.

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

Оценка качества через LLM-судью → конкретно сравнение двух версий промпта, двух наборов ответов или двух моделей, особенно когда вердикт бинарный и все элементы идут одной пачкой. Для выбора лучшего элемента из пула хватит среднего. НЕ подходит, если сам критерий судьи кривой: статья чинит только подсчёт. Для шкал 1–10 и парных сравнений зависимость надо проверять заново.

Мини-рецепт

1. Собери одну пачку: элементы A и B вместе в одном списке, порядок случайный. Раздельные пачки путают строгость прогона с разницей групп.
2. Зафиксируй протокол судьи: бинарный вердикт, одна строка на элемент, без пояснений, без пересмотра прошлых вердиктов.
3. Крути прогоны: 50–200 раз, каждый раз с новым перемешиванием. Это делается автоматически, в таблице или в сценарии без кода.
4. Запиши таблицу: прогон, позиция, элемент, группа, вердикт 0/1.
5. Ищешь лучшего: возьми среднее по элементу и выбери топ. Если элементы очень близки, сделай порядки по Уильямсу.
6. Сравниваешь группы: не считай среднее. Попроси LLM написать скрипт смешанной модели: предыдущий вердикт (лаги 1–3), первая позиция, случайный эффект прогона, доверительные интервалы через бутстреп по целым прогонам.
7. Проверь скрипт сам: запусти и сверь разницу групп с наивным средним. Если они сильно расходятся, среднему верить нельзя.

Примеры

[ПЛОХО] : Вот 15 старых и 15 новых ответов поддержки по отдельности. Скажи для каждого, годится или нет — потом считаем долю «годится» в каждой пачке и радуемся разнице.
[ХОРОШО] : Ты — строгий проверяющий ответов службы поддержки маркетплейса. Ниже 30 ответов в случайном порядке. Оценивай строго по порядку. Для каждого выведи одну строку: <номер>: ГОДИТСЯ или НЕ ГОДИТСЯ. Без пояснений. Не пересматривай прошлые вердикты. — 15 старых и 15 новых ответов в одном списке, 100 прогонов с разным порядком. Затем: Вот таблица (прогон, позиция, элемент, группа, вердикт). Напиши скрипт на Python: логистическая смешанная модель с предыдущим вердиктом, первой позицией и случайным эффектом прогона. Выведи разницу групп A и B с доверительным интервалом.
Источник: Trustworthy Method Comparison with AI Judges: Estimation and Design under Order, Batch, and Aggregation Effects
ArXiv ID: 2610.07755 | Сгенерировано: 2026-10-07 05:10

Проблемы LLM

ПроблемаСутьКак обойти
Судья в одной пачке зависит от своих прошлых вердиктовПросишь модель оценить 30 элементов подряд в одном чате: «годится / не годится». Она не обнуляется между элементами. Видит свои прошлые ответы, и они влияют на следующие. Например, после «принять» следующий элемент проходит чуть труднее. Оценка элемента зависит не только от его качества, но и от соседей. Перемешивание порядка делает эту зависимость случайным шумом. Но из подсчёта она не исчезает. Глубина памяти у разных моделей разная.Если элементов немного, оценивай каждый в чистом чате. Если нужна пачка: на каждый прогон меняй порядок. Все сравниваемые элементы держи в одной пачке. Для сравнения групп не считай простое среднее. Подгони модель с поправкой на предыдущий вердикт (см. метод ниже).

Методы

МетодСуть
Сравнение групп через модель, а не через среднееЧто делать: Обе группы (старый и новый вариант) положи в один список в случайном порядке. Каждый элемент входит один раз за прогон. Повтори 50–200 раз, каждый раз с новым порядком. Запиши таблицу: прогон, позиция, элемент, группа, вердикт 0/1. Дальше попроси другую LLM написать скрипт. Скрипт подгоняет логистическую смешанную модель. Вердикт зависит от элемента, от предыдущего вердикта (1–3 шага назад), от признака «первая позиция» и от случайного сдвига на прогон. Разницу групп читай из модели, с доверительным интервалом по бутстрепу целых прогонов. Почему работает: Связь «качество → вероятность принять» нелинейна, S-образная. Сдвиг от контекста действует по-разному на слабые и сильные элементы. У групп с разным уровнем среднее искажается по-разному. Модель отделяет этот сдвиг от реальной разницы. Обе группы в одной пачке нужны, чтобы строгость прогона не смешалась с различием групп. Когда да: двоичные вердикты, сравнение двух промптов или наборов, много элементов. Когда нет: нужна лишь лучшая позиция из пула, баллы 1–10 (структуру зависимости проверяй заново), критерий судьи сомнителен. Статистика не исправит неверный критерий.

Тезисы

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

Trustworthy Method Comparison withAIJudges: Estimation and Design under Order, Batch, and Aggregation Effects

arXiv: 2610.07755

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

Это как зайти на собеседование сразу после гения, который закрыл план отдела на пять лет вперёд. Интервьюер подсознательно думает, что слишком уж всё сладко, и начинает валить тебя на пустом месте. Твой вполне рабочий ответ летит в корзину просто из-за неудачного соседства в списке, хотя при независимой проверке он легко получил бы зачёт с плюсом.

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

В эксперименте гоняли саппорт маркетплейса, но грабли одинаковы для всех, кто внедряет LLM-as-a-judge. Сравниваешь две версии промпта, валидируешь синтетические датасеты или тестируешь чат-ботов — пакетная проверка выдаст липовую победу одного из вариантов. Модель забракует классное решение только потому, что лимит одобрений в этой сессии исчерпан.

Главный вывод: оптовая оценка ради копеечной экономии токенов — это самообман на стероидах. Либо оценивай каждый кейс в отдельном, стерильном контексте, либо математически калибруй результаты через смешанные модели, иначе выкатишь в прод откровенный мусор. Запомни простое правило: один элемент на один запрос, иначе AI-судья насудит тебе чушь.

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

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

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