• Действия агента делятся на два списка — автономные и согласуемые, — оба перечислены явно
  • Всё, что не попало ни в один список, — третье состояние: стоп и уведомление оператора
  • Уровни задаются по чату и по направлению; за месяц автономный список вырос на 3 позиции

Задача

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

Один уровень автономии ломается одним из двух способов. Полная автономия ломается через превышение полномочий: агент генерирует правдоподобные решения от имени оператора, чат принимает их как авторитетные, а откатывать отправленные слова дорого. Нулевая автономия ломается через вырождение: агент превращается в автодополнение, оператор перестаёт верить, что без него что-то происходит.

flowchart TB
    subgraph full[Полная автономия]
        direction LR
        A1[Правдоподобные<br/>решения] --> A2[Чат принимает<br/>как авторитетные]
        A2 --> A3[Превышение<br/>полномочий]
    end
    subgraph zero[Нулевая автономия]
        direction LR
        B1[Каждый ответ<br/>ждёт согласия] --> B2[Автодополнение]
        B2 --> B3[Вырождение]
    end
    full ~~~ zero

Приём

Пространство действий агента заранее делится на два уровня, и оба перечисляются позитивно — по чату и по направлению — в операционном файле правил.

Автономно, без уведомления оператора: подтвердить получение фидбека; ответить статусом на прямой вопрос; запросить у клиента файлы, спеки, референсы; передать фидбек клиента команде своими словами; проактивно проверить блокеры у команды; молчать, если отвечать нечего.

С согласованием — агент готовит черновик и ждёт: результаты работы клиенту; запрос фидбека у клиента; любое упоминание сроков, объёма, обязательств; любое упоминание стоимости; назначение задачи члену команды; ответ на вопрос вида «как считаешь, стоит ли»; любое сообщение в чате с конфликтным тоном.

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

flowchart TD
    A[Действие агента] --> Q1{Автономный<br/>список?}
    Q1 -->|да| X[Сделать<br/>без уведомления]
    Q1 -->|нет| Q2{Согласуемый<br/>список?}
    Q2 -->|да| Y[Черновик,<br/>ждать оператора]
    Q2 -->|нет| S[Стоп: не отвечать,<br/>уведомить приватно]
    classDef key stroke:#FF3600,stroke-width:2px
    class S key

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

Два чата. Самая чистая реализация уровней: один проект живёт в двух чатах. Внутренний (только команда и агент) — полностью автономный. Клиентский (только клиент, продюсер и агент) — каждый ответ через оператора. Геометрия чатов физически задаёт режим: агенту не нужно решать, внутреннее это сообщение или клиентское, — чат сам говорит. Между чатами действуют два правила:

  • Клиент → агент → команда идёт автономно, как пересказ своими словами. Команда → агент → клиент идёт только через оператора.
  • Никогда не пересылать, в обе стороны. Пересылка тащит имя, тон и язык автора: клиент видит рабочее состояние команды, команда видит раздражение клиента. Пересказ с собственной атрибуцией — единственный законный режим, и функция отправки просто не имеет примитива пересылки.

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

flowchart TB
    subgraph inb[От клиента к команде]
        direction LR
        I1[Фидбек<br/>клиента] -->|пересказ,<br/>автономно| I2[Внутренний<br/>чат]
        I2 --> I3[Неточность<br/>поправима]
    end
    subgraph outb[От команды к клиенту]
        direction LR
        O1[Ответ<br/>команды] -->|только через<br/>оператора| O2[Клиентский<br/>чат]
        O2 --> O3[Ошибка<br/>не поправима]
    end
    inb ~~~ outb
    classDef key stroke:#FF3600,stroke-width:2px
    class O3 key

Автономный уровень должен расти. Когда согласуемая позиция утверждается дословно раз за разом, её продвигают наверх с примером в конфиге: «статус вида “X работает над Y, ожидается Z” отправляется автономно, если команда подтвердила его во внутреннем чате за последние 24 часа». За месяц так продвинули три позиции. Обратный ход тоже нужен: после инцидента позиция возвращается в согласуемые, по логике конфигурации по инцидентам.

flowchart LR
    C[Согласуемый<br/>список] -->|прецедент:<br/>3 позиции за месяц| A[Автономный<br/>список]
    A -->|инцидент| C

Обновление, сентябрь 2026. Летом автономный список клиентского чата вырос целым классом: уведомления процесса. Агент сам сообщает о сдаче работы на ревью, напоминает о сроках и запрашивает ссылку на источник, если замечание пришло без неё. Выдача результатов клиенту осталась за оператором, а цены, условия и споры по сути по-прежнему означают стоп. Границу записали одной фразой: доставить документ можно, обсуждать его содержание нельзя.

Где ломается

  • Уровни без перечисления. Конфиг «действуй по обстоятельствам, эскалируй при сомнении» наследует все проблемы одноуровневой автономии, потому что модель читает «обстоятельства» как «уверенность». Списки нужны позитивные, с примерами.
  • Одни уровни на все чаты. Глобальное правило «статусы — автономно, стоимость — с согласованием» ломается на клиентском чате, где даже статус требует проверки.
  • Нет стопа. Агент считает «не в согласуемом списке» равным «автономно», и любая неоднозначность получает вежливый ответ, который по сути является решением.
  • Одноразовые агенты. Исследователю-резюмисту уровни не нужны: он ничего не отправляет третьей стороне. Паттерн — для агентов с управленческим измерением: клиентские копилоты, кодовые агенты в общих репозиториях, триаж тикетов.

Итог

  • Два позитивных списка плюс стоп: вся модель управления умещается в один файл правил.
  • Уровень определяет роль чата, а не агент; два раздельных чата делают это физически.
  • Пересказ вместо пересылки в обе стороны, без исключений.
  • Автономный список растёт по прецеденту и сокращается по инциденту.
  • Доставить документ и обсуждать его содержание — это разные уровни: первое — автономно, второе — стоп.

© Александр Никулин. Цитирование — с указанием автора и ссылкой · Версия для LLM