Протоколы автономности

Автономность задаётся правами, средой, правилами подтверждения и проверками вокруг модели. Текстовая просьба «будь осторожен» не является контролем доступа.

Классы действий

КлассПримерыБазовый контроль
Чтениепоиск, просмотр файлаограничить область и журналировать
Обратимое локальное изменениеновый черновик, отдельная веткаpreview, diff, понятный откат
Изменение существующего состоянияперезапись файла, обновление записиточная область, checkpoint, валидация
Внешняя коммуникацияписьмо, публикация, событиепоказать получателя и полный payload
Финансовое или необратимоеплатёж, удаление без корзиныотдельная авторизация; по умолчанию запрещено
Изменение полномочийновый токен, роль, доступотдельное подтверждение и аудит

Риск определяется не названием инструмента, а конкретными аргументами и последствиями вызова.

Минимальные привилегии

  • разрешай только нужные инструменты, методы, пути, домены и аккаунты;
  • разделяй read и write;
  • используй короткоживущие credentials и узкие scopes;
  • не передавай модели секрет, если вызов может выполнить доверенный proxy;
  • ограничивай сеть и файловую систему на уровне sandbox.

Подтверждение действия

Перед рискованным действием покажи:

  • точного получателя или объект изменения;
  • итоговый payload, а не абстрактное описание;
  • необратимые последствия;
  • что уже выполнено;
  • варианты «разрешить», «изменить», «отклонить».

Согласие на план не всегда означает согласие на каждый будущий внешний side effect.

Защита исполнения

Валидация

Проверяй типы, диапазоны, allowlist и бизнес-правила до tool call. Structured Output обеспечивает форму данных, но не доказывает безопасность их смысла.

Idempotency

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

Dry run и preview

Где возможно, сначала вычисляй diff или предварительный результат без применения. Preview должен соответствовать фактическому payload.

Checkpoint и откат

Используй commit, версию записи, транзакцию или резервную копию. Контекст модели не является механизмом отката.

Недоверенные входы

Веб-страницы, письма, документы, память и ответы инструментов могут содержать вредоносные инструкции. Отделяй данные от политики, минимизируй права и не позволяй содержимому источника расширять доступ. См. Indirect Prompt Injection.

Условия остановки

Ограничь:

  • число шагов и повторов одной ошибки;
  • время и денежный бюджет;
  • объём изменяемых объектов;
  • число внешних side effects;
  • допустимую неопределённость результата.

При остановке агент должен вернуть подтверждённо выполненное, незавершённое и безопасный следующий шаг.

Частичный сбой

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

Связи