AI 에이전트용 코드 실행 샌드박스는 “어디가 제일 좋은가”보다 “어떤 제약이 깨지면 안 되는가”로 골라야 한다. 콜드스타트, 격리 모델, 세션 영속성, SDK ergonomics, 과금 구조 중 하나가 보통 의사결정을 지배한다.
먼저 볼 5가지 축
| 축 | 질문 | 우선해야 하는 경우 |
|---|---|---|
| 콜드스타트 | 새 환경 또는 paused 환경이 얼마나 빨리 준비되는가 | 사람이 기다리는 coding assistant, 짧은 eval 대량 실행 |
| 격리 | untrusted code가 host나 network로 빠져나갈 수 있는가 | 사용자 제출 코드, 모델 생성 shell 명령 실행 |
| 세션 영속성 | repo clone, dependency install, 중간 파일이 다음 호출까지 남는가 | 긴 coding session, 데이터 분석, multi-turn research |
| SDK ergonomics | 팀 언어와 배포 모델에 자연스럽게 맞는가 | 빠른 제품화, provider 전환 가능성 |
| 과금 구조 | idle time, memory, active CPU를 어떻게 청구하는가 | 대량 세션, long-running agent, persistent sandbox |
플랫폼별 감각
| 플랫폼 | 강점 | 주의점 |
|---|---|---|
| E2B | 빠른 create/resume, Firecracker microVM, Python·TS SDK | 월 최소 비용과 full-duration billing 확인 필요 |
| Daytona | 빠른 create, snapshot·fork, self-host 선택지, GPU 지원 | 기본 Docker 격리는 untrusted code에 약할 수 있음 |
| Modal | active compute 중심 과금, GPU와 대량 job 실행에 강함 | sandbox만 쓰기엔 App/Image 설정이 무겁고 in-place resume이 아님 |
| Vercel Sandbox | TS-first, Vercel 앱과 자연스러운 결합 | persistent memory billing이 long-running agent에서 커질 수 있음 |
| Cloudflare Sandbox | Workers와 edge 배포에 맞음 | standalone sandbox API가 아니라 플랫폼 결합형 |
| OpenSandbox·Microsandbox·AIO Sandbox | self-host와 lock-in 회피 | 운영 책임과 isolation backend 검증이 사용자에게 옴 |
격리는 계층으로 본다
샌드박스 보안은 microVM 여부만으로 끝나지 않는다. hardware microVM은 좋은 출발점이지만, 네트워크 egress, DNS, metadata service, platform credential, mounted secret, package install 정책이 함께 맞아야 한다.
실무적으로는 다음 순서로 본다.
- untrusted code면 기본값은 Firecracker·libkrun 같은 microVM 계층이다.
- Docker shared-kernel container는 trusted code나 내부 자동화에 더 적합하다.
- network egress와 DNS tunnel 가능성을 별도 threat model에 넣는다.
- 샌드박스가 가진 cloud credential과 secret scope를 최소화한다.
persistence와 비용은 함께 본다
Pause/resume은 “같은 작업을 계속할 수 있는가”의 문제이고, snapshot/fork는 “같은 시작점에서 여러 branch를 만들 수 있는가”의 문제다. coding assistant는 pause/resume이 중요하고, eval harness나 병렬 탐색은 snapshot/fork가 더 중요할 수 있다.
과금은 workload shape에 따라 순위가 뒤집힌다. 짧고 bursty한 작업은 active CPU 과금이 유리할 수 있고, 장시간 상태를 유지하는 agent는 idle memory billing과 hibernation 모델이 더 중요하다. vendor의 시간당 단가보다 실제 세션 길이, idle 비율, memory footprint로 계산해야 한다.
의사결정 규칙
- 실시간 coding assistant: create/resume latency와 persistence를 먼저 본다.
- untrusted user code: isolation tier와 network policy를 먼저 본다.
- 대량 eval·parallel rollout: snapshot/fork와 per-second active compute 비용을 먼저 본다.
- GPU 작업: Modal, Daytona, Northflank처럼 GPU path가 있는 플랫폼을 우선 검토한다.
- Cloudflare/Vercel 앱 내부 기능: 기존 platform runtime과 인증 모델에 맞는 sandbox를 쓴다.
관련 문서
- agent-vault — 샌드박스 환경에서 에이전트 크레덴셜을 주입하는 방식
- hermes-agent — 에이전트 실행 하네스와 sandbox 연동
- openforgerl — 실제 하네스에서 에이전트를 end-to-end로 학습하는 RL 프레임워크
- stateful-stateless-agent-design — 확장성과 연속성 사이의 에이전트 상태 설계
참고 자료
- Comparing AI agent sandbox platforms: E2B, Modal, Daytona, and more — LogRocket Blog (2026-08-04)