3,583 papers
arXiv:2604.12227 74 14 апр. 2026 г. FREE

Чеклист-рубрика: как получить стабильную оценку от LLM

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

TL;DR

Надёжность AI-оценки зависит не от настроек модели, а от того, насколько конкретны критерии в промпте. Расплывчатые описания ("оцени качество аргументации", "насколько логично написано") дают нестабильный результат: одно и то же можно получить на 6 и на 9. Конкретные чеклист-критерии ("есть ли конкретный пример?", "названа ли проблема в первом абзаце?") — устойчивый.

Слабость LLM в оценке проявляется в средней зоне. Явно сильный или явно слабый текст модель оценивает уверенно и стабильно. Но там, где нужно взвешивать детали — "в целом нормально, но местами слабо" — без чётких критериев AI начинает угадывать. То выдаст 6, то 8, и непонятно почему. Это не баг модели — это баг расплывчатой инструкции.

Решение: разбить размытые критерии на observable checklist-пункты — конкретные, проверяемые, привязанные к конкретным частям текста или задачи. Вместо "оцени структуру" → "есть ли заголовок?", "указана ли проблема до решения?", "есть ли призыв к действию?". Чем меньше интерпретации требует каждый пункт — тем стабильнее результат.


🔬

Схема метода

(Работает в одном промпте)

ШАГ 1: Разбить критерии оценки на конкретные бинарные пункты
        → рубрика-чеклист (да/нет или 0/1/2 за каждый пункт)

ШАГ 2: Дать LLM рубрику + оцениваемый объект
        → попросить пройтись по каждому пункту явно

ШАГ 3 (optional): Добавить 1 пример с правильной оценкой (1-shot)
        → повышает стабильность для неоднозначных случаев

🚀

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

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

Промпт:

Оцени три варианта поста по рубрике ниже. 
По каждому пункту: поставь балл и объясни в 1 предложении почему.
В конце — итоговый балл и вывод: какой вариант лучше и почему именно он.

РУБРИКА (каждый критерий — от 0 до 2):

1. Зацепка в первом абзаце
   0 = нет зацепки, начало скучное
   1 = есть попытка, но слабая
   2 = первое предложение вызывает желание читать дальше

2. Проблема сформулирована конкретно
   0 = расплывчато ("люди не умеют копить")
   1 = есть конкретика, но неточно
   2 = проблема названа точно и узнаваемо для читателя

3. Практическая польза
   0 = нет совета или действия
   1 = есть совет, но абстрактный
   2 = есть конкретное действие, которое можно сделать сегодня

4. Ясность языка
   0 = сложные конструкции, канцелярит
   1 = читается нормально
   2 = просто, живо, без лишних слов

5. Призыв к реакции
   0 = нет
   1 = есть, но слабый
   2 = вопрос или призыв, который реально хочется ответить

---

ВАРИАНТ 1:
[вставить текст]

ВАРИАНТ 2:
[вставить текст]

ВАРИАНТ 3:
[вставить текст]

Результат: Модель пройдёт по каждому из 5 пунктов для каждого варианта — с баллом и однострочным объяснением. В конце выдаст итоговые баллы и вывод: какой вариант выиграл и за счёт чего. Видно не "вариант 2 лучше", а почему — конкретно по пунктам.


🧠

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

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

Зато модель отлично справляется с проверкой по конкретному списку. "Есть ли призыв к действию?" — бинарный вопрос. Найти конкретный элемент в тексте модель умеет хорошо. Разбив расплывчатый критерий на несколько конкретных — ты переводишь задачу из "интерпретируй" в "проверь наличие".

Чеклист убирает зону неопределённости — именно там, где модель ошибается чаще всего. Средние по качеству тексты — не очень хорошие, но и не плохие — требуют взвешивания. Без явных критериев модель "угадывает". С чеклистом — проходит по пунктам и суммирует.

