3,583 papers
arXiv:2605.24247 79 22 мая 2026 г. FREE

Constitutional Specification: структурированная «конституция» для стабильных оценок LLM

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

TL;DR

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

Главная находка: когда две разные LLM расходятся в оценке одного и того же текста по одной инструкции — это не вопрос «какая модель права». Это сигнал, что инструкция неполная. Точка расхождения показывает именно тот граничный случай, который нужно прописать явно. После уточнения расхождения исчезают почти полностью.

Метод строится на создании структурированного документа-критерия: не два предложения «оцени как X», а полноценная спецификация с определением, логикой решения, явными примерами «входит / не входит» и разбором граничных случаев. LLM читает весь документ на каждую задачу и следует прописанным правилам — вместо того чтобы угадывать из контекста.


🔬

Схема метода

ШАГ 1: Написать конституцию (один раз)
  → Структурированный документ: определение + логика решения 
    + что входит / что НЕ входит + разобранные граничные случаи

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

[Опционально] ШАГ 3: Валидация конституции
  → Запустить две разные модели на одних и тех же примерах
  → Расхождения = пробелы в конституции → дописать правила

Шаги 1 и 3 — разовая работа по созданию конституции.

Шаг 2 — рабочий режим: вставляешь конституцию + материал в каждый запрос.


🚀

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

Задача: Ты принимаешь заявки в акселератор стартапов. Просишь LLM отфильтровать «готовые к инвестициям» проекты — но каждый раз получаешь разные оценки. Один и тот же питч одна сессия считает «перспективным», другая — «сырым».

Промпт:

Ты — эксперт по отбору стартапов. Оценивай каждую заявку строго по 
следующей конституции. Не используй личные суждения — только правила 
конституции.

<Конституция категории "Готов к инвестициям">

## Определение
Стартап готов к инвестициям, если у него есть доказанный спрос 
и понятная бизнес-модель с реалистичным путём к прибыли.

## Обязательные критерии (все должны выполняться)
- Есть хотя бы один платящий клиент ИЛИ подписанный LOI от реального 
  покупателя (не друг, не родственник)
- Команда имеет опыт в индустрии ИЛИ уже запускала что-то раньше
- Описан конкретный механизм монетизации (не "будем продавать рекламу")

## Что НЕ делает стартап готовым (явные исключения)
- Большой TAM сам по себе — не критерий. "Рынок 10 трлн рублей" без 
  доказанного доступа к нему = не готов
- Прототип без пользователей = не готов, даже если технология крутая
- Только B2G-клиенты без подписанных контрактов = не готов

## Логика решения
Если нет ни одного платящего клиента И нет подписанного LOI → НЕТ, 
  независимо от остального
Если команда — первый проект, без профильного опыта → задай вес -1 
  к итоговой оценке
Если монетизация описана как "комиссия с транзакций" без объяснения 
  почему покупатель заплатит → НЕТ

## Разобранные граничные случаи
✓ Стартап с одним клиентом на 50 000 ₽/месяц → ДА (есть платящий клиент)
✗ Стартап с 5000 пользователей бесплатного сервиса → НЕТ (нет платящих)
✓ Команда из двух студентов, но уже запустили и продали предыдущий проект → 
  ДА по критерию команды
✗ Основатель 20 лет в корпорации, но первый стартап → сомнительно, 
  дополнительный вопрос



Оцени следующую заявку:
{текст заявки}

Ответ: ДА / НЕТ / СОМНИТЕЛЬНО
Обоснование: укажи конкретный пункт конституции, который определил ответ.

Результат:

Модель выдаст ДА/НЕТ/СОМНИТЕЛЬНО с указанием конкретного правила. Например: «НЕТ — нарушено обязательное условие: нет платящих клиентов и нет LOI. TAM 500 млрд рублей не является критерием по конституции». При повторном запросе с той же заявкой ответ будет идентичным — потому что правило явное.


🧠

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

LLM без детальных правил — как судья без законов. Когда инструкция расплывчатая («оцени качество»), модель заполняет пробелы тем, что видела в обучении: разными статьями, форумами, мнениями. Одна и та же задача — разный контекст срабатывания → разный ответ.

LLM хорошо следует явным правилам. Если написано «нет платящего клиента = НЕТ, независимо от остального» — модель применит это правило последовательно. Не потому что «думает», а потому что явная инструкция убирает пространство для интерпретации. Конституция превращает размытые критерии в чёткий алгоритм.

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

