Перейти к содержимому
PD
Вайб-кодинг

Агенты в вайб-кодинге: песочница и разрешения

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

Все статьи гида Вайб-кодинг · 11

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

Чем агент отличается от автодополнения

Автодополнение предлагает текст. Вы решаете, принять его или нет. Ничего не происходит без вашего нажатия.

Агент выполняет действия. Открывает файлы, правит их, запускает команды, читает вывод и продолжает. Каждое действие реально.

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

Выигрыш при этом настоящий: агент, который видит вывод тестов, исправляет собственные ошибки без вас. Это меняет качество результата сильнее, чем смена модели.

Что нельзя отдавать

Короткий список, не про качество кода:

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

Секреты. Всё, что попало в контекст, ушло провайдеру модели. Файл с ключами в корне проекта агент прочитает при первом же поиске по файлам, без всякого умысла.

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

Чужой код под NDA, если договор запрещает передачу третьим лицам. Провайдер модели - третья сторона.

Уровни изоляции

От слабого к сильному:

Разрешения в конфигурации. Список того, что можно без вопроса: тесты, сборка, чтение. Всё остальное спрашивает. Достаточно для обычной работы на своей машине.

Ограничение каталогов и сети. Агент видит только проект и не может произвольно отправлять данные наружу. Разумный уровень для чувствительного проекта.

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

Практическое правило: режим «разрешать всё» вне изолированной среды - это не экономия времени, а перенос риска на потом. Разбор того, как это устроено на практике, - в блоге: песочница для кодового агента.

Как режимы разрешений выглядят в конкретном инструменте - команды и режимы CLI.

Ревью агентского кода

Отличается двумя вещами.

Автор не читал код так, как читал бы свой. Обычно ревьюер опирается на то, что автор подумал над каждой строкой. Здесь этой опоры нет.

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

Что помогает:

  • Разумный размер изменения. Правка на тысячу строк не ревьюится, она пролистывается.
  • Тесты, написанные отдельным прогоном. Написанные тем же прогоном проверяют то же неверное предположение.
  • Проверка новых зависимостей. Появившийся в дифе пакет стоит посмотреть.
  • Диф, а не отчёт. Отчёт описывает намерение, диф показывает факт.

Как это оформляется в командной работе - Claude Code в команде.

Практический минимум

Если делать только четыре вещи:

  1. Работать в git и на чистом рабочем дереве.
  2. Не давать доступ к секретам и продакшену.
  3. Просматривать диф перед принятием.
  4. Полный доступ - только в изолированной среде.

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

Вопросы и ответы

Опасно ли давать агенту доступ к терминалу?

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

Что такое песочница для кодового агента?

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

Чем ревью агентского кода отличается от обычного?

Тем, что автор не читал каждую строку так, как читал бы свою, и тем, что ошибки другого рода: не синтаксические, а правдоподобные. Обработан не тот случай, продублирована существующая функция, исправлен симптом вместо причины. Такое проходит беглый просмотр.

Ещё по теме