AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

AI 에이전트가 짠 코드, 컨테이너보다 100배 빠르게 실행하는 Cloudflare의 방법

AI 에이전트가 코드를 직접 작성하는 시대가 되면서 새로운 질문이 생겼습니다. 그 코드를 어디서 실행할 것인가, 그리고 어떻게 안전하게 격리할 것인가. 아무 코드나 eval()로 실행했다가는 악의적인 사용자가 보안 취약점을 심어넣을 수 있습니다.

사진 출처: Cloudflare Blog

Cloudflare가 이 문제의 해법으로 Dynamic Worker Loader를 오픈 베타로 공개했습니다. AI가 생성한 코드를 즉석에서 독립된 샌드박스에 올려 실행하는 기술로, 기존 컨테이너 방식보다 약 100배 빠릅니다.

출처: Sandboxing AI agents, 100x faster – Cloudflare Blog

왜 컨테이너로는 부족한가

지금까지 AI 코드 실행 샌드박스 하면 보통 리눅스 컨테이너였습니다. 격리도 되고 환경 설정도 자유롭죠. 그런데 컨테이너는 부팅에 수백 밀리초가 걸리고, 메모리도 수백 메가바이트를 잡아먹습니다. 그래서 지연을 피하려면 미리 워밍업해두어야 하고, 여러 작업에 같은 컨테이너를 재사용하다 보면 보안이 느슨해지기 쉽습니다.

Cloudflare는 이 구조가 “소비자 규모의 에이전트”에는 맞지 않는다고 봤습니다. 사용자마다 에이전트가 있고, 에이전트마다 코드를 생성·실행한다면, 컨테이너 수준의 무게는 감당하기 어렵습니다.

V8 isolate: Cloudflare가 꺼낸 카드

Dynamic Worker Loader의 핵심은 V8 isolate입니다. 구글 크롬이 사용하는 JavaScript 실행 엔진(V8)의 인스턴스를 샌드박스로 활용하는 방식인데, Cloudflare Workers 플랫폼이 처음 출시된 8년 전부터 써온 기술입니다.

isolate는 부팅에 수 밀리초밖에 걸리지 않고 메모리는 몇 메가바이트 수준입니다. 컨테이너와 비교하면 속도는 약 100배, 메모리 효율은 10~100배 낫습니다. 덕분에 요청 하나마다 새 샌드박스를 띄우고 코드를 실행한 다음 바로 버리는 방식이 현실적으로 가능해집니다.

확장성 측면에서도 차이가 납니다. 컨테이너 기반 샌드박스 서비스들은 대개 동시 실행 수나 생성 속도에 제한이 있습니다. Dynamic Worker Loader는 Cloudflare Workers 인프라 자체에서 동작하기 때문에 초당 수백만 건 규모까지 별도 한도 없이 처리할 수 있습니다.

보안 설계: 에이전트는 비밀을 알 필요가 없다

샌드박스 안에서는 기본적으로 네트워크 접근이 차단되고, 파일 시스템도 없으며, 환경 변수도 노출되지 않습니다. 외부 API를 호출해야 하는 경우에는 두 가지 방식을 지원합니다.

하나는 크리덴셜 인젝션입니다. 에이전트가 인증이 필요한 서비스에 HTTP 요청을 보낼 때, Cloudflare 측에서 인증 키를 자동으로 요청에 삽입합니다. 에이전트 코드 자체는 비밀 키를 볼 수 없어서 외부로 유출될 위험이 없습니다.

다른 하나는 TypeScript RPC 인터페이스입니다. 에이전트에게 허용할 API를 TypeScript 인터페이스로 정의하면, 샌드박스 경계를 넘어 RPC로 자동 연결됩니다. OpenAPI 스펙보다 훨씬 적은 토큰으로 API를 표현할 수 있고, 허용된 기능만 정확히 노출할 수 있어 보안 범위를 좁히기도 쉽습니다.

보안 레이어는 여기서 그치지 않습니다. Cloudflare는 V8 보안 패치를 Chrome보다 빠른 시간 내에 프로덕션에 반영하고, 위험도 기반의 동적 테넌트 격리, MPK 같은 하드웨어 기능을 활용한 샌드박스 강화 등 여러 계층의 방어를 갖추고 있다고 밝혔습니다.

Code Mode와의 연결: 에이전트 인프라의 방향

이 기술은 Cloudflare가 지난해 9월 제안한 개념인 Code Mode와 맞닿아 있습니다. Code Mode는 에이전트가 도구를 순서대로 호출하는 대신, API를 호출하는 코드를 직접 작성해 한 번에 실행하는 방식입니다. 여러 단계의 중간 결과가 컨텍스트 창을 채우는 대신 최종 결과만 돌아오기 때문에 토큰 사용량과 지연 시간이 함께 줄어듭니다. MCP 서버를 TypeScript API로 변환하는 것만으로도 토큰 사용량을 81% 줄였다고 Cloudflare는 밝혔습니다.

Dynamic Worker Loader는 Code Mode가 실제로 동작하려면 반드시 필요한 실행 레이어입니다. 에이전트가 코드를 생성하는 것과 그 코드를 안전하게 실행하는 것, 두 가지가 모두 갖춰졌을 때 Code Mode 방식이 프로덕션 환경에서 의미를 가집니다.

이미 실제 사용 사례도 나오고 있습니다. Zite라는 서비스는 사용자가 채팅으로 앱을 만들면 LLM이 TypeScript 코드를 생성하고, 각 자동화 로직이 별도의 Dynamic Worker에서 실행되는 구조로 하루 수백만 건의 실행 요청을 처리하고 있다고 밝혔습니다.

현재 유료 Workers 사용자라면 오픈 베타로 바로 사용할 수 있습니다. 베타 기간 중에는 Dynamic Worker 로드 비용(정식 출시 후 하루 고유 Worker 하나당 $0.002)이 면제됩니다. 아키텍처 세부 사항, 헬퍼 라이브러리, 보안 설계에 대한 추가 내용은 원문에서 확인할 수 있습니다.


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다