3,583 papers
arXiv:2602.00092 74 23 янв. 2026 г. FREE

ACE + Constitution: систематическая отладка промптов через атомарные правки и личный свод правил

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

TL;DR

Когда промпт не работает — люди обычно переписывают его целиком. ACE (Atomic Concept Edits) предлагает другой подход: менять ровно один концепт за раз — добавить, убрать или заменить — и смотреть что изменилось. Из этих наблюдений собирается конституция — личный свод правил в формате «хорошие стратегии / плохие стратегии» для конкретной задачи с конкретной моделью.

Главная находка: разные модели ломаются по-разному. Добавь в задачу переменную-отвлекалку — и GPT-5 запутается, а Gemini 2.5 и o4-mini не заметят. GPT-Image следит за грамматической структурой промпта, а Imagen 4 — за цельностью сцены. Это значит: оптимальный промпт для одной модели — не оптимален для другой. Интуитивно понятно, но никто не проверял это так системно.

Метод решает это через две фазы. Сначала — разведка: меняй по одному концепту, записывай что сработало и что нет. Потом — конституция: сформулируй короткий список стратегий (5-10 пунктов) на основе того, что нашёл. Дальше используй этот список как контекст в каждом запросе.


🔬

Схема метода

ШАГ 1: РАЗЛОЖИ ПРОМПТ НА КОНЦЕПТЫ
Выдели явные концепты (что написано)
и неявные (что подразумевается, но не написано) → список

ШАГ 2: АТОМАРНЫЕ ПРАВКИ (по одной за раз)
  • remove(концепт) → убери один элемент, проверь результат
  • add(концепт)    → добавь один элемент, проверь результат
  • replace(A → B)  → замени один элемент, проверь результат
→ записывай: что изменилось, лучше или хуже

ШАГ 3: СФОРМИРУЙ КОНСТИТУЦИЮ
На основе наблюдений составь два списка:
  ✅ Хорошие стратегии: что улучшает результат
  ❌ Плохие стратегии: что ухудшает или не влияет
→ 3-7 пунктов в каждом

ШАГ 4: ИСПОЛЬЗУЙ КОНСТИТУЦИЮ
Вставляй список стратегий в начало промпта для этой задачи
→ модель генерирует ответ с учётом найденных правил

Все шаги выполняются в обычном чате, отдельными запросами.

🚀

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

Задача: Ты пишешь промпты для ChatGPT, чтобы он помогал составлять коммерческие предложения для клиентов. Результаты нестабильны: иногда отлично, иногда размыто и без конкретики. Хочешь понять — что именно влияет на качество.

Промпт (Шаг 1 — разложи на концепты):

Вот мой промпт для составления КП:

"Напиши коммерческое предложение для клиента — строительная компания, 
нужен подрядчик для отделочных работ, бюджет 2 млн рублей, срок 3 месяца."

Разложи этот промпт на концепты:
1. Явные концепты (что прямо написано)
2. Неявные концепты (что подразумевается, но не указано)

Для каждого неявного концепта предложи, как его можно добавить в промпт.

Промпт (Шаг 2 — атомарные правки):

Возьми базовый промпт: "[вставь исходный промпт]"

Сделай 5 вариантов с атомарными правками — каждый раз меняй РОВНО ОДИН элемент:
Вариант 1: убери [концепт X]
Вариант 2: добавь [концепт Y]
Вариант 3: замени [концепт A] на [концепт B]
...

Для каждого варианта напиши короткое КП (2-3 абзаца) и оцени сам: 
стало конкретнее или размытее? Почему?

Промпт (Шаг 3 — конституция):

Ты провёл эксперименты с разными вариантами промпта для КП.
Вот результаты: [вставь наблюдения из шага 2]

Составь конституцию для этого типа задачи:

✅ ХОРОШИЕ СТРАТЕГИИ (3-5 пунктов):
Что добавлять/убирать/заменять, чтобы КП получалось конкретнее и убедительнее

❌ ПЛОХИЕ СТРАТЕГИИ (2-4 пункта):
Что сбивает модель с толку или даёт размытый результат

Каждый пункт — одна строка, конкретно, с примером.

Результат: После трёх итераций у тебя на руках будет список из 7-9 конкретных правил — что работает именно для КП, именно в ChatGPT. Например: «добавь конкретную боль клиента → результат острее» или «убирай слово "качественный" → без него меньше воды». Дальше вставляй конституцию в начало каждого запроса — стабильность вырастет.


