← AI Engineer
코드 모드 · 하네스

코드가 말하게 한다 — 에이전트는 앱이 아니라 상태 기계에 들어간다

클라우드플레어 API 2,600개 엔드포인트를 다 노출하면 첫 호출에서만 120만 토큰이 드는데, 검색·실행 두 개 툴로 그걸 1,000토큰까지 줄인 99.9% 절감 사례와 켄턴이 캔버스에 그린 틱택토 판을 모델이 획(stroke) 배열만 보고 알아채 원을 그려 넣은 창발 행동을 담음. 아무 능력도 없이 시작해 API를 하나씩 명시적으로 열어주는 캐퍼빌리티 기반 보안(capability-based security) 샌드박스 구조까지 구체적으로 짚음.

Sunil Pai Cloudflare발표 2026-04-2619분 34초AI Engineer

한줄 코멘트. 도구를 JSON으로 하나씩 주고받는 대신 모델에게 코드를 쓰게 하고 그것을 API 바로 옆에서 돌린다. 발표가 든 예에서 첫 호출에 120만 토큰이 들던 것이 1,000 토큰으로 줄고 왕복 여덟 번이 한 번이 된다. 다만 그 수치는 특정 API 표면 하나를 놓고 든 값이고, 무대에서 돌린 라이브 데모는 자바스크립트 오류를 내며 흔들렸다.

1. 무엇을 주장하는 발표인가

클라우드플레어에서 에이전트 SDK를 만드는 사람이 발표한다. 주장은 한 줄이다. 코드가 시스템과 주고받는 방식이 되어야 한다는 것이다.

출발점은 규모다. 클라우드플레어의 API 표면은 엔드포인트가 약 2,600개다. 이것을 도구로 다 노출하면 *툴 콜링을 시작하기도 전에 컨텍스트가 터진다.

2. 왕복을 없앤다

왕복 여덟 번과 한 번

같은 일을 시키는 두 방식

JSON 왕복도구를 하나씩 부른다왕복 여덟 번
코드 한 벌모델이 코드를 쓴다API 옆에서 한 번에 돈다
발표의 주장이 이 대비다. 왕복은 부를 때마다 모델을 거친다. 모델에게 코드를 쓰게 하고 그것을 API 바로 옆에서 돌리면 그 왕복이 한 번으로 줄어든다고 발표자는 말한다. 여덟 번이라는 수는 발표가 든 예의 값이다.

보통은 모델이 도구를 하나 부르고, JSON으로 결과를 받고, 다시 말하고, 또 부른다. 발표자는 이 방식이면 그 API 호출들을 하는 데 왕복이 약 여덟 번 든다고 말한다.

대신 모델에게 코드를 쓰게 한다. 주로 자바스크립트다. 그 코드를 API 바로 옆에서 즉시 돌리면 한 번에 끝난다.

3. 도구를 둘로 줄인다

동료 한 사람이 이것을 처음 적용했다고 한다. 그가 낸 방법은 도구를 딱 두 개만 노출하는 것이다.

노출한 도구 둘

도구무엇을 받나
검색*OpenAPI 스펙 전체를 넘겨 필요한 것을 찾게 한다
실행찾아낸 것들을 부르는 코드를 받아 돌린다

둘 다 입력이 코드 문자열이라는 점이 같다.

여기서 이 발표의 수치가 나온다. 2,600개를 다 노출하면 첫 호출에만 약 120만 토큰이 들었다. 두 도구 방식으로 바꾸자 1,000 토큰으로 줄었다. 발표자는 약 99.9% 줄었다고 말한다.

4. 샌드박스는 아무것도 못 하는 데서 시작한다

샌드박스가 능력을 얻는 순서

아무것도 못 함코드를 돌리는 것 말고는 없다
능력을 준다필요한 것만 하나씩 연다
API로 낸다열어 준 것만 부를 수 있다
나가는 길도 본다바깥으로 나가는 요청을 통제한다
막는 순서가 거꾸로다. 다 열어 두고 위험한 것을 막는 대신, 아무것도 못 하는 데서 시작해 필요한 것만 연다. 나가는 요청과 연결까지 같은 자리에서 본다고 발표자는 설명한다.

모델이 쓴 코드를 돌린다는 말은 곧 안전 문제다. 여기서 막는 순서가 거꾸로다.

*샌드박스는 아무 능력도 없이 시작한다. 코드를 돌리는 것 말고는 아무것도 못 한다. 요청을 보낼 수도 없고 열린 API도 없다. 거기에 필요한 능력을 하나씩 명시적으로 준다.

바깥으로 나가는 요청과 네트워크 연결도 같은 자리에서 통제한다고 말한다.

5. 상태를 그대로 넘기면 생기는 일

발표에서 가장 눈에 띄는 장면은 동료가 만든 틱택토 데모다.

시스템의 상태를 모델에게 통째로 넘긴다. 여기서 상태는 캔버스에 그은 획의 배열이다. 사람이 X를 그리자 모델이 그 상태를 자기 컨텍스트로 읽어 들이고, 그것이 무슨 판인지 알아보고, 한가운데에 원을 그려 넣었다.

무엇을 하라고 시킨 것이 아니라 상태를 넘겼더니 나온 행동이라는 것이 이 대목의 요점이다.

6. 라이브 데모가 흔들린 대목

발표자는 라이브 데모가 있다며 무대에서는 데모가 잘 안 된다고 미리 말한다. 그리고 실제로 그렇게 됐다.

돌리자 자바스크립트 오류가 이어졌고, 발표자는 성공할지 지켜보자고 말한다. 모델이 페이지를 나눠 가며 훑으려 드는 것 같다고 덧붙인다. 무대에 오르기 전 열 번 시험했다는 말도 한다.

이 장면이 앞의 주장과 맞닿는다. 모델에게 코드를 쓰게 하는 방식은 그 코드가 틀렸을 때 어떻게 되는지가 그대로 드러난다.

7. 발표가 밝히지 않은 것

99.9%는 특정 API 표면 하나를 놓고 든 값이다. 엔드포인트가 2,600개인 자사 API에서 잰 것이라, 표면이 작거나 성격이 다른 API에서도 같은 폭으로 줄어드는지는 나오지 않는다.

왕복 여덟 번도 그 예의 값이다. 무엇을 기준으로 센 여덟인지, 다른 일에서는 몇 번인지가 없다.

모델이 쓴 코드가 틀릴 확률이 없다. 라이브 데모에서 바로 그 일이 벌어졌는데도, 얼마나 자주 그러는지와 틀렸을 때 무엇으로 되돌리는지가 나오지 않는다. 이 방식의 급소가 거기다.

언제까지 유효한 이야기인지 밝히지 않는다.

용어

*툴 콜링
모델이 정해진 형식으로 도구를 불러 쓰는 방식
*OpenAPI 스펙
어떤 API에 무슨 기능이 있고 무엇을 주고받는지 기계가 읽게 적어 둔 문서
*샌드박스
코드가 바깥을 건드리지 못하게 가둬 놓고 돌리는 자리