Рычаги управления: - Добавить больше граничных случаев → точнее работает на специфичных примерах твоей задачи - Добавить «Логику решения» с явными if/then → убирает пространство для интерпретации на сложных случаях - Разбить на две независимые оси (например, «соответствие формату» + «качество содержания» отдельно) → видишь где именно проблема, а не общую оценку - Попросить модель указывать конкретный пункт конституции → сразу видишь какое правило срабатывает, легче отлаживать


📋

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

Ты — {роль оценщика}. Оценивай каждый {тип материала} строго по 
следующей конституции. Не используй личные суждения — только правила, 
прописанные в документе.

<Конституция категории "{название критерия}">

## Определение
{Что именно означает этот критерий — 2-3 предложения}

## Обязательные условия
- {Условие 1, которое ДОЛЖНО выполняться}
- {Условие 2, которое ДОЛЖНО выполняться}

## Явные исключения (не считается, даже если похоже)
- {Что НЕ входит в критерий — конкретно}
- {Что НЕ входит в критерий — конкретно}

## Логика решения
Если {условие А} → {вывод}
Если {условие Б} → {другой вывод}, даже если {условие В}

## Граничные случаи
✓ {Пример который ДА}: {в одну строку почему}
✗ {Пример который НЕТ}: {в одну строку почему}
✓ {Ещё пример ДА}
✗ {Ещё пример НЕТ}



Оцени: {материал для оценки}

Формат ответа:
Вывод: {ДА / НЕТ / СОМНИТЕЛЬНО}
Основание: {конкретный пункт конституции, который применился}

Что подставлять: - {роль оценщика} — эксперт по маркетингу, HR-специалист, редактор, модератор - {тип материала} — заявку, резюме, текст, отзыв, питч - {название критерия} — «Готов к публикации», «Подходит для вакансии», «Токсичный контент» - {условия} — конкретные, проверяемые, не «хорошее качество» - {граничные случаи} — реальные примеры, которые вызвали вопросы у тебя раньше


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

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

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

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


⚠️

Ограничения

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

⚠️ Слабые модели: Компактные/быстрые модели (nano-класс) применяют конституцию поверхностно — видят ключевые слова, но не применяют исключения, которые следуют за ними. Конституция работает надёжно на моделях уровня GPT-4o, Claude Sonnet, Gemini Pro и выше.

⚠️ Неоднозначные формулировки внутри конституции: Если прописать «будь консервативен в оценке», разные модели интерпретируют «консерватизм» по-разному. Расплывчатые метаправила не лечат расплывчатость — нужны конкретные if/then.

⚠️ Субъективные критерии: Когда сам критерий не поддаётся операционализации («хорошо написано», «вдохновляет»), конституция помогает слабее. Метод работает лучше для проверяемых условий, чем для эстетических суждений.


🔍

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

Команда из Cisco взяла три категории контент-модерации — харасмент, язык ненависти, ненасильственные преступления — и сравнила шесть источников определений: четыре публичных таксономии (OpenAI, Meta Llama Guard, MLCommons, AEGIS), их собственное параграфное определение и полноценную конституцию. Каждое определение скормили шести разным LLM и смотрели, как часто пары моделей расходятся в оценке одного и того же текста.

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

Почему люди проигрывали LLM? Исследователи заметили два паттерна: аннотаторы подсознательно выбирали «главную» категорию вместо независимой оценки каждой (если похоже на мошенничество — писали «мошенничество», даже когда задача была оценить «ненасильственное преступление»). И реагировали на поверхностные сигналы — угроза есть, значит «да», даже если в конституции прописано «без конкретной жертвы — нет». LLM читает конституцию заново на каждом примере и не накапливает усталость от предыдущих решений — это проигнорированное преимущество.


📄

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

Constitution Anatomy (per-category structure):

1. Top-level definition — what the category means
2. Required elements — what must be present for a positive label
3. Decision logic — explicit if/then rules for boundary cases
4. Boundary notes — what is and is not included, with rationale
5. Worked examples — labelled positive/negative with explanation
6. Explicit exclusions — named cases that look positive but are not
7. Adjacent category guidance — how to distinguish from siblings
8. Conservatism stance — how to handle genuine ambiguity
9. Dual-axis definitions — intent label and content label separately
10. Conversation-level scope — evaluate full conversation, not message-by-message

Cross-model validation process:
Run the same constitution on the same conversations with 2-3 models 
from different vendors. 
Where models disagree → trace to specific constitutional section → 
draft targeted patch (before/after edit) → human reviews → merge → 
re-validate against same test set.

