관리형 애플리케이션
샌드박스
에이전트마다 전용 컴퓨터
코드나 에이전트가 API로 조작하는 microVM입니다. 명령을 실행하고, 터미널을 열고, 통째로 저장하고 포크하세요. 쓰지 않으면 잠듭니다.
숫자로 보는 샌드박스
세 단계로
명령줄, API, SDK, MCP 서버에서 똑같이 호출합니다.
시작하기 전에
API 키를 GLAC_API_KEY에 넣으세요.
curl -fsSL https://glac.ai/install.sh | sh
export GLAC_API_KEY=ak_...API=https://api.glac.ai/v1/sandboxes
AUTH="Authorization: Bearer $GLAC_API_KEY"from glac import Glac
glac = Glac()import { Glac } from "glac";
const glac = new Glac();# give your agent the tools (Claude Code here)
claude mcp add glac -e GLAC_API_KEY=ak_... -- npx glac-mcp만들기
어떤 이미지로든 만드는 전용 머신.
glac sandboxes create --name web \ --image python:3.12curl $API -H "$AUTH" \ --json '{"name": "web", "image": "python:3.12"}'sbx = glac.sandboxes.create(name="web", image="python:3.12")const sbx = await glac.sandboxes.create( { name: "web", image: "python:3.12" });# no call of its own: the first sandbox_run # that names "web" makes it, from the image그 안에서 실행하기
명령과 파일 작업을, 걸리는 만큼 얼마든지.
glac sandboxes exec web -- \ pip install pandascurl $API/web/run -H "$AUTH" \ --json '{"command": "pip install pandas"}'print(sbx.run("pip install pandas").stdout)console.log((await sbx.run("pip install pandas")).stdout);sandbox_run {"sandbox": "web", "image": "python:3.12", "command": "pip install pandas"}통째로 저장하고 포크하기
메모리, 프로세스, 디스크를 그 시점부터 이어 가는 사본으로.
glac sandboxes snapshots create web \ --name ready glac sandboxes fork web --count 16curl $API/web/snapshots -H "$AUTH" \ --json '{"name": "ready"}' curl $API/web/fork -H "$AUTH" --json '{"count": 16}'snap = sbx.snapshot(name="ready") copies = sbx.fork(16)const snap = await sbx.snapshot({ name: "ready" }); const copies = await sbx.fork(16);sandbox_snapshot {"sandbox": "web", "name": "ready"} sandbox_fork {"sandbox": "web", "count": 16}
ID를 쓰는 곳 어디서나 이름도 쓸 수 있습니다. 깨우는 호출은 따로 없습니다. 잠든 샌드박스가 필요한 작업이 오면 그 작업이 샌드박스를 깨웁니다.
주요 기능
터미널, 원하는 포트로 가는 링크, SSH, 모두 내부 에이전트를 거칩니다.
실행 중에 스냅샷을 찍고, 그 자리로 되돌리거나 사본을 최대 64개까지 포크합니다.
부팅은 한 번만, 모든 사본이 이미 실행 중인 상태로 시작합니다.
코드가 직접 갖지 않는 시크릿: 요청이 밖으로 나갈 때 넣어 줍니다.
어떤 OCI 이미지든, 또는 다섯 가지 언어와 코딩 에이전트가 준비된 저희 이미지.
30초 동안 유휴 상태면 잠들며 안의 모든 것이 그대로 유지되고, 명령 하나로 깨어납니다.
이해를 돕기 위한 예시 그림
주요 용도
코드 인터프리터
모델이 작성한 코드를 실행하며, 변수는 호출 사이에도 유지됩니다.
from glac import CODE_INTERPRETER sbx = glac.sandboxes.create( image=CODE_INTERPRETER) sbx.run_code("x = 1") print(sbx.run_code("x + 1").text)코딩 에이전트
Claude Code와 다른 에이전트가 각자 전용 머신에서 실행됩니다.
from glac import AGENTS env = {"ANTHROPIC_API_KEY": "..."} sbx = glac.sandboxes.create( image=AGENTS, env=env) sbx.agent("claude").prompt( "Make the failing tests pass")여러 경로 시도
작업 도중 샌드박스를 포크해 사본마다 다른 시도를 하게 하세요.
patches = ["a", "b", "c"] copies = sbx.fork(len(patches)) for copy, p in zip(copies, patches): cmd = f"git apply {p}.patch" r = copy.run(cmd + " && pytest") print(p, r.exit_code)
가격과 한도
모든 제품과 마찬가지로 사용한 큐브 리소스만큼 과금합니다. 전체 가격과 요금제
| 과금 대상 | 계산 방식 | 가격 |
|---|---|---|
| CPU | CPU가 실제로 일한 시간, 밀리초 단위 | $0.01 / 100만 CPU-밀리초$0.00001 / CPU-초$0.036 / CPU-시간$26.28 / CPU-월 |
| 메모리 | 잡아 둔 메모리, 128 MiB 단위로 밀리초마다 | $0.00222 / 100만 GiB-밀리초$0.00000222 / GiB-초$0.008 / GiB-시간$5.84 / GiB-월 |
| 요청 | 큐브로 들어오거나 샌드박스 링크를 거치는 요청당 | $0.30 / 100만 건 |
| 송신 트래픽북미 · 유럽 | 북미와 유럽에서 나가는 GB당 | $0.004 / GB |
| 송신 트래픽아태 | 아시아 태평양에서 나가는 GB당 | $0.01 / GB |
| 잠든 동안 보관3 | 잠든 인스턴스가 보관하는 데이터와 스냅샷 | $0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월 |
한 달 비용 계산
실제 워크로드와 그 한 달 비용을 유료 요금제와 무료 요금제로 계산합니다.
에이전트가 전용 머신에서 근무일 하루 단위로 소프트웨어를 만들고 배포합니다.
제품이 사용자마다 짧은 세션용 샌드박스를 제공합니다.
AI 앱이 사용자를 위해 짧은 코드 조각을 실행합니다.
작업 모음의 각 작업을 에이전트가 수행하고 점수를 매깁니다.
머신을 바쁘게 쓰는 짧은 실행을 한꺼번에 많이 돌립니다.
푸시할 때마다 빌드하고 테스트합니다.
한 달은 30일, 계정에 이 워크로드만 있다고 가정합니다. 출처
유료 요금제 한 달 비용
세션당 $0.16
- CPU86.2억 CPU-밀리초$86.17
- 메모리3만 GiB-시간$228.80
- 요청$0.00
- 저장 데이터2,000 GB-월$40.00
- NVMe 캐시$0.00
- 송신 트래픽300 GB$1.20
- 정가로 계산한 사용량
- $356.17
- 유료 요금제 포함분
- −$4.20
- 유료 요금제 기본료
- $5.00
무료 요금제 한도를 넘는 항목: 인스턴스 크기, CPU, 메모리, 저장 데이터 및 송신 트래픽.
크기 기준, 깨어 있는 동안 매초 과금10.4배 비쌈
Glac$356.17
크기 기준$3,702.00
요금제별 한도
요금제별 모든 한도| 무료 | 유료 | |
|---|---|---|
| 최대 샌드박스 크기 | 2 vCPU, 4 GiB | 8 vCPU, 16 GiB |
| 동시에 깨어 있는 수샌드박스와 큐브 인스턴스 | 5 | 500 |
| 잠든 채 보관하는 수 | 20 | 10,000 |
| 1분당 생성 | 10 | 600 |
| 1시간당 생성프로젝트 하나 기준 | 200 | 10,000 |
격리
모델이 작성한 코드를 실행하므로, 각 샌드박스는 전용 머신이며 허용한 방법으로만 접근할 수 있습니다.
보안전용 microVM
커널까지 따로 있는 Firecracker microVM으로, 이미지에서 부팅합니다.
jail로 한 번 더 격리
비어 있는 루트, 권한 없는 사용자, 별도의 리소스 한도.
API로만 접근
명령과 파일은 내부 에이전트를 거치며, 공인 IPv4 주소가 없습니다.
링크가 곧 열쇠
서명된 링크는 포트 하나를 엽니다. 시크릿을 바꾸면 이전 링크는 모두 막힙니다.
샌드박스가 갖지 않는 시크릿
요청이 밖으로 나갈 때, 해당 호스트로 가는 요청에만 넣어 줍니다.
프로젝트 키로 봉인
디스크, 잠든 동안의 메모리, 스냅샷을 머신 밖으로 나가기 전에 봉인합니다.
더 읽어 보기
플랫폼
큐브
관리형 애플리케이션
- 출시 예정브라우저코드로 조작하는 실제 브라우저
- 출시 예정서버리스 Postgres유휴 시 잠들고 연결이 들어오면 깨어나는 Postgres
- 출시 예정서드파티 앱대신 운영해 드리는 오픈 소스 프로젝트, 이후에는 마켓플레이스