Ассистенты, агенты и разрешения
ЗавершеноОтличайте ответ от действия. Определяйте инструменты и разрешения, от которых зависят последствия ошибки.
Издатель TaigaКак мы пишем
Проверьте пониманиеАгент может изменять ветку и запускать тесты. Значит ли это, что ему нужно разрешить и развёртывание?Выполните упражнение
Чему вы научитесь
- Объяснять разницу между ассистентом и агентом, который использует инструменты.
- Определять действия, для которых нужны явные границы разрешений.
- Задавать полезное условие остановки.
Определите, как действует система
Ассистент может объяснить код, предложить план или вариант реализации. Агент может также использовать инструменты и воздействовать на окружение. Названия продуктов не дают надёжного разграничения. Некоторые интерфейсы чата умеют выполнять команды. Некоторые инструменты программирования только предлагают текст.
Изучите доступные инструменты. Полезное описание указывает, что система может читать, менять, запускать и публиковать. Оно также определяет, какие учётные данные и окружение использует каждое действие.
Anthropic различает заранее заданные рабочие процессы и агентов, которые сами выбирают последовательность использования инструментов. Это помогает объяснить ход работы. Но не определяет безопасность конкретного действия. В обоих случаях нужны явные границы разрешений.
Отделяйте цель от разрешения
Рассмотрим вымышленный запрос: «Исправь экспорт счетов». Агент может изучить репозиторий, воспроизвести дефект, изменить ветку и запустить проверки. Он может также найти в окружении учётные данные production-базы.
Цель не разрешает каждое доступное действие. Чтение production-таблицы, изменение записей счетов и развёртывание новой версии имеют разные последствия. Общая инструкция «заверши задачу» не объясняет, какие из этих действий разрешает организация.
Задайте границы до начала работы. В этом примере агент может использовать вымышленные данные и локальную базу. Он может создать pull request. Ему нельзя обращаться к production-записям или развёртывать изменение. Этими действиями управляет отдельный процесс выпуска.
Ограничивайте полномочия техническими средствами
Инструкции помогают агенту понять задачу. Учётные данные и средства управления доступом определяют, что он действительно может сделать. Используйте и то и другое.
| Что нужно для задачи | Подходящая граница в этом примере |
|---|---|
| Изучить нужный код | Доступ на чтение выбранного репозитория |
| Предложить исправление | Доступ на запись в отдельную ветку для изменений |
| Проверить поведение | Тестовое окружение с вымышленными данными |
| Запросить review | Разрешение открыть pull request |
| Выпустить ПО | Отдельная роль развёртывания и правила выпуска |
Задача только на чтение не должна получать учётные данные для записи лишь ради удобства. Тестовое окружение не должно незаметно наследовать доступ к production. Проверьте связи между инструментами, учётными записями и ресурсами. Безобидная на вид команда может иметь серьёзные последствия, если выполняется с широкими полномочиями.
Определите условия остановки
Агенту нужно условие остановки, если следующее действие выходит за пределы его полномочий. Остановка нужна и тогда, когда подтверждений недостаточно.
В примере со счетами остановитесь, если дефект требует исправления production-данных. Остановитесь, если запрошенное поведение противоречит документированному правилу бухгалтерского учёта. Сообщите о противоречии, приведите относящиеся к нему подтверждения и укажите, какое решение требуется от ответственного.
Ограничение времени или стоимости полезно для повторных попыток. Оно не заменяет границы разрешений. Десять разрешённых попыток и одно неразрешённое развёртывание — разные проблемы.
Оценивайте результат и журнал действий
После завершения изучите не только итоговый ответ. Проверьте изменённые файлы, выполненные проверки и оставшуюся неопределённость. Убедитесь, что действия не вышли за согласованные рамки.
Сильный агент может сократить ручную работу. Организация по-прежнему должна определить разрешённые действия, проверить важные результаты и отвечать за решение о выпуске. Чем выше автономность, тем важнее эти обязанности.
Выполните упражнение
Выберите один инструмент ИИ, доступный команде. Перечислите, что он может читать, менять, запускать и публиковать. Определите, какие действия должен одобрить человек. Проверьте одну границу в фактической конфигурации.
Скачать рабочий лист (Markdown)Если снять этот флажок, весь прогресс, сохранённый в этом браузере, будет удалён.
Прогресс остаётся в этом браузере. Без аккаунта и отслеживания.