Когда в последнее время возишься с LLM CLI (вроде Codex / Claude Code / Gemini CLI), выясняется, что «автоматическое выполнение» не должно иметь всего два режима: либо спрашивать на каждом шаге, либо отпустить всё на самотёк. На примере Codex: он разбивает автоматизацию на два более практичных режима:
1) Контролируемая автоматизация: --full-auto (автоматически, но с границами)
Суть — «внутри проекта разрешаем, за пределами — тормозим»:
- В пределах рабочей области (workspace) можно автоматически менять файлы и запускать команды, уменьшая количество подтверждений
- При обращении к файлам вне рабочей области (например,
~/.zshrc,/etc/hosts) или при сетевом доступе остановится и попросит подтверждение
Подходит для повседневной основной рабочей машины: высокая эффективность при контроле ключевых рисков.
2) Предельная автоматизация: --dangerously-bypass-approvals-and-sandbox (--yolo)
Суть — «пропустить согласования + отключить песочницу (sandbox)»:
- Не спрашивает, не блокирует, почти всё разрешает
- Риск не только в том, что код может быть испорчен (это можно откатить), но и в действиях, которые Git не контролирует: системные настройки, установка ПО, выход в сеть для подтягивания зависимостей и т. п.
Рекомендуется только для кратковременного использования в Docker/виртуальной машине/одноразовой среде с последующим уничтожением; не включайте на основной машине и в продакшене.
Дополнение: меньше всплывающих подтверждений ≠ отключать песочницу
Если вас просто раздражает слишком частое подтверждение, можно сохранить песочницу workspace и лишь настроить стратегию согласований (например, внутри проекта спрашивать реже, а за пределами всё равно блокировать).
Вывод в одном предложении
В повседневной работе — «контролируемая автоматизация», для экспериментов — «YOLO»; можно включить песочницу — не выключайте, можно сохранить согласования — не отключайте.
Оригинал: https://www.einverne.info/post/806.html