Контекст: Это скелет одной конституции из исследования — 300+ строк для категории «харасмент». Компоненты выделены явно, чтобы видеть что именно делает документ полным. Конституция — это не просто «длинный промпт», это специфичная структура с явными правилами для каждого типа граничного случая.


💡

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

📌

💡 Адаптация 1: Конституция для оценки текстов

Вместо классификации «вредный/безвредный» — оценка «готов к публикации / нет» для редакции или SMM-команды:

<Конституция "Готов к публикации в Telegram-канале">

## Определение
Пост готов к публикации, если он самодостаточен, точен по фактам 
и соответствует тону канала.

## Обязательные условия
- Одна главная мысль, не три
- Нет голословных утверждений без источника или примера
- Длина: 800-1500 знаков

## Явные исключения
- "Интересный факт" без источника → НЕТ, даже если звучит достоверно
- Пост с вопросом в конце без содержательной части → НЕТ
- Репост чужого текста без добавленной ценности → НЕТ

## Логика решения
Если есть утверждение формата "исследования показывают" без 
конкретного источника → НЕТ
Если тон резкий/осуждающий → проверить соответствие архиву канала

## Граничные случаи
✓ Личный опыт автора без ссылок — ДА (субъективная позиция, 
  не факт-чекинг)
✗ Статистика без года и источника — НЕТ


Оцени пост: {текст поста}

📌

🔧 Адаптация 2: Двухосевая оценка

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

Оцени резюме по двум осям независимо:

Ось 1 — Соответствие требованиям: ДА / НЕТ / ЧАСТИЧНО
(Есть ли указанные в вакансии навыки и опыт?)

Ось 2 — Качество подачи: ВЫСОКОЕ / СРЕДНЕЕ / НИЗКОЕ  
(Конкретные достижения с цифрами или общие фразы?)

Оценки независимы: кандидат может соответствовать требованиям, 
но плохо презентовать себя — и наоборот.

Список обязательных требований: {из вакансии}
Резюме: {текст резюме}

Вместо итоговой оценки «подходит/не подходит» ты видишь где именно проблема.


📌

🔧 Адаптация 3: Расхождение как диагностика

Валидация собственной инструкции без написания конституции с нуля:

Я хочу проверить насколько точна моя инструкция для оценки {задача}.

Вот моя инструкция: {инструкция}

Вот три пограничных случая, в которых я не уверен:
1. {случай 1}
2. {случай 2}  
3. {случай 3}

Как ты оценишь каждый? Потом я дам тебе оценку другой модели — 
сравним расхождения и найдём какие правила нужно дописать.

Запусти тот же промпт в Claude и ChatGPT. Расхождения покажут точки неоднозначности — то, что нужно прописать явно.


🔗

Ресурсы

Название: Improving Labeling Consistency with Detailed Constitutional Definitions and AI-Driven Evaluation

Авторы: Konstantin Berlin, Adam Swanda — Cisco AI Defense

Связанные работы: - Constitutional AI (Bai et al., 2022) — Anthropic, откуда взята идея конституции - Constitutional Classifiers (Sharma et al., 2025) — расширение на runtime enforcement - HarmBench (Mazeika et al., 2024) — датасет безопасности, использованный для оценки - WildChat (Zhao et al., 2024) — датасет реальных разговоров с ChatGPT


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

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

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

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

Модель без детальных правил — как судья без законов. Просишь «оцени качество» — модель видела тысячи текстов с разными стандартами. Заполняет пробелы тем, что сработало в похожем контексте при обучении. В следующей сессии — другой контекст, другой ответ. Конституция убирает пространство для интерпретации: есть явное правило «нет платящего клиента → НЕТ, невзирая на остальное» — модель применяет его, а не рассуждает поверх него. Не угадывание. Применение явной инструкции. Именно это делает оценку стабильной — не «умная модель», а отсутствие щелей куда утекает интерпретация.

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

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

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

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

Мини-рецепт

1. Напиши конституцию один раз: определение критерия (2-3 предложения) + обязательные условия + явные исключения (что НЕ является критерием, даже если похоже) + логика if/then для сложных случаев + 4-6 разобранных примеров с пометкой ДА/НЕТ и объяснением в одну строку.
2. Каждый запрос — с конституцией: вставляй полный текст документа в каждый запрос на оценку. Проси модель указывать конкретный пункт конституции, который определил ответ — так сразу видно какое правило срабатывает.
3. Диагностика расхождений: запусти 10-20 примеров параллельно в двух разных моделях. Где ответы расходятся — там дыра. Пропиши явное правило для этого случая и повтори.
4. Избегай расплывчатых метаправил: «будь консервативен в оценке» — не работает, разные модели понимают консерватизм по-своему. Только конкретные проверяемые условия.

