TL;DR
Когда просишь LLM оценить текст сразу по нескольким критериям — она путается и ошибается значительно чаще. Точность растёт на 7–12 процентных пунктов, если давать каждый критерий отдельным запросом. Добавь к этому требование объяснить логику перед вердиктом — погрешность падает ещё сильнее.
Проблема в том, что при оценке по чеклисту критерии мешают друг другу. Модель держит в голове всё сразу и смазывает детали — точно как эксперт, которому дали 10 вопросов одновременно вместо одного. Даже GPT-4o на сложных случаях угадывает правильно лишь немногим чаще, чем в половине случаев.
Решение — два простых правила: один критерий за раз + сначала обоснование, потом вердикт. Модель фокусируется на конкретной задаче, ищет доказательства в тексте, а не опирается на общее впечатление. Это работает при любой оценке текста, питча, ответа, документа.
Схема метода
ШАГ 1 (отдельный запрос): вставить текст + один критерий → объяснение + вердикт ДА/НЕТ
ШАГ 2 (отдельный запрос): вставить текст + следующий критерий → объяснение + вердикт ДА/НЕТ
...
ИТОГ (отдельный запрос): собрать все вердикты → суммарная оценка и рекомендации
Если критериев немного (2–3) — можно объединить в один структурированный запрос, но строго с разделением по блокам.
Пример применения
Задача: Антон написал коммерческое предложение для корпоративного клиента на интеграцию с 1С. Хочет проверить его перед отправкой — соответствует ли оно критериям сильного КП.
Промпт (для каждого критерия отдельно):
Вот коммерческое предложение:
"""
[текст КП]
"""
Твоя задача — оценить этот текст по одному критерию.
Критерий: В тексте есть конкретная выгода для клиента, выраженная
в деньгах, времени или измеримом результате — не общими словами.
Порядок работы:
1. Найди в тексте фрагменты, которые относятся к этому критерию
2. Процитируй их и объясни — выполняет ли текст требование и почему
3. Финальный вердикт: ВЫПОЛНЕНО / НЕ ВЫПОЛНЕНО
Начни с анализа. Вердикт — в конце.
Потом повторяешь запрос с другим критерием: например, "есть ли призыв к действию с конкретным следующим шагом" или "написано ли под ЛПР, а не технаря".
Результат: По каждому критерию модель выдаст цитаты из текста с пояснением, почему они подтверждают или нарушают требование, и чёткий бинарный вердикт. Никакого "в целом неплохо" — только конкретика с доказательствами.
Почему это работает
LLM при оценке по чеклисту смотрит на текст как на целое. Если общее впечатление хорошее — она склонна ставить галочки. Если один критерий явно не выполнен — это тянет вниз оценку соседних. Критерии не изолированы в голове модели, они перетекают друг в друга.
Зато модель хорошо умеет работать с фокусным запросом. Когда есть один конкретный вопрос и текст — она ищет доказательства, а не формирует общее суждение. Это другой режим работы: не "какой текст?" а "есть ли в тексте X?".
Требование объяснить логику перед вердиктом — это не вежливость, это механика. Когда модель сначала пишет обоснование, она вынуждена найти конкретный фрагмент в тексте. Без этого шага — опирается на интуицию. С ним — на доказательства. Именно поэтому точность растёт: обоснование работает как якорь.
Рычаги управления: - Количество критериев за раз → 1 критерий точнее; 2–3 в одном промпте допустимо при жёстком разделении блоков - Инструкция "сначала цитата" → добавь "процитируй текст перед объяснением" — точность растёт ещё - Бинарный вердикт → держи формат ДА/НЕТ, иначе модель уйдёт в "частично выполнено" и потеряешь чёткость - Финальный запрос-агрегатор → после всех критериев отдельным запросом: "Вот вердикты по 5 критериям. Что исправить в первую очередь и почему?"
Шаблон промпта
Вот {тип текста — КП, статья, питч, описание, вакансия}:
"""
{текст}
"""
Оцени этот текст по одному критерию.
Критерий: {конкретный критерий одним предложением}
Порядок:
1. Найди в тексте фрагменты, связанные с этим критерием. Процитируй их.
2. Объясни: выполняет ли текст требование? Почему да или почему нет?
3. Финальный вердикт: ВЫПОЛНЕНО / НЕ ВЫПОЛНЕНО
Начни с анализа, вердикт — в конце.
Что подставлять:
- {тип текста} — что оцениваем: КП, лендинг, описание товара, резюме, питч
- {текст} — сам текст целиком
- {критерий} — одно конкретное требование, например: "есть конкретная цена или ценовой диапазон", "понятно кто целевой клиент", "есть социальное доказательство — кейс или цифра"
🚀 Быстрый старт — вставь в чат:
Вот шаблон оценки текста по критериям.
Адаптируй под мою задачу: [опиши что хочешь оценить и по каким критериям].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит какой текст оценивать и какие критерии важны — потому что без этого она не знает на что ориентироваться. Она возьмёт структуру из шаблона и адаптирует под твою задачу.
Ограничения
⚠️ Сложные и субъективные критерии: Если критерий сам по себе размытый ("текст звучит убедительно"), метод не поможет — проблема в критерии, не в методе оценки. Формулируй критерии бинарно и конкретно.
⚠️ Количество запросов: Чем больше критериев — тем больше отдельных запросов. Для 10+ критериев это займёт время. Приоритизируй: выбери 3–5 ключевых, остальное — в финальный агрегирующий запрос.
⚠️ Действительно неоднозначные случаи: Даже при идеальной технике, на по-настоящему спорных вопросах ("достаточно ли подробно раскрыта тема") лучшие модели ошибаются почти в каждом пятом случае. Верифицируй критичные решения самостоятельно.
⚠️ Простые однозначные требования: Если критерий элементарный ("есть ли слово X в тексте") — отдельный запрос избыточен. Метод даёт выигрыш на сложных, неочевидных критериях.
Как исследовали
Команда из Фудань и Ant Group построила бенчмарк из 3 486 оценочных заданий — каждое это тройка: инструкция + ответ модели + один конкретный критерий. Половина заданий была размечена как лёгкие (EASY), половина — как тяжёлые (HARD). Тяжёлые отбирались специально: это случаи, где несколько сильных моделей-судей разошлись во мнениях.
Потом на этом бенчмарке прогнали больше десятка моделей — от маленьких открытых до GPT-5, o3, Gemini Pro — и сравнили подходы: один критерий за раз или весь список разом, с объяснением или без. Результат удивил: GPT-4o, которую повсеместно используют как судью в академических бенчмарках, на тяжёлых случаях выдаёт 55.97% — это почти уровень монетки. А вот o3 справляется значительно лучше — 84.8%.
Интересная деталь: исследователи специально использовали реальные ответы моделей, а не сконструированные ошибки. Это важно — предыдущие работы делали искусственные провалы, которые легко поймать. Здесь ошибки живые, из реальной работы LLM, поэтому выводы отражают то, с чем сталкиваешься на практике. Отсюда и вывод: доверять GPT-4o как объективному судье текста — рискованно, особенно в сложных ситуациях.
Адаптации и экстраполяции
🔧 Техника: Агрегирующий запрос в конце → приоритизация правок
После того как прогнал текст по всем критериям по одному, собери вердикты в один финальный запрос:
Вот результаты оценки {текста} по критериям:
Критерий 1 «{название}»: НЕ ВЫПОЛНЕНО — {цитата пояснения}
Критерий 2 «{название}»: ВЫПОЛНЕНО
Критерий 3 «{название}»: НЕ ВЫПОЛНЕНО — {цитата пояснения}
На основе этих оценок:
1. Какие две правки дадут наибольший эффект? Почему?
2. Что можно оставить как есть?
3. Предложи конкретную формулировку для правки критерия 1.
Это превращает набор вердиктов в план действий — модель уже знает что не так, остаётся только приоритизировать.
🔧 Техника: Самопроверка перед сдачей → критерии из задания
Если получил задание с конкретными требованиями ("напиши в стиле Х, объём Y, без Z"), после выполнения прогони результат через шаблон — по каждому требованию из задания отдельно. Это систематичнее, чем просить "проверь всё сразу".
Ресурсы
RubricEval: A Rubric-Level Meta-Evaluation Benchmark for LLM Judges in Instruction Following
Авторы: Tianjun Pan, Xuan Lin, Wenyan Yang, Qianyu He, Shisong Chen, Licai Qi, Wanqing Xu, Hongwei Feng, Bo Xu, Yanghua Xiao
Организации: Fudan University, Donghua University, Ant Group
