E2B Sandbox SDK
생성된 코드를 클라우드 격리 환경에서 돌리는 SDK
pip install e2b모델이 만든 코드를 클라우드의 격리된 샌드박스에서 실행합니다. 자바스크립트와 파이썬 SDK 로 샌드박스를 만들고 명령을 돌리고 파일을 다룹니다. 코드 실행에 특화된 별도 패키지를 쓰면 결과와 그림, 표준 출력을 구조화해서 받습니다. 마우스와 키보드, 화면 캡처, 데스크톱 스트리밍이 필요하면 데스크톱 패키지를 더합니다. 브라우저를 띄워 화면을 찍는 것도 같은 방식입니다. API 키를 환경 변수로 넣으면 바로 시작합니다. 자체 호스팅도 되지만 관리형으로 쓰는 경로가 기본입니다.
판단
이럴 때 씁니다
- 모델이 만든 코드를 내 컴퓨터 밖에서 돌려야 할 때
- 코드 실행 결과를 구조화해서 받아야 할 때
- 에이전트에 화면 조작 능력이 필요할 때
이럴 땐 쓰지 마세요
- 폐쇄망에서는 관리형 경로를 쓸 수 없습니다
- 샌드박스 시간만큼 과금됩니다
- 아주 짧은 계산은 왕복 비용이 더 큽니다
차별점
- 코드 실행과 화면 조작을 같은 샌드박스 규격 위에 얹었습니다.
- 자바스크립트와 파이썬 SDK 가 같은 기능을 제공합니다.
- 코드 실행 결과를 텍스트와 그림, 표준 출력으로 나눠 돌려줍니다.
- 오픈소스라 자체 호스팅 경로가 열려 있습니다.
워크플로
- 01SDK 를 설치합니다.
- 02API 키를 환경 변수로 넣습니다.
- 03샌드박스를 만듭니다.
- 04명령이나 코드를 실행하고 결과를 받습니다.
- 05필요하면 화면 조작 패키지를 더합니다.
주요 명령
| 명령 | 설명 |
|---|---|
pip install e2b | 파이썬 SDK 를 설치합니다. 자바스크립트는 npm 으로 받습니다. |
pip install e2b-code-interpreter | 코드 실행 결과를 구조화해서 받는 패키지입니다. |
pip install e2b-desktop | 마우스와 키보드, 화면 캡처를 다룹니다. |
함정
설치 전에 확인하세요
- 기본 SDK 로는 명령 실행까지입니다. 코드 실행 결과를 구조화해서 받으려면 별도 패키지가 필요합니다.
- 샌드박스는 만들면 시간이 흐릅니다. 종료를 안 하면 비용이 계속 붙습니다.
- 동시 요청이 많으면 연결이 몰립니다. 최근 판에서 연결 묶음을 나눠 처리하도록 바뀌었습니다.
- 패키지가 용도별로 갈라져 있습니다. 문서 예제를 볼 때 어느 패키지인지 먼저 확인해야 합니다.
비교
샌드박스를 직접 운영하면 격리 수단과 이미지, 정리 작업을 전부 맡아야 합니다. 이쪽은 관리형으로 그 부담을 없앤 대신 사용 시간만큼 비용이 붙고 질의가 외부로 나갑니다. 폐쇄망이면 자체 운영 쪽을 봐야 합니다.
최근 변경
동시 요청이 많은 부하에서 안정성이 올라갔습니다. 내부 통신을 네 개의 연결 묶음으로 나눠 보내도록 바뀌었고 묶음 수는 환경 변수로 조절합니다.