에이전트용 안전한 코드 실행 SDK
신뢰할 수 없는 JavaScript와 TypeScript를 애플리케이션 격리 안에서 실행하는 Run SDK가 추가됐습니다.
교안에 영향
기존에 eval로 agent 코드를 실행하던 안내는 더 이상 맞지 않으며, hostFunctions와 재개 흐름을 전제로 설명해야 합니다.
요약
- Run SDK가 추가되어 애플리케이션이나 시스템에 직접 접근하지 않는 안전한 JavaScript·TypeScript 실행을 지원합니다. - hostFunctions로 필요한 기능만 노출하고, 인증이나 사람 승인 지점에서는 실행을 중단했다가 다시 이어갈 수 있습니다. - createRunner()로 실행 한도와 경계를 설정하고, 각 실행은 새 QuickJS 컨텍스트에서 동작합니다. - 이 런타임은 AI SDK의 code mode 실행을 구동하며, Vercel Sandbox는 별도 용도로 안내합니다.
바뀐 것
새 기능
- Run SDK가 추가되어 신뢰할 수 없는 JavaScript와 type-stripped TypeScript를 worker thread의 새 QuickJS 컨텍스트에서 실행할 수 있게 됐습니다.
- hostFunctions를 통해 애플리케이션이 선택한 작업만 sandbox 안의 전역 함수로 노출할 수 있게 됐습니다.
- 호스트 함수가 인증이나 human-in-the-loop 승인이 필요한 시점에 실행을 중단하고, signed token으로 나중에 재개할 수 있게 됐습니다.
개선
- 재개 시에는 이미 끝난 host function 호출 결과를 다시 사용해 완료된 작업을 반복하지 않도록 했습니다.
- createRunner()로 shared limits를 설정하고, 실행별로 한도를 더 엄격하게 조정할 수 있게 했습니다.
- dynamic evaluation을 비활성화하고 built-in prototypes를 hardened 처리해 sandbox 경계를 강화했습니다.
기타
- Run SDK는 AI SDK의 code mode 실행을 구동하며, 기존 AI SDK tools가 host functions로 매핑됩니다.
- 기존 just-bash의 js-exec 기반 실행 레이어를 Run SDK로 분리하고, Node-shaped 환경을 애플리케이션 정의 host functions로 대체했습니다.
- 이 기능은 Node.js 22.13+와 Bun을 지원하고, 로컬 개발 환경에 pnpm 또는 다른 패키지 관리자가 필요합니다.