🧠

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

LLM не держит в голове что важно в твоём тексте. Каждый запрос — с нуля. Ты не знаешь, какой элемент промпта тянет результат вниз — потому что меняешь сразу несколько вещей одновременно. Это как лечить болезнь, меняя одновременно диету, режим и лекарства — не поймёшь что помогло.

Атомарная правка убирает эту неопределённость. Меняешь один элемент → видишь ровно его эффект. Это базовый принцип любого эксперимента, перенесённый на работу с промптами. Модель не стала умнее — ты просто начал контролировать переменные.

Конституция работает как few-shot в обёртке. Когда ты вставляешь список «хорошие/плохие стратегии» в промпт, модель получает калиброванный контекст под твою задачу. Она генерирует текст не с нуля, а с уже встроенными правилами, которые ты проверил эмпирически. Это как дать новому сотруднику не должностную инструкцию, а список «что тут работает и что не работает» от предыдущего коллеги.

Рычаги управления: - Размер конституции → 3-5 пунктов для быстрого старта, 7-10 для тонкой настройки - Специфичность правил → чем конкретнее формулировка («добавь название города» вместо «добавь детали»), тем стабильнее работает - Привязка к модели → конституция для Claude и для ChatGPT может различаться — тестируй отдельно - Периодическое обновление → когда находишь новый паттерн, добавляй его в список


📋

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

## КОНСТИТУЦИЯ ДЛЯ ЗАДАЧИ: {тип_задачи}

### Хорошие стратегии (применяй всегда):
{хорошая_стратегия_1}
{хорошая_стратегия_2}
{хорошая_стратегия_3}

### Плохие стратегии (избегай):
{плохая_стратегия_1}
{плохая_стратегия_2}

---

Задача: {конкретный_запрос}

Плейсхолдеры: - {тип_задачи} — например «написание КП», «анализ договора», «пересказ статьи» - {хорошая_стратегия_N} — конкретное правило из твоих наблюдений: «Всегда указывай конкретную боль клиента в первом абзаце» - {плохая_стратегия_N} — что ухудшает результат: «Не используй размытые прилагательные без примера» - {конкретный_запрос} — твоя задача на сегодня


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

Помоги мне построить конституцию для моей задачи. 
Адаптируй этот шаблон под мой контекст. Задавай вопросы, 
чтобы заполнить все поля.

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

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


⚠️

Ограничения

⚠️ Требует итераций: Конституция не появляется за один запрос. Нужно 5-15 экспериментов с атомарными правками, чтобы список стратегий стал полезным. Для разовых задач — не стоит усилий.

⚠️ Не переносится между моделями: Конституция, собранная для ChatGPT-4o, может плохо работать в Claude 3.5 или Gemini. Исследование прямо показало: GPT-5 путают переменные-отвлекалки, а Gemini — нет. Тестируй под каждую модель отдельно.

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

⚠️ Конституция устаревает: Когда меняется модель (например, ChatGPT обновился) или тип задачи — список стратегий нужно пересобирать.


🔍

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

Команда Google DeepMind взяла три разные задачи: контроль количества слов в ответе LLM, намеренное ухудшение математических решений и снижение соответствия между текстовым описанием и сгенерированным изображением. Для каждой задачи отбирали 100-130 начальных промптов из реальных датасетов (wikiHow, математические задачи в формате CSP, случайные текстовые описания для изображений).

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

Самый интересный результат — межмодельные различия. GPT-5 деградирует от переменных-отвлекалок в математике (добавляешь ненужную переменную в условие — модель путается), а Gemini 2.5 Flash/Pro и o4-mini остаются устойчивы. Это практически важно: если работаешь с числовыми задачами в GPT-5 — убирай лишние переменные из условий. Конституция с этим правилом дала в среднем 1.86× рост успешности по сравнению с беспорядочными правками без стратегии.


📄

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

Оригинальная структура конституции из исследования для задачи «соблюдение количества слов»:

GOOD STRATEGIES:
- Direct Word Count Specification
- Character/Sentence Limits
- Word Count Range
- Targeted Brevity Commands
- Removal of Irrelevant Context or Superfluous Information