Примеры

[ПЛОХО] : Оцени эту заявку в акселератор: готов ли стартап к инвестициям?
[ХОРОШО] : Ты — эксперт по отбору стартапов. Оценивай строго по конституции ниже. Не используй личные суждения — только правила из документа. <Конституция 'Готов к инвестициям'> Определение: стартап готов к инвестициям, если есть доказанный спрос и понятный путь к прибыли. Обязательные условия (все должны выполняться): - Есть хотя бы один платящий клиент ИЛИ подписанное письмо о намерениях от реального покупателя - Команда имеет опыт в индустрии ИЛИ уже запускала что-то раньше Явные исключения: - Большой объём рынка сам по себе — не критерий - Прототип без пользователей — НЕТ, даже если технология сильная Логика решения: Если нет платящего клиента И нет письма о намерениях → НЕТ, невзирая на остальное Граничные случаи: ✓ Один клиент на 50 000 в месяц → ДА (есть платящий) ✗ 5000 пользователей бесплатного сервиса → НЕТ (нет платящих) ✓ Два студента, но уже продали предыдущий проект → ДА по критерию команды Оцени заявку: {текст} Вывод: ДА / НЕТ / СОМНИТЕЛЬНО Основание: укажи конкретный пункт конституции.
Источник: Improving Labeling Consistency with Detailed Constitutional Definitions and AI-Driven Evaluation
ArXiv ID: 2605.24247 | Сгенерировано: 2026-05-26 07:44

Проблемы LLM

ПроблемаСутьКак обойти
Модель заполняет пробелы в критериях по-своемуКогда критерий расплывчатый — "оцени качество", "найди проблемные тексты" — модель угадывает что ты имеешь в виду. Угадывает из обучающих данных. Каждый раз чуть по-разному. Один и тот же текст в понедельник — "хорошо", во вторник — "плохо". Не потому что модель сломалась. Потому что инструкция не убрала неоднозначностьЗамени короткое описание критерия на структурированный документ. Пропиши: что именно означает критерий, что входит, что не входит явно, логику решения в формате "если А то Б", разобранные граничные случаи

Методы

МетодСуть
Структурированная спецификация критерия — стабильные оценкиВместо "оцени как X" пишешь документ с разделами: определение, обязательные условия, явные исключения, логика решения, граничные случаи. Вставляешь этот документ в каждый запрос вместе с материалом. Структура: <Конституция> ## Определение ## Обязательные условия ## Явные исключения ## Логика решения (если А вывод, если Б другой вывод) ## Граничные случаи (✓ пример да: почему / ✗ пример нет: почему) . Почему работает: Явные правила убирают пространство для интерпретации. Модели нечего угадывать — есть конкретный алгоритм. Когда применять: задача с граничными случаями, нужна повторяемость, несколько разных людей или сессий оценивают одно и то же. Когда избыточно: однозначные задачи без серых зон ("найди опечатки", "переведи"). Важно: расплывчатые правила внутри документа не помогают. "Будь консервативен" — разные модели поймут по-разному. Только конкретные условия
📖 Простыми словами

Improving Labeling Consistency with Detailed Constitutional Definitions andAI-Driven Evaluation

arXiv: 2605.24247

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

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

Авторы предлагают внедрять конституционные определения — это когда вместо одного слова «качество» ты вываливаешь на модель детальный свод норм для каждого пограничного случая. Метод AI-Driven Evaluation работает за счет того, что мы забираем у нейронки право на интерпретацию. Мы буквально заставляем её сверяться с «законодательством», где прописано, что считается ошибкой, а что — допустимой погрешностью. Когда у модели перед глазами детальный чек-лист, пространство для маневра исчезает, и согласованность ответов взлетает до небес.

Этот подход — спасение для любого бизнеса, который пытается автоматизировать модерацию, скоринг лидов или проверку кода. Тестировали на разметке данных, но принцип универсален: если ты хочешь, чтобы GPT-4 или Claude выдавали стабильный результат в 100 случаях из 100, забудь про короткие промпты. Тебе нужно прописать граничные условия и сценарии «если-то» для каждой спорной ситуации. Конституция для AI превращает капризного художника в дисциплинированного аудитора, который не спорит с логикой.

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

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

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

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