Każdy agent, który pisze kod, prędzej czy później musi go uruchomić. Po to taki agent istnieje — i to jest właśnie ta niewygodna część. Model przed chwilą wygenerował skrypt, którego sam nigdy nie wykonał: instaluje pakiety, których nikt nie przejrzał, i dotyka plików, których nikt nie wymienił. Uruchamianie tego obok kluczy SSH i produkcyjnego .env to zakład, który robisz wiele razy dziennie.
Sandbox sprawia, że ten zakład jest tani. Kod dostaje własną maszynę z Linuksem na kilka sekund lub minut, a potem maszyny już nie ma.
Co dostaje agent
Każdy sandbox to Firecracker microVM: własne jądro, własny system plików, własna przestrzeń nazw sieci. To nie kontener dzielący Twoje jądro ani katalog na Twoim serwerze. Startuje w około sekundę, co ma znaczenie, gdy agent uruchamia jeden na każde zadanie, a nie raz dziennie.
W środku jest Python 3.12 z pip, Node.js 22 z npm, bash, git i curl. Wychodzący internet działa — agent może wykonać pip install pandas albo sklonować repozytorium. Przychodzący nie: żadnych otwartych portów, żadnego SSH. Polecenia, pliki i wyjście idą przez nasze API i to jedyne drzwi.
Trzy sposoby dostępu:
- MCP — jeśli Twój agent działa w Claude, Cursor, Cline albo innym kliencie obsługującym MCP, dostaje narzędzia sandboxów obok narzędzi VPS. Bez kodu po Twojej stronie.
- SDK dla Pythona lub TypeScriptu —
pip install eqvpsalbonpm i @eqvps/sdk, potem utwórz, uruchom, usuń. - Zwykłe REST — opisane w dokumentacji sandboxów i w specyfikacji OpenAPI.
Minimalna pętla w Pythonie:
from eqvps import Sandbox
with Sandbox.create(tariff="small") as sb:
sb.upload("/root/task.py", agent_generated_code)
result = sb.exec("python3 /root/task.py", timeout=55)
print(result.exit_code, result.stdout[-2000:])
# the sandbox is deleted here, also if anything above raised
Niezerowy kod wyjścia wraca jako zwykły wynik, a nie wyjątek. Dokładnie tego chcesz, gdy agent ma przeczytać traceback i spróbować jeszcze raz.
Niebezpieczne przypadki i co się z nimi dzieje
Wrogi albo po prostu zepsuty pakiet. Działa w VM, w której nie ma nic Twojego. Usuwasz sandbox i po sprawie.
Sekrety. Nie wklejaj swoich głównych kluczy API do kodu, który pisze agent. Jeśli zadanie naprawdę potrzebuje klucza, przekaż go jako zmienną środowiskową sandboxa: wartości są przechowywane w postaci zaszyfrowanej, nigdy nie trafiają do logów, a API zwraca tylko ich nazwy.
Niekończące się pętle. Każde polecenie zatrzymuje się po 55 sekundach, chyba że uruchomiłeś je w tle. Bezczynny efemeryczny sandbox usuwa się sam po swoim limicie bezczynności (domyślnie 5 minut). Dzienny lub miesięczny limit wydatków blokuje nowe sandboxy, gdy agent wydał już dość na dziś.
Wyciek danych. Tu trzeba mówić wprost: wychodzący internet jest otwarty, bo bez niego pip install nie działa. Sandbox chroni Twoją maszynę; nie powstrzyma kodu przed wysłaniem do internetu wszystkiego, co może przeczytać wewnątrz sandboxa. Zasada jest więc prosta: wkładaj do sandboxa tylko to, czego nie szkoda stracić.
Wybór taryfy
| Taryfa | vCPU / RAM | Za godzinę | Do czego |
|---|---|---|---|
| micro | 0.25 / 512 MB | $0.0165 | jednorazowe skrypty, sprawdzanie danych |
| small | 0.5 / 1 GB | $0.033 | większość kodu agenta, pip install |
| standard | 1 / 2 GB | $0.066 | pandas, zestawy testów |
| plus | 2 / 4 GB | $0.132 | ciężkie instalacje (torch), buildy |
Rozliczenie jest co sekundę z minimum 60 sekund, z tego samego przedpłaconego salda co nasze VPS. Typowe zadanie agenta — utworzyć, zainstalować dwa pakiety, uruchomić, usunąć — mieści się w mniej niż minucie na small, więc naliczane jest minimum 60 sekund: około $0.0006. Szczerze mówiąc, dla agenta, który uruchamia kod kilkaset razy dziennie, rachunek za sandboxy to najmniejsza pozycja w budżecie; tokeny LLM kosztują znacznie więcej.
Kiedy sandbox to złe narzędzie
Jeśli agent ma coś serwować — aplikację webową, odbiornik webhooków, bota nasłuchującego wiadomości — sandbox się nie nada, bo z zewnątrz nic do niego nie dotrze. To samo dotyczy usługi, która ma działać miesiącami. To zadanie dla VPS: zobacz VPS dla agentów AI. Częsty podział: agent mieszka na małym VPS i tworzy sandbox dla każdego kawałka kodu, którego wcześniej nie widział.
Drugie ograniczenie to długotrwałe ciężkie obliczenia. Sandbox trzymający CPU na maksimum dłużej niż 15 minut jest traktowany jako nadużycie, więc długie obliczenia lepiej trzymać na serwerze wynajmowanym miesięcznie.
Od czego zacząć
Załóż konto, weź token i uruchom pierwszy sandbox — przewodnik po połączeniu prowadzi przez wszystkie kroki, a nowe konta dostają $1 czasu sandboxów na próbę. Potem skieruj agenta na stronę sandboxów albo do narzędzi MCP i pozwól mu psuć rzeczy tam, gdzie psucie nic nie kosztuje.
Krok po kroku: pierwsze zadanie agenta w sandboxie. Powiązane: izolowane testy CI, ewaluacja LLM oraz code review i sprawdzanie PR.
Komentarze
Brak komentarzy. Bądź pierwszy.