코드 모드: 1 (새 탭에서 열림)
Cloudflare에서 발표한 '코드 모드(Code Mode)'는 AI 에이전트가 방대한 API를 사용할 때 발생하는 컨텍스트 윈도우 낭비 문제를 해결하기 위한 혁신적인 접근 방식입니다. 개별 API 엔드포인트를 수천 개의 도구로 정의하는 대신, 에이전트가 직접 코드를 작성하고 실행하게 함으로써 단 1,000개의 토큰만으로 전체 Cloudflare API를 제어할 수 있게 합니다. 이 기술은 모델의 기억 공간을 보존하면서도 복잡한 연쇄 작업을 효율적으로 수행할 수 있는 높은 유연성을 제공합니다.
기존 MCP 방식의 한계와 코드 모드의 등장
- 컨텍스트 윈도우 포화 문제: 모델 지시 프로토콜(MCP)에서 에이전트에게 너무 많은 도구를 제공하면 컨텍스트 윈도우가 가득 차서 실제 작업 수행에 필요한 공간이 부족해집니다.
- 방대한 API의 비효율성: Cloudflare API처럼 엔드포인트가 2,500개가 넘는 경우, 이를 모두 도구로 등록하려면 약 117만 개의 토큰이 필요하며 이는 최신 모델의 한계를 초과하는 수치입니다.
- 코드 모드의 해결책: 도구의 명세(Description)를 줄이는 대신, 에이전트가 SDK를 대상으로 코드를 작성하고 이를 안전한 샌드박스에서 실행하는 방식을 채택하여 토큰 사용량을 99.9% 절감했습니다.
핵심 인터페이스: search()와 execute()
- search() 도구: 전체 OpenAPI 명세를 모델에 주입하는 대신, 모델이 자바스크립트 코드를 작성하여 명세 내에서 필요한 엔드포인트를 스스로 검색하게 합니다. 이를 통해 모델은 수천 개의 엔드포인트 중 당장 필요한 것만 식별할 수 있습니다.
- execute() 도구: 에이전트가 실제 API 요청을 수행하는 자바스크립트 코드를 작성하여 실행합니다. 단순 호출뿐만 아니라 페이지네이션 처리, 응답 확인, 여러 작업을 하나로 묶는 체이닝(Chaining)이 가능합니다.
- 고정된 토큰 비용: API의 규모가 아무리 커져도 모델이 학습해야 할 도구는 이 두 가지뿐이므로, 약 1,000토큰의 고정된 비용만 발생합니다.
보안 및 실행 환경 (Dynamic Worker)
- V8 샌드박스 격리: 에이전트가 작성한 코드는 파일 시스템 접근이나 환경 변수 유출이 불가능한 경량 V8 샌드박스인 'Dynamic Worker' 내부에서 실행됩니다.
- 제한된 네트워크 접근: 외부 호출(Fetch)은 기본적으로 비활성화되어 있으며, 필요에 따라 명시적으로 제어된 핸들러를 통해서만 외부와 통신할 수 있어 프롬프트 주입 공격으로부터 안전합니다.
- 안전한 실행 흐름: 모델이 직접 API 키를 다루지 않고 서버 측에서 정의된 안전한 환경에서 로직만 실행하므로 보안성이 높습니다.
실무 적용 사례: DDoS 방어 설정
- 엔드포인트 탐색: 에이전트가 "DDoS 공격으로부터 내 사이트를 보호해줘"라는 요청을 받으면,
search()를 통해 WAF 및 규칙 설정 관련 API 엔드포인트를 필터링합니다. - 복합 작업 수행: 필터링된 엔드포인트 정보를 바탕으로
execute()를 호출하여 방화벽 규칙을 생성하고, 패키지를 업데이트하며, 설정을 확인하는 일련의 과정을 단 한 번의 도구 호출로 처리할 수 있습니다.
방대한 API를 다루는 서비스를 운영 중이라면 Cloudflare가 오픈소스로 공개한 Code Mode SDK를 활용해 보시기 바랍니다. 이를 통해 에이전트의 응답 속도를 높이고 운영 비용(토큰 사용량)을 획기적으로 줄이면서도 에이전트에게 서비스 전체에 대한 강력한 제어권을 부여할 수 있습니다.