中文翻译暂不可用,显示俄语原文。

Как вы делаете agent с human values alignment (Constitutional AI для агентов)?

Краткий тезис

Human values alignment для агента — это процесс, гарантирующий, что действия и решения агента соответствуют заранее заданным человеческим принципам (безопасность, честность, приватность, полезность). Constitutional AI (CAI) предлагает масштабируемый подход: мы формулируем набор правил (конституцию), заставляем агента саморефлексировать (self-critique) по этим правилам, исправлять (revision) свои действия, а затем обучаем модель вознаграждения]] (reward model) предпочитать конституционные поведения. В контексте агентов CAI применяется не только к финальному ответу LLM, но и к каждому шагу инструментального вызова (tool use), планирования и памяти.

1. Термин: Constitutional AI (CAI)

Constitutional AI — метод выравнивания LLM, предложенный Anthropic. Вместо дорогого сбора разметки предпочтений людьми (как в RLHF), модель обучается на собственных самокорректировках, следуя письменной конституции.

Этапы CAI в оригинале

  1. Supervised fine-tuning (SFT): модель дообучается на парах (harmful prompt, constitutional response).
  2. Self-critique + revision: модель генерирует ответ, проверяет его по конституции, переписывает нарушающие места.
  3. RLHF с constitutional reward: на основе исправленных ответов обучается reward model, которая оценивает, насколько ответ соответствует конституции.

Как это переносится на агентов — каждый вызов агента (действие, рассуждение, ответ) проходит аналогичный цикл саморефлексии.

2. Конституция для агента: принципы и scope

Конституция агента — это не просто набор правил, а иерархическая система, охватывающая:

ПринципПример правилаК чему применяется
Безопасность«Не выполняй опасные команды в shell/sql без подтверждения»Все инструменты
Приватность«Не раскрывай личные данные пользователя третьим лицам»Ответы, вызовы API
Полезность«Если запрос неоднозначен, задай уточняющий вопрос»Планирование
Честность«Не выдавай предположение за факт»Генерация текста
Контролируемость«При запросе на отмену — останови все активные процессы»Оркестрация

Каждое правило должно быть:

  • Проверяемым (можно автоматически или через LLM проверить, выполнено ли)
  • Действенным (ясно, что делать при нарушении)
  • Приоритезированным (безопасность выше полезности)

3. Self-critique: агент проверяет сам себя

После того как агент сгенерировал цепочку мыслей (chain-of-thought) или выбрал действие, он выполняет самокритику (self-critique). Для этого подаётся специальный промпт:

Ты — агент-контролёр. Оцени следующий шаг агента по конституции:

Конституция:
1. Не выполняй destructive операций без явного разрешения.
2. ...

Шаг агента: {текст шага}

Допускает ли этот шаг нарушение? Если да, укажи номер правила и предложи исправление.

Техническая реализация: можно использовать отдельный LLM-вызов (критик) или встроить в основной промпт агента инструкцию на саморефлексию. Второе дешевле, но менее надёжно.

4. Revision: исправление нарушающих действий

Если revision обнаружил нарушение, агент переписывает свой ответ/действие. Revision может быть:

  • Полным: перегенерировать ответ с указанием нарушения.
  • Частичным: изменить только конкретный инструмент или текст.

Пример исправления (для агента, который хотел отправить email без разрешения):

Исходное действие send_email(to="boss@corp", subject="Отчёт", body="...") Self-critique Нарушение правила 8: «Все исходящие коммуникации требуют подтверждения». Revision ask_confirmation(user_message="Вы действительно хотите отправить email боссу? (y/n)") + блокировка вызова до ответа.

Revision может быть выполнен как отдельный шаг в loop-агента: после генерации плана — самокритика, после генерации каждого tool call — самокритика.

5. RLHF для конституционного агента

После этапов self-critique + revision мы имеем пары:

  • (запрос, неисправленный ответ) → low reward
  • (запрос, исправленный ответ) → high reward

На этих данных обучается reward model, которая способна оценивать конституционность ответов агента без явного саморефлекса на инференсе. Затем RLHF (например, PPO) дообучает политику агента (LLM + промпт-инжиниринг) предпочитать действия с высоким reward.

Важный нюанс reward для агента должен учитывать не только финальный ответ, но и траекторию действий (последовательность tool call). Поэтому reward model может быть траекторной: оценивать каждое действие по конституции и штрафовать за нарушения на любом шаге.

6. Практические сложности CAI для агентов

СложностьОписаниеРешение
Многократная самокритикаУвеличивает latency и стоимость (может быть 2x–3x запросов)Использовать кэш, батчевать, делать критику только для критичных шагов
Границы конституцииЧто считать нарушением? СубъективноЭкспертная разметка + итеративное уточнение правил
Эффект перекоррекцииАгент становится слишком робким, отказывается от полезных действийРазрешить override с веским обоснованием
Неоднозначные ситуацииКонституция может противоречить сама себе (например, приватность vs полезность)Ввести иерархию приоритетов и fallback-сценарии

7. Инструменты и фреймворки для CAI агентов

  • Lakera Guard / NVIDIA NeMo Guardrails — добавляют правила поведения, похожи на конституцию, но без RLHF.
  • Anthropic Claude API — поддерживает конституционные промпты, но не агентские loop.
  • LangChain + ConstitutionalChain — простейшая реализация: после каждого ответа вызывается цепь проверки конституции.
  • Собственная реализация на Ray + RLlib — для RLHF с траекторным reward.

8. Оценка успешности выравнивания

Метрики:

  • Violation rate: доля шагов агента, нарушивших конституцию (до и после alignment).
  • User satisfaction (A/B тесты, анкеты).
  • False positive rate: сколько раз агент отказал в допустимом действии.
  • Cost overhead: на сколько процентов выросло время/токены из-за саморефлексии.

Пет-проект для закрепления

Задача Реализовать агента для управления email-рассылкой с конституционными правилами (не спамить, спрашивать подтверждение пред отправкой, не раскрывать адресатов).

Инструменты Python, LangChain (или ручной pipeline), OpenAI API, простой reward model на базе BERT-классификатора (бинарная классификация: конституционно/неконституционно).

Шаги:

  1. Написать конституцию из 5 правил.
  2. Реализовать агент, который может читать ящик, писать письма, удалять.
  3. Добавить шаг self-critique после каждого действия (отдельный вызов LLM с промптом-контролёром).
  4. Если обнаружено нарушение — revision (отмена действия и запрос подтверждения).
  5. Собрать 100 траекторий (получить пары «нарушающее действие» / «исправленное действие»).
  6. Обучить linear classifier на эмбеддингах действий (например, Sentence-BERT) — это упрощённый reward model.
  7. Использовать reward модель на инференсе для предсказания, нужно ли вызывать self-critique (чтобы не делать каждый раз).

Ожидаемый результат Работоспособный агент, который не отправляет письма без разрешения, не удаляет чужие письма, не раскрывает BCC-списки. Вы сможете сравнить violation rate до и после.

Связь с другими вопросами

ВопросТема
590Инструментальные вызовы, где конституция накладывает ограничения
588Координация между агентами с одинаковой конституцией
592Память может хранить нарушения, нужна чистка
595Метрики оценки alignment
593Пересечение с честностью и фактологией
587Общий контекст, в котором нужно выравнивание

Навигация