Sandbox - granice działania agenta
sandbox_mode określa techniczne granice działania agenta, natomiast polityka zatwierdzania decyduje, kiedy agent ma się zatrzymać i poprosić o zgodę. Granice dotyczą nie tylko wbudowanych operacji na plikach: dziedziczą je także uruchamiane przez agenta narzędzia, takie jak git, menedżery pakietów i testy. Dzięki temu agent może samodzielnie wykonywać rutynowe zadania w zatwierdzonych granicach, bez proszenia o potwierdzenie przy każdej niskiego ryzyka czynności.
Tryb read-only pozwala agentowi przeglądać pliki, ale nie pozwala mu ich edytować ani uruchamiać poleceń bez zatwierdzenia. Tryb workspace-write pozwala czytać pliki, edytować je w obrębie workspace i uruchamiać rutynowe polecenia lokalne w tych granicach. Tryb danger-full-access usuwa granice systemu plików i sieci, dlatego należy go używać wyłącznie wtedy, gdy chcesz przyznać agentowi pełny dostęp.
Aby ustalić domyślne zachowanie, skonfiguruj sandbox_mode w config.toml; ustawienie to określa między innymi zakres autonomii agenta i katalogi, które może modyfikować. Z trybem on-request agent pracuje domyślnie w sandboxie i pyta, gdy musi wyjść poza jego granice, natomiast never oznacza brak próśb o zatwierdzenie. Pełny dostęp wymaga połączenia sandbox_mode = "danger-full-access" z approval_policy = "never"; mniej ryzykowny preset lokalnej automatyzacji łączy workspace-write z on-request.
Jeśli agent ma pracować w kilku katalogach, możesz rozszerzyć listę miejsc do zapisu przez writable roots, nie usuwając całkowicie sandboxa. Gdy potrzebujesz pojedynczego wyjątku, użyj reguł pozwalających zezwolić na polecenie, wymagać jego zatwierdzenia albo go zabronić poza sandboxem, zamiast szeroko rozszerzać dostęp. Automatyczny przegląd zatwierdzeń nie zmienia granicy sandboxa, a czynności dozwolone wewnątrz niej nie wymagają dodatkowego przeglądu.
sandbox_mode = "workspace-write"
sandbox_mode = "danger-full-access"
Zastosowanie w praktyce
Do rutynowej pracy lokalnej wybierz workspace-write, gdy agent ma czytać i zmieniać pliki projektu oraz uruchamiać zwykłe polecenia lokalne w ustalonych granicach. Połącz ten tryb z on-request, jeśli agent ma samodzielnie działać w sandboxie, ale pytać przed wyjściem poza jego granice. Jeśli zadanie wymaga pracy w więcej niż jednym katalogu, rozszerz miejsca zapisu przez writable roots zamiast całkowicie usuwać sandbox. Pełny dostęp wybieraj tylko wtedy, gdy rzeczywiście chcesz usunąć granice systemu plików i sieci; ten wariant łączy się z polityką never.