코드를 쓰는 에이전트라면 결국 그 코드를 실행해야 합니다. 그것이 이런 에이전트의 존재 이유이고, 동시에 불편한 부분이기도 합니다. 모델은 방금 자신도 한 번도 돌려 본 적 없는 스크립트를 내놓았습니다. 아무도 검토하지 않은 패키지를 설치하고, 아무도 목록에 올리지 않은 파일을 건드립니다. 그것을 SSH 키와 운영 환경의 .env 옆에서 실행하는 것은 하루에도 몇 번씩 거는 도박입니다.
샌드박스는 그 도박을 싸게 만듭니다. 코드는 몇 초에서 몇 분 동안 자기만의 Linux 머신을 얻고, 그다음 머신은 사라집니다.
에이전트가 얻는 것
각 샌드박스는 Firecracker microVM입니다. 자체 커널, 자체 파일 시스템, 자체 네트워크 네임스페이스를 가집니다. 내 커널을 공유하는 컨테이너도, 서버의 폴더도 아닙니다. 약 1초 만에 시작되는데, 에이전트가 하루에 하나가 아니라 작업마다 하나씩 띄운다면 이 점이 중요합니다.
안에는 pip가 포함된 Python 3.12, npm이 포함된 Node.js 22, bash, git, curl이 있습니다. 아웃바운드 인터넷이 되므로 에이전트는 pip install pandas를 실행하거나 저장소를 clone할 수 있습니다. 인바운드는 안 됩니다. 열린 포트도 SSH도 없습니다. 명령, 파일, 출력은 모두 저희 API를 거치며, 그것이 유일한 문입니다.
접속 방법은 세 가지입니다.
- MCP — 에이전트가 Claude, Cursor, Cline 또는 MCP를 지원하는 다른 클라이언트에서 동작한다면, VPS 도구 옆에 샌드박스 도구가 나타납니다. 직접 코드를 쓸 필요가 없습니다.
- Python 또는 TypeScript SDK —
pip install eqvps또는npm i @eqvps/sdk후 생성, 실행, 삭제. - 순수 REST — 샌드박스 문서와 OpenAPI 명세에 설명되어 있습니다.
Python으로 쓴 최소 루프는 다음과 같습니다.
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
0이 아닌 종료 코드는 예외가 아니라 일반 결과로 돌아옵니다. 에이전트가 traceback을 읽고 다시 시도해야 할 때 딱 필요한 방식입니다.
위험한 경우와 그 결말
악성이거나 그냥 망가진 패키지. 내 것이 아무것도 없는 VM 안에서 실행됩니다. 샌드박스를 지우면 함께 사라집니다.
비밀 정보. 주요 API 키를 에이전트가 쓰는 코드에 넣지 마세요. 작업에 정말 키가 필요하다면 샌드박스 환경 변수로 전달하세요. 값은 암호화되어 저장되고, 로그에 절대 남지 않으며, API는 변수 이름만 돌려줍니다.
무한 루프. 백그라운드 작업으로 시작하지 않은 명령은 55초 후 멈춥니다. 유휴 상태의 임시 샌드박스는 유휴 시간 제한(기본 5분)이 지나면 스스로 삭제됩니다. 일별 또는 월별 지출 한도는 에이전트가 그날 쓸 만큼 쓰면 새 샌드박스 생성을 막습니다.
데이터 유출. 여기서는 솔직해야 합니다. 아웃바운드 인터넷은 열려 있습니다. 그렇지 않으면 pip install이 동작하지 않으니까요. 샌드박스는 내 머신을 보호할 뿐, 코드가 샌드박스 안에서 읽을 수 있는 것을 인터넷으로 보내는 것까지 막지는 못합니다. 그래서 규칙은 간단합니다. 잃어도 괜찮은 것만 샌드박스에 넣으세요.
요금제 고르기
| 요금제 | vCPU / RAM | 시간당 | 적합한 용도 |
|---|---|---|---|
| micro | 0.25 / 512 MB | $0.0165 | 일회성 스크립트, 데이터 점검 |
| small | 0.5 / 1 GB | $0.033 | 대부분의 에이전트 코드, pip install |
| standard | 1 / 2 GB | $0.066 | pandas, 테스트 스위트 |
| plus | 2 / 4 GB | $0.132 | 무거운 설치(torch), 빌드 |
과금은 초 단위이며 최소 60초, 저희 VPS와 같은 선불 잔액에서 차감됩니다. 전형적인 에이전트 작업 — 생성, 패키지 두 개 설치, 실행, 삭제 — 은 small에서 1분이 채 걸리지 않으므로 최소 60초 요금, 약 $0.0006이 청구됩니다. 솔직히 하루에 수백 번 코드를 실행하는 에이전트에게 샌드박스 비용은 예산에서 가장 작은 항목입니다. LLM 토큰이 훨씬 비쌉니다.
샌드박스가 맞지 않는 경우
에이전트가 무언가를 서비스해야 한다면 — 웹 앱, webhook 수신기, 메시지를 기다리는 봇 — 샌드박스는 맞지 않습니다. 외부에서 아무도 접근할 수 없기 때문입니다. 몇 달씩 돌아가야 하는 서비스도 마찬가지입니다. 그것은 VPS의 일입니다. AI 에이전트용 VPS를 참고하세요. 흔한 분담 방식은 에이전트가 작은 VPS에 살면서, 처음 보는 코드 조각마다 샌드박스를 만드는 것입니다.
또 하나의 한계는 오래 지속되는 무거운 연산입니다. CPU를 최대치로 15분 넘게 쓰는 샌드박스는 남용으로 간주되므로, 긴 계산 작업은 월 단위로 빌리는 서버에서 돌리는 게 맞습니다.
시작하기
계정을 만들고 토큰을 받아 첫 샌드박스를 실행해 보세요. 연결 가이드가 단계마다 안내하며, 신규 계정은 체험용으로 $1 상당의 샌드박스 시간을 받습니다. 그다음 에이전트를 샌드박스 페이지나 MCP 도구로 안내하고, 망가뜨려도 공짜인 곳에서 마음껏 망가뜨리게 두세요.
단계별 안내: 샌드박스에서 첫 에이전트 작업. 관련 문서: 격리된 CI 테스트, LLM 평가, 코드 리뷰와 PR 검사.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.