Рычаги управления: - Детализация пунктов → чем уже и конкретнее каждый критерий, тем стабильнее оценка. Один размытый пункт — одна точка нестабильности - Шкала (0–1 vs 0–3) → бинарные пункты (есть/нет) дают самый стабильный результат; расширенные шкалы добавляют нюанс, но и риск угадывания - 1-shot пример → добавь один разобранный пример с выставленными баллами — помогает для неоднозначных случаев, когда критерии можно трактовать по-разному - Явный вывод → попроси модель написать итоговый вывод отдельно — это заставляет синтезировать, а не просто перечислять


📋

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

Оцени {объект} по рубрике ниже.
По каждому пункту: поставь балл и объясни в 1 предложении.
В конце — итоговый балл и вывод.

РУБРИКА:

1. {Критерий 1}
   0 = {плохой вариант}
   1 = {средний вариант}
   2 = {хороший вариант}

2. {Критерий 2}
   0 = {плохой вариант}
   1 = {средний вариант}
   2 = {хороший вариант}

3. {Критерий 3}
   0 = {плохой вариант}
   1 = {средний вариант}
   2 = {хороший вариант}

[добавить нужное количество критериев]

---

{Текст/объект для оценки}

Плейсхолдеры: - {объект} — что оцениваем: пост, питч, резюме, ответ клиенту, landing page - {Критерий N} — конкретный аспект: "Зацепка в первом предложении", "Наличие цифр и фактов", "Ясность призыва к действию" - {плохой/средний/хороший вариант} — описание что именно соответствует каждому баллу

Ключевое правило формулировки критериев: каждый пункт должен быть проверяемым без интерпретации. Тест простой: можно ли проверить этот пункт, просто прочитав текст? Если нужно "чувствовать" — критерий ещё слишком расплывчатый.


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

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

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

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


⚠️

Ограничения

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

⚠️ Рубрика не заменяет экспертизу при разработке: Составить хорошую рубрику — это работа. Если критерии написаны наспех и остаются расплывчатыми, чеклист-форма не спасёт. Главный труд — в формулировке пунктов.

⚠️ Многоформатные объекты сложнее: Исследование показало, что рукописные тексты с формулами, схемами и зачёркнутыми пометками снижают точность. Применительно к чату: если оцениваемый объект плохо структурирован (каша из текста, таблиц, картинок) — сначала упорядочи его.

⚠️ Повторный запрос может дать другой балл: Temperature в чате обычно выше нуля. Для критически важных оценок — прогони несколько раз и смотри на разброс. Если баллы сильно гуляют — рубрика ещё недостаточно конкретна.


🔍

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

Команда взяла 20 реальных студенческих ответов на физическом экзамене — рукописных, с формулами, зачёркнутыми расчётами и схемами. Четыре преподавателя физики независимо оценивали каждый ответ, а GPT-4o работал как пятый "оценщик".

Ключевой момент дизайна — два раунда с двумя разными рубриками. В первом раунде использовали холистическую рубрику: у каждого навыка было общее описание уровней ("Мастерство / Развивается / Попытка / Нет попытки"), и оценщик смотрел на ответ целиком. Во втором раунде взяли ту же физику, но разбили каждый навык на конкретные чеклист-пункты: "правильно применил уравнения вертикального движения в части (а)?", "перевёл вектор в компоненты?".

Дополнительно в раунде 2 систематически варьировали два параметра: 0-shot vs 1-shot (с примером или без) и температуру от 0.3 до 1.0.

Что удивило: температура почти не повлияла на стабильность. Ожидалось, что при temperature=1.0 модель будет давать разброс — но разница с 0.3 оказалась минимальной. Зато переход от холистической к чеклист-рубрике дал заметный рост согласованности между AI и людьми. Особенно для ответов среднего уровня — именно там, где обе рубрики расходились сильнее всего.

Практический инсайт: рубрика важнее настроек. Можно не думать о температуре, но нельзя не думать о том, насколько конкретны критерии.


📄

Оригинал из исследования (фрагмент рубрики V2 — чеклист)

Rubric Version 2 (Checklist-based):

Physics Knowledge:
- Part (a): Correctly applies vertical motion equation → 0/1
- Part (b): Coordinates horizontal and vertical components → 0/1
- Part (c): Correctly interprets projectile outcome → 0/1

