TL;DR
Качество работы LLM-судьи (LLM-as-a-Judge — модели, которая автоматически проверяет диалоги или тексты по чек-листу) напрямую зависит от грамматической конструкции и языка самого чек-листа. Если сформулировать одно и то же правило не в прямой утвердительной форме, а через отрицание, условие или исключение, модели начинают массово расходиться в оценках и противоречить сами себе.
Главная боль при автоматической проверке диалогов поддержки — скрытая инверсия правила. Когда критерий содержит двойное отрицание или оговорку (например, «не завершает диалог, не подведя итог»), модель правильно находит факты в переписке, пишет верное рассуждение, но в самом конце путает полярность и выносит противоположный вердикт. При этом на неанглийских рубриках такие сбои случаются заметно чаще, а популярный приём с добавлением парных примеров (few-shot) этот языковой разрыв не убирает.
Решение — переписать рубрику по трём правилам: формулировать все критерии только утвердительно, переводить саму инструкцию и чек-лист для судьи на английский язык (даже если диалоги клиентов идут на локальном языке) и требовать краткое обоснование перед вердиктом. А для проверки надёжности судьи без ручной разметки — прогонять диалоги по парным критериям с одинаковым смыслом.
Схема метода
ШАГ 1: Перевод критериев в утвердительную форму (POS) → убираем отрицания (NEG), условия (COND) и исключения (EXC)
ШАГ 2: Перевод текста рубрики и инструкции судьи на английский → проверяемый диалог остаётся на языке оригинала
ШАГ 3: Запрос обоснования ПЕРЕД вердиктом → сначала разбор фактов диалога, затем итоговая метка (met / violated / not applicable)
ШАГ 4 (аудит): Тест на эквивалентных парах (POS vs NEG) → доля несовпадений показывает нижнюю границу ошибки судьи без участия людей
Шаги 1–3 применяются при составлении одного системного промпта для LLM-судьи. Шаг 4 выполняется отдельной серией запросов при калибровке пайплайна оценки.
Пример применения
Задача: Руководитель контроля качества в сервисе онлайн-психологии или банковской поддержке настраивает LLM-судью для проверки чатов операторов на русском языке. Нужно проверить три базовых стандарта: уточнение ситуации до совета, называние эмоции клиента и финальное резюме разговора.
Промпт:
You are an objective quality assurance judge evaluating Russian customer support dialogues.
Read the Russian dialogue below and evaluate the operator's behavior against each criterion.
Evaluation rules:
1. Write a brief 1-2 sentence rationale citing specific turns from the dialogue BEFORE giving the verdict for each criterion.
2. Assign one of three verdicts for each criterion:
- "met": the operator fulfilled the requirement.
- "violated": the operator failed to fulfill the requirement when it was applicable.
- "not_applicable": the situation described in the criterion did not arise.
Criteria (affirmative form):
- C1 (Question before advice): The operator asks at least one question about the client's situation before giving the first piece of advice.
- C2 (Naming emotion): The operator names, at least once and with an explicit emotion word, a feeling that the client has expressed.
- C3 (Closing summary): In the final turn of the conversation, the operator summarizes the agreed next steps for the client.
Output format (JSON):
{
"C1": {"rationale": "...", "verdict": "met | violated | not_applicable"},
"C2": {"rationale": "...", "verdict": "met | violated | not_applicable"},
"C3": {"rationale": "...", "verdict": "met | violated | not_applicable"}
}
Dialogue to evaluate (in Russian):
Клиент: Здравствуйте! У меня списали 2990 рублей за подписку, которую я отменял месяц назад. Я просто в бешенстве, верните деньги!
Оператор: Здравствуйте! Понимаю ваше возмущение и злость — неприятно видеть списание после отмены. Подскажите, пожалуйста, последние 4 цифры карты и дату, когда вы нажимали кнопку отмены в личном кабинете?
Клиент: Карта 4412, отменял 12 октября со смартфона.
Оператор: Спасибо, проверил по базе: заявка от 12 октября зависла из-за технического сбоя. Я оформил полный возврат 2990 рублей и отключил автопродление. Итак, резюмирую: подписка закрыта, чек о возврате придёт на почту в течение 15 минут, а деньги вернутся на карту 4412 в течение 3 рабочих дней.
Результат:
Модель прочитает русскоязычный диалог, но сопоставит его с однозначными утвердительными правилами на английском языке. По каждому пункту она сначала выпишет конкретные реплики оператора (вопрос про карту до решения проблемы, слова «возмущение и злость», итоговое резюме в конце), после чего без путаницы в двойных отрицаниях выставит статус met для всех трёх критериев.
Почему это работает
У языковых моделей есть фундаментальная слабость при работе со сложным синтаксисом: конструкции с отрицаниями («не делает X без Y»), условиями («если клиент не просил X, то...») и исключениями («делает X, за исключением случаев, когда...») требуют удерживать в голове двухшаговую логическую инверсию. На неанглийских языках эта проблема усиливается из-за особенностей порядка слов (например, в корейском отрицание стоит в самом конце глагольной группы). В итоге модель правильно извлекает факт из диалога («консультант подвёл итог в последней реплике»), но при наложении его на отрицательное правило («не заканчивает разговор без подведения итога») путает знак и ставит violated вместо met.
Сильная сторона LLM — прямое сопоставление фактов с простыми утвердительными шаблонами на английском языке, на котором модели получили больше всего размеченных инструкций при обучении. Когда правило звучит как прямое действие («консультант задаёт минимум один вопрос до первого совета»), модели не нужно переворачивать логику на последнем токене.
Замена отрицательных и условных формулировок на утвердительные (POS) плюс перевод самой рубрики на английский убирают лишнюю логическую операцию. А требование вывести обоснование до вердикта (rationale before verdict) заставляет модель явно зафиксировать найденные в диалоге реплики в контекстном окне до того, как она выберет итоговую метку.
Рычаги управления:
- Разделение условия и действия: если в бизнесе без исключений не обойтись («правило не действует, если клиент сам попросил совет»), не склеивай их в одно сложное предложение — разбей на два простых утвердительных пункта в JSON и вычисляй итоговый статус обычным if в коде.
- Парный тест на самопротиворечие (Structure Flip Test): перед запуском нового критерия в продакшн сформулируй его в двух эквивалентных видах (POS и NEG) и прогони на 50 реальных диалогах. Если судья меняет вердикт чаще чем в 5% случаев — формулировка сырая и требует упрощения.
Шаблон промпта
You are an evaluation judge assessing {тип_диалога_или_текста} written in {язык_контента}.
Evaluate the assistant's performance strictly against the affirmative rubric criteria below.
Instructions:
1. For each criterion, first write a short "rationale" (1-2 sentences) quoting or referencing exact evidence from the text.
2. Only after the rationale, output the "verdict":
- "met": the requirement is clearly satisfied.
- "violated": the requirement is not satisfied.
- "not_applicable": the trigger situation did not occur in the text.
Rubric Criteria (state all rules as positive actions):
- {код_критерия_1}: {утвердительное_правило_1_на_английском}
- {код_критерия_2}: {утвердительное_правило_2_на_английском}
Output strictly in JSON:
{
"{код_критерия_1}": {"rationale": "...", "verdict": "met | violated | not_applicable"},
"{код_критерия_2}": {"rationale": "...", "verdict": "met | violated | not_applicable"}
}
Content to evaluate:
{текст_или_диалог}
Что подставлять в плейсхолдеры:
- {тип_диалога_или_текста} — что именно оцениваем (например, customer support dialogues, sales call transcripts).
- {язык_контента} — язык проверяемых материалов (Russian, Korean, Spanish).
- {код_критерия_1}, {код_критерия_2} — короткие идентификаторы пунктов чек-листа (C01, C02).
- {утвердительное_правило_1_на_английском} — правило, написанное на английском языке строго через наличие действия (кто и что именно делает), без частиц not, never, without, unless.
- {текст_или_диалог} — сам проверяемый диалог или ответ на языке оригинала.
Ограничения
⚠️ Чтение рассуждений не ловит ошибку: Когда судья спотыкается на отрицательной формулировке, он пишет абсолютно адекватное текстовое объяснение (rationale), но ставит инвертированный вердикт. Выборочная проверка глазами только текстовых пояснений судьи создаст ложное чувство безопасности.
⚠️ Примеры в промпте не лечат языковой перекос: Добавление парных примеров (один успешный и один провальный кейс на критерий) немного повышает согласованность на отрицаниях, но не сокращает разрыв между локальным языком рубрики и английским.
⚠️ Косвенные реплики клиентов: Если клиент заявляет об исключении намёком, а не прямым текстом, разные модели с вероятностью от 43% до 92% выбирают между буквальным чтением правила и замыслом автора рубрики — здесь даже утвердительная форма требует явной инструкции, считать ли косвенные намёки.
Как исследовали
Исследователи взяли 12 реальных критериев оценки консультантов из службы психологической поддержки и переписали каждый в четырёх грамматических структурах: утвердительной (POS), отрицательной с тем же смыслом (NEG), условной (COND) и в форме правила с исключением (EXC). Каждую из 48 формулировок подготовили на корейском и английском языках (всего 96 вариантов), после чего прогнали через шесть недорогих коммерческих моделей от трёх провайдеров (Claude Sonnet 5.5, Claude Haiku 4.5, GPT-5.6 Luna, GPT-5.4 nano, Gemini 3.5 Flash-Lite, Gemini 3.1 Flash-Lite) и эталонный Claude Opus 5.5. В сумме модели выполнили 51 744 запроса, оценивая 60 переведённых диалогов из корпуса ESConv и 144 специально сконструированных пограничных кейса.
Хитрость дизайна заключалась в том, что пары POS–NEG и COND–EXC имели абсолютно одинаковый смысл: если одна и та же модель на одном и том же диалоге даёт им разные оценки, значит минимум один из вердиктов гарантированно ошибочен — и для доказательства этого не нужны люди-разметчики. Оказалось, что на отрицаниях, условиях и исключениях шансы несогласия между судьями взлетают в 5,6 раза по сравнению с простыми утверждениями, а одна и та же модель меняет своё решение на эквивалентном правиле в 11–15% случаев (у GPT-5.4 nano на корейском языке — почти в четверти всех проверок, 24,3%). Против ожиданий авторов, модели одного провайдера соглашались друг с другом ничуть не лучше моделей разных компаний, а добавление обучающих примеров в промпт так и не смогло приблизить качество корейских рубрик к английским (коэффициент согласия Каппа Коэна 0,687 против 0,745).
Адаптации и экстраполяции
🔧 Техника: Аудит чек-листа через зеркальные пары (Zero-Label Rubric Audit) → бесплатный поиск кривых критериев
Вместо того чтобы нанимать асессоров для проверки LLM-судьи, попроси саму LLM сгенерировать для каждого пункта твоей рубрики зеркальный эквивалент (NEG для POS, EXC для COND) и прогони 30–50 рабочих логов через оба варианта:
Перепиши каждый критерий из моего списка в логически эквивалентную отрицательную форму (так, чтобы условия выполнения и нарушения полностью совпадали с оригиналом). Мы используем эту пару для теста LLM-судьи на самопротиворечие (structure-flip rate).
Ресурсы
Исследование: Same Rule, Different Verdicts: Rubric Language and Clause Structure in LLM Judges for Korean Support Dialogues (arXiv:2611.04091v1) Авторы: Sangdo Han, Moonsoo Kim (CEO Business School)