BAD STRATEGIES:
- Irrelevant Tone/Audience Adjustments
- Generic Prompt Rewording
- Changing Specifics/Core Request
- Format Changes (without length implication)
- Vague Qualitative Length Descriptors

Контекст: Исследователи запускали ACE на 100 промптах из wikiHow, используя Gemini 2.5 Flash как генератор правок. Конституция выше — итог нескольких сотен атомарных экспериментов, обобщённых в список стратегий.


💡

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

💡 Адаптация: готовая конституция для типовых задач

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

Если работаешь с ограничениями по объёму (короткие ответы, резюме, посты):

## КОНСТИТУЦИЯ: Контроль объёма текста

### Хорошие стратегии:
- Укажи точное число слов или знаков: "ответь в 50 словах"
- Задай диапазон: "от 40 до 60 слов"
- Попроси убрать повторы и общие фразы перед финальным ответом

### Плохие стратегии:
- Расплывчатые инструкции: "ответь кратко" или "не пиши много"
- Изменение тона/аудитории без указания длины
- Формальные требования без указания на длину ("используй маркированный список")

---

Задача: {твой_запрос}

🔧 Техника: Принцип отвлекающих переменных → очищай условие задачи

Исследование показало: GPT-5 путается если в условии задачи есть лишние переменные, которые не нужны для решения. Это работает в обе стороны.

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

Если хочешь проверить логику модели: добавь одну нерелевантную переменную и посмотри запутается ли. Это простой тест на устойчивость рассуждений для конкретного вопроса.

Реши задачу: {условие_задачи}

[Чистая версия — без лишних деталей]

vs.

Реши задачу: {условие_задачи + отвлекающая_переменная}

[Версия с отвлекалкой — смотри как изменился ответ]

🔗

Ресурсы

Название работы: Interpreting and Controlling Model Behavior via Constitutions for Atomic Concept Edits

Где опубликовано: Принята на AISTATS 2026 (короткая версия)

Авторы: Neha Kalibhat, Zi Wang, Prasoon Bajpai, Drew Proud, Wenjun Zeng, Been Kim, Mani Malek

Организация: Google DeepMind

Связанные работы упоминаемые в статье: Constitutional AI (Anthropic), TextGrad, AlphaEvolve, ProTeGi


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

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

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

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

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

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

LLM реагирует на структуру запроса, но ты не знаешь на какую именно часть. Масштаб проблемы виден в находке исследования: добавь переменную-отвлекалку в задачу — GPT-5 поплывёт, а Gemini 2.5 даже не заметит. Разные модели ломаются по-разному: оптимальный промпт для одной — не оптимален для другой. Именно поэтому универсальные советы по промптингу работают через раз. Конституция решает это: ты не применяешь чужие правила, а собираешь свои — через проверку, а не догадки.

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

Повторяющиеся задачи с чётким критерием успеха → написание текстов по шаблону, анализ документов, генерация по формату — особенно когда модель даёт нестабильный результат и непонятно почему. НЕ подходит для разовых задач (10-15 экспериментов окупаются только если задача повторяется) и для субъективных запросов без критерия («напиши смешно» — не работает, «напиши не длиннее 5 строк» — работает).

Мини-рецепт

1. Разложи на части: попроси LLM выписать явные концепты промпта (что написано прямо) и неявные (что подразумевается, но не указано). Получишь список из 5-10 элементов.
2. Правь по одному: убери один элемент — проверь результат. Добавь другой — проверь. Замени третий — проверь. Каждый раз записывай: стало лучше, хуже или без разницы.
3. Собери конституцию: накопи 7-10 наблюдений, потом попроси LLM сформулировать два столбика — что улучшает результат и что ломает. Коротко, конкретно, по одной строке на правило.
4. Встрой в работу: вставляй конституцию в начало каждого запроса для этой задачи. Если нашёл новый паттерн — добавляй в список. Если сменил модель — пересобирай заново.

Примеры

[ПЛОХО] : Перепиши этот промпт для коммерческого предложения чтобы он работал лучше
[ХОРОШО] : Вот мой промпт для КП: [промпт]. Убери из него упоминание дедлайна — только этот элемент, ничего больше не меняй. Напиши результат и скажи: стало конкретнее или размытее? Почему, по-твоему? После 7-10 таких запросов: [ХОРОШО — финал]: ## Конституция для задачи: написание КП Хорошие стратегии: - Указывай конкретную боль клиента в первом абзаце - Называй сумму и срок в одном предложении Плохие стратегии: - Не используй прилагательные без примера (нельзя «качественный», можно «три объекта сданы в срок») - Убирай вводные слова — модель начинает лить воду --- Задача: напиши КП для клиента — логистическая компания, нужен перевозчик, маршрут Москва–Новосибирск, груз 5 тонн
Источник: Interpreting and Controlling Model Behavior via Constitutions for Atomic Concept Edits
ArXiv ID: 2602.00092 | Сгенерировано: 2026-03-09 00:29