Problem Solving:
- Extracts relevant information from problem statement → 0/1
- Identifies governing principles or equations → 0/1
- Converts between representational forms (e.g., vector components) → 0/1
- Executes algebraic or numerical procedures correctly → 0/1

Контекст: Это вторая версия рубрики (V2), которую разработали после первого раунда. Каждый пункт — конкретная наблюдаемая операция, привязанная к конкретной части задачи. Нет расплывчатых описаний — только "сделал / не сделал".


📌

Адаптации

📌

💡 Адаптация: оценка по ролям

Если хочешь оценку с разных точек зрения — добавь роль перед рубрикой:

Ты — строгий редактор деловых текстов Bain & Company.
Оцени этот питч по рубрике ниже...
Ты — скептичный инвестор, который видел 500 питчей и устал от воды.
Оцени по рубрике...

Роль не меняет механику чеклиста, но сдвигает интерпретацию пограничных случаев. Полезно когда нужна оценка "глазами конкретного читателя".


📌

🔧 Техника: добавить уровень "почему именно так"

После оценки по рубрике — отдельный блок:

После оценки всех пунктов ответь:
- Какой один пункт сильнее всего тянет вниз?
- Что конкретно нужно переписать, чтобы поднять его на 2?

Превращает диагностику в actionable feedback. Особенно полезно при оценке своих же текстов перед отправкой.


🔗

Ресурсы

Название работы: Designing Reliable LLM-Assisted Rubric Scoring for Constructed Responses: Evidence from Physics Exams

Авторы: Xiuxiu Tang, G. Alex Ambrose, Ying Cheng

Организация: University of Notre Dame (Department of Psychology + Notre Dame Learning)

Контакт: xtang8@nd.edu


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

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

LLM выдаёт одному и тому же тексту 6 в одном диалоге и 8 — в другом. Это не баг модели. Это баг расплывчатой инструкции. Метод чеклист-рубрики позволяет получать стабильные оценки, которые не «гуляют» от запроса к запросу. Фишка: разбить «оцени аргументацию» на «есть ли конкретный пример для каждого утверждения?» — модель перестаёт интерпретировать и начинает проверять наличие. Вопрос «найди элемент в тексте» LLM решает стабильно. Вопрос «взвесь общее качество» — нет.

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

Не «оцени структуру» — а «есть ли заголовок?», «сформулирована ли проблема до решения?», «есть ли призыв к действию в последнем абзаце?». Правило: каждый пункт рубрики должен проверяться без интерпретации — просто прочитай и найди. Тест простой: если для ответа нужно «почувствовать» — критерий ещё расплывчатый. Перепиши его как вопрос с однозначным ответом. Бинарные пункты (да/нет, 0/1) — самые стабильные. Шкала 0–2 добавляет нюанс, но и риск: средний балл снова требует взвешивания. Если важна воспроизводимость — бери проще.

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

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

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

Оценка текстов, ответов, прототипов → особенно для сравнения нескольких вариантов (посты, питчи, резюме, ответы клиентам, лендинги), особенно когда нужна воспроизводимость — один результат сегодня, другой завтра не устраивает. НЕ подходит: если критерии сами по себе ещё не сформулированы. Расплывчатые пункты в чеклист-форме дают расплывчатый чеклист. Главный труд — в формулировке, не в шаблоне.

Мини-рецепт

1. Выпиши аспекты: что вообще важно в том, что оцениваешь — структура, аргументация, призыв к действию, что угодно. Список из 3–7 пунктов.

2. Переформулируй каждый в конкретный вопрос: не «насколько хорошо Y», а «есть ли X?» или «указано ли X до Y?». Если для ответа нужно интерпретировать — переделай.

3. Добавь описание баллов словами: 0 = нет / плохо (конкретно что), 1 = есть, но слабо (конкретно что), 2 = хорошо (конкретно что). Без абстракций.

4. Попроси пройтись по каждому пункту явно: балл + одно предложение почему. В конце — итоговый балл и вывод. Без явного запроса модель может пропустить пункты.

5. (Опционально) Добавь один разобранный пример с уже выставленными баллами — страховка для неоднозначных случаев, когда критерии можно трактовать по-разному.

Примеры

[ПЛОХО] : Оцени качество этого поста: структура, аргументация, вовлечённость. Поставь общую оценку от 1 до 10.
[ХОРОШО] : Оцени пост по рубрике ниже. По каждому пункту — балл и одно предложение почему. В конце — итоговый балл и вывод. Рубрика: 1. Зацепка в первом предложении: 0 = начало скучное, 1 = есть попытка но слабая, 2 = хочется читать дальше 2. Конкретность проблемы: 0 = расплывчато («люди не умеют копить»), 1 = есть конкретика, 2 = сформулировано точно и узнаваемо 3. Практическая польза: 0 = нет совета, 1 = совет абстрактный, 2 = конкретное действие которое можно сделать сегодня 4. Призыв к реакции: 0 = нет, 1 = есть но вялый, 2 = вопрос или призыв на который реально хочется ответить [текст поста]
Источник: Designing Reliable LLM-Assisted Rubric Scoring for Constructed Responses: Evidence from Physics Exams
ArXiv ID: 2604.12227 | Сгенерировано: 2026-04-15 05:35

Проблемы LLM

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

Методы

МетодСуть
Рубрика-чеклист — стабильная оценка текстаПереводишь каждый критерий в конкретный проверяемый пункт со шкалой. Формат: 0 = {плохо}, 1 = {средне}, 2 = {хорошо} — с описанием что именно соответствует баллу. Просишь модель пройти по каждому пункту явно: поставить балл и написать одно предложение почему. Почему работает: задача "найди конкретный элемент" решается стабильно. Задача "оцени качество" — нет. Чеклист переводит из первого во второе. Усиление: добавь один разобранный пример с выставленными баллами — помогает там где критерий можно трактовать по-разному. Когда не работает: если сами критерии написаны наспех и остаются расплывчатыми — форма чеклиста не спасёт
📖 Простыми словами

Designing ReliableLLM-Assisted Rubric Scoring for Constructed Responses: Evidence from Physics Exams

arXiv: 2604.12227

Проблема в том, что нейронки оценивают тексты не как объективные судьи, а как впечатлительные читатели. Когда ты просишь AI «оценить качество», ты заставляешь его играть в угадайку: модель сама придумывает, что такое «хорошо», и каждый раз это определение может меняться. В итоге получается рандомная лотерея, где один и тот же текст сегодня получает 9 баллов, а завтра — 6, просто потому что промпт был слишком рыхлым.

Это как попросить друга «купить чего-нибудь вкусненького». Один раз он принесет стейк, другой — коробку эклеров, а в третий — воблу, и формально он будет прав. Но если ты дашь ему жесткий список продуктов, шансы получить именно то, что нужно, вырастают до небес. С LLM та же история: ей нельзя доверять абстрактные понятия, ей нужны бинарные чеклисты.

Чтобы AI перестал лажать, нужно внедрять конкретные критерии-маркеры. Вместо «оцени логику» пиши: «упомянул ли автор закон Ома?» или «есть ли в тексте ссылка на источник?». Исследование на физических экзаменах доказало, что надёжность оценки взлетает, когда мы уходим от размытых эпитетов к сухим фактам. Модель отлично видит наличие или отсутствие конкретного элемента, но совершенно теряется, когда нужно измерить «глубину мысли».

Этот принцип универсален: он работает и в проверке сложных задач по физике, и в анализе постов для телеграм-канала. Если Таня из Екатеринбурга хочет понять, какой пост про финансы лучше, ей не стоит спрашивать «какой текст интереснее». Ей нужно прогнать варианты через фильтры: «есть ли в первом абзаце боль клиента?» или «предложен ли понятный план действий?». SEO-подход к смыслам превращает субъективное мнение AI в точный измерительный прибор.

Короче: завязывай с промптами в духе «сделай красиво» или «оцени профессионализм». Если хочешь стабильный результат, превращай свои требования в набор жестких триггеров. Либо в тексте есть конкретный факт, либо его нет — третьего не дано. Только так можно превратить нейронку из капризного критика в надежного аудитора, который не ошибается.

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

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

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