Проблемы LLM

ПроблемаСутьКак обойти
Один и тот же промпт работает по-разному в разных моделяхПишешь промпт под ChatGPT — в Claude работает хуже. Или наоборот. Каждая модель чувствительна к разным вещам. Одну сбивает лишняя деталь в задаче. Другую — порядок слов. Третью — нечёткая сцена. Непонятно почему, пока не проверишь отдельно. Это ломает логику "напишу один хороший промпт и везде будет работать"Тестируй каждую модель отдельно. Меняй по одному элементу промпта (см. метод атомарных правок) и записывай что изменилось. Собирай разные списки правил для разных моделей
При правке промпта непонятно что именно помоглоРезультат плохой. Переписываешь промпт: добавил детали, убрал лишнее, поменял порядок. Стало лучше. Но что именно сработало — непонятно. В следующий раз снова будешь угадывать. Накопить опыт не получаетсяМеняй ровно один элемент за раз. Смотри что изменилось. Записывай. Так узнаешь точно что влияет, а что нет

Методы

МетодСуть
Атомарные правки — изолируй что работаетВозьми промпт. Выдели в нём отдельные элементы (концепты): что написано явно и что подразумевается. Потом меняй ровно один за раз: убери, добавь или замени. Проверяй результат. Записывай: стало лучше или хуже, и почему. Почему работает: Когда меняешь несколько вещей сразу — не знаешь что помогло. Одна правка = один вывод. Это базовый принцип любого эксперимента. Когда применять: задача повторяется часто, результаты нестабильны, хочешь понять причину. Когда не стоит: разовая задача, субъективная оценка результата (например "напиши смешнее")
Свод правил задачи — стабилизируй результат через опытПосле 5-15 атомарных экспериментов составь два списка: что улучшает результат и что ухудшает. По 3-7 пунктов каждый. Вставляй этот список в начало промпта для данного типа задачи. Почему работает: Модель получает готовые правила которые ты уже проверил. Не генерирует с нуля — опирается на проверенный контекст. Это как few-shot, но вместо примеров — сформулированные закономерности. Синтаксис: ## Хорошие стратегии: [список]. ## Плохие стратегии: [список]. --- Задача: [запрос]

Тезисы

ТезисКомментарий
Свод правил работает только для конкретной моделиПравила, собранные через эксперименты с ChatGPT, могут не работать в Claude или Gemini. Каждая модель реагирует на разные элементы промпта. Универсального свода нет. Применяй: перед сборкой свода правил — определи с какой моделью будешь работать. Смени модель — пересобери правила
📖 Простыми словами

Interpreting and ControllingModelBehavior via Constitutions for Atomic Concept Edits

arXiv: 2602.00092

Суть метода ACE в том, что мы перестаем гадать, почему нейронка выдает ерунду, и начинаем препарировать промпт как хирурги. Обычно люди переписывают запрос целиком, надеясь на чудо, но это путь в никуда. Модель воспринимает текст не как единую мысль, а как набор атомарных концептов. Если ты меняешь всё сразу, ты никогда не узнаешь, что именно сработало — удачная метафора или то, что ты добавил в конце "пожалуйста". Метод заставляет изолировать одну переменную, менять только её и фиксировать результат, превращая хаотичный подбор слов в управляемую инженерию.

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

На практике это работает через создание конституции — твоего личного свода правил, который говорит модели, что такое «хорошо» и что такое «плохо» для конкретной задачи. Ты берешь концепт, например, социальное доказательство, и проверяешь: если его убрать, текст станет хуже? А если заменить на статистические данные? В итоге у тебя на руках не просто удачный промпт, а карта влияния, где четко прописано: «вот этот аргумент добавляет 20% к убедительности, а вот эта вежливая фраза съедает конкретику». Ты буквально собираешь идеальный ответ из проверенных деталей.

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

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

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

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

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