Kitesurf 에이전트 중심 브라우저가 Cloudflare Workers에서 출시됨
Kitesurf는 Cloudflare Workers에서 완전히 실행되는 에이전트 중심 브라우저를 제공한다
핵심 요약: Cloudflare의 새로운 Kitesurf 브라우저는 Workers에서 V8 격리 환경에서 실행되며, 일반적인 AI 에이전트 작업에서 크롬보다 CPU 사용량을 38배, 메모리 사용량을 57배 줄이며, Puppeteer과 같은 CDP 도구와 호환성을 유지한다.
새로운 브라우저가 필요한 이유
- 사람이 아닌 에이전트를 위한 설계: AI 에이전트는 낮은 토큰 수, 빠른 컨텍스트 창, 저렴한 컴퓨팅을 필요로 한다. 전통적인 브라우저인 크롬은 탭, 확장 프로그램, 고해상도 렌더링과 같은 에이전트가 절대 사용하지 않는 UI 관련 오버헤드를 포함한다.
- 비용 장벽: 에이전트당 전체 크롬 인스턴스를 실행하는 것은 비용이 너무 높아, 고도화된 AI 모델은 웹 작업의 좁은 범위에만 제한된다.
- 다른 위협 모델: 에이전트 기반 브라우징은 프롬프트 주입 및 도구 안전성과 같은 문제를 야기하며, 이는 인간 중심 브라우저의 주요 고려사항이 아니다.
이러한 관찰을 바탕으로 Cloudflare는 오랫동안 내부적으로 제기해온 질문, 자체 브라우저를 개발해야 할까? 에 대해 긍정적인 답변을 내리고, Browser Run 플랫폼에서 베타로 Kitesurf를 출시했다.
핵심 설계 원칙
1. 테스트 기반 개발
- AI 지원 코드 생성에 구체적인 성공 기준을 제공하기 위해 웹 플랫폼 테스트(WPT) 세트를 통합했다.
- 실제 사이트에서 크롬과의 출력을 비교하는 통합 및 시각적 회귀 테스트를 추가하여 렌더링 차이를 조기에 포착한다.
"CDP를 사용하는 장점은 클라이언트 호환성이다: Puppeteer, Playwright, chrome-remote-interface, 그리고 실제 Chrome DevTools 프론트엔드. 이들을 Kitesurf에 연결하면 모두 작동할 것이다." – Cloudflare 블로그
2. 루스트 중심, WebAssembly로 컴파일
- Emscripten으로 생성된 바이너리의 부피를 피하기 위해 네이티브 루스트 컴포넌트를 사용한다.
wasm-bindgen을 사용해 직접 Wasm으로 컴파일하여 실행을 메탈 근처에 유지하고 Cloudflare의 성숙한 Wasm 런타임을 활용한다.
3. 강력한 예외 처리
- 어떤 오류도 세션을 종료하지 않고 빈 프레임이나 누락된 요소로 하락한다.
- 모든 경계에서 오류를 포착하고 로깅하며, 세션은 안전하게 계속된다.
4. 페이지 로드당 엄격한 격리
- 각 페이지 로드는 고유한 사전 격리된 격리 환경에서 실행되며, 모든 네트워크 트래픽을 처리하는 전용
SandboxOutbound워커가 있다. - 어떤 컴포넌트도 직접 네트워크에 접근할 수 없으며, CORS, 헤더 삽입, 페이지별 쿠키 저장소를 강제한다.
5. 가능한 한 상태 없는 설계
- 상태 없는 컴포넌트는 즉시 종료되고 재생성될 수 있어 대규모 병렬 처리와 에이전트 워크로드의 급격한 확장이 가능하다.
- 엔진만 세션 상태를 유지하며, 다른 모든 워커는 폐기 가능하다.
아키텍처 개요
엔진
- WebSocket과 HTTP를 통해 Chrome DevTools 프로토콜(CDP)을 노출한다.
- 세션 상태를 저장하며, 다른 모든 컴포넌트는 상태가 없다.
- 기존 CDP 클라이언트(Puppeteer, Playwright 등)와 호환된다.
PageScript
- 각 페이지 또는 OOPIF당 동적 워커 격리 환경에서 실행된다.
- 루스트 라이브러리인 Blitz(HTML)와 Stylo(CSS)를 사용해 HTML과 CSS를 파싱한다.
- JavaScript와 WebAssembly를 프로세스 내에서 실행하며,
eval은 Workers에 네이티브eval이 도입될 때까지 Boa JS 엔진이 처리한다.
PageRenderer
blitz-paint와 Parley 텍스트 형태 라이브러리를 사용해 DOM 트리를 PNG/JPEG/PDF로 렌더링한다.- Cloudflare Workers의 내장 RPC 시스템을 통해 호출되는 별도의 격리 환경에서 작동하여 각 렌더링 요청이 재시도 가능하고 저렴하다.
네트워크 사전 – SandboxOutbound
- 유일하게 외부 네트워크 요청을 수행할 수 있는 컴포넌트이다.
- CORS를 강제하고 브라우저 유사 헤더를 삽입하며, 응답을 필터링하고 페이지별 쿠키 저장소를 격리한다.
성능 및 호환성
| 지표 | Kitesurf | 크롬 (워밍 풀) | 상대적 개선도 |
|---|---|---|---|
| CPU: 스크린샷 | 380 ms | 1,173 ms | 3.1× 적음 |
| CPU: HTML 추출 | 229 ms | 877 ms | 3.8× 적음 |
| 메모리: 스크린샷 | 57.8 MiB | 271 MiB | 4.7× 적음 |
| 메모리: HTML 추출 | 39.4 MiB | 273.7 MiB | 7.0× 적음 |
| 벽 시계 시간: 스크린샷 | 1,148 ms | 637 ms | 1.8× 느림 |
| 벽 시계 시간: HTML 추출 | 820 ms | 472 ms | 1.7× 느림 |
- CPU 및 메모리 절감은 Cloudflare와 고객 모두의 요금을 낮추는 직접적인 결과이다.
Kitesurf는 이미 215,000개 이상의 WPT 테스트를 통과했으며, 매주 지속적으로 추가되고 있다. 커버리지에는 AI 에이전트에게 가장 관련성이 높은 HTML, CSS, DOM, SVG, XHR, 스트림 기능이 포함되어 있다.
Hacker News 커뮤니티의 통찰
- 구현 기반: 엔진은 오픈소스인 Blitz 렌더링 엔진(Dioxus Labs)을 기반으로 하며, 활발히 개발 중인 모듈식 브라우저 코어이다.
"이것은 Blitz 위에 구축된 것이다… 지난 2.5년 동안 내가 개발해 온 새로운 모듈식(오픈소스) 브라우저 엔진이다." – @nicoburns
- 잠재적 우려: 일부 사용자는 Cloudflare가 CDN과 AI 에이전트 플랫폼이라는 이중 역할을 하면서, 방지 보호를 우회할 수 있는 특권을 가질 수 있다는 우려를 제기한다.
"Cloudflare 워커에서 Kitesurf가 Cloudflare CDN으로 보호된 콘텐츠를 특별히 우회할 수 있는 권한을 가지게 될까?" – @QuantumNomad_
- 사용 사례에 대한 호기심: 사용자들은 에이전트가 브라우저를 어떻게 활용하는지 구체적인 예를 요청한다.
"어디서 에이전트를 브라우저에서 사용하는지 예시를 알려줄 수 있나요?" – @cautiouscat
- 오픈소스 희망: 여러 참여자가 코드를 오픈소스로 공개했으면 좋겠다고 표현하며, 구현이 비공개일 경우 지문 위험이 있다는 점을 지적한다.
"오픈소스였으면 로컬에서 실행할 수 있었을 텐데…" – @zuzululu
Kitesurf 시작하기
- Browser Run CDP 엔드포인트 – Browser Run API 호출에
browser=kitesurf를 추가한다.{ "mcp": { "kitesurf": { "type": "local", "command": [ "npx", "-y", "chrome-devtools-mcp@latest", "--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf", "--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\"}" ], "enabled": true } } } - 빠른 액션 예제 – 스크린샷
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/screenshot?browser=kitesurf' \ -H 'Authorization: Bearer <apiToken>' \ -H 'Content-Type: application/json' \ -d '{"url": "https://example.com"}' \ --output screenshot.png - 플레이그라운드 – https://kitesurf.cloudflare.app/ 에 방문하여 어떤 URL이든 입력하고 DOM을 검사하고 네트워크 활동을 확인하며, 각 격리 환경의 메모리 사용량을 확인할 수 있다.
Kitesurf vs. 크롬 선택 시기
- HTML 추출, 스크린샷, PDF 생성이 필요하지만 픽셀 단위 정확도가 필요 없는 AI 에이전트에 이상적이다.
- 비용 효율성과 격리가 가장 중요한 급격한 상태 없는 워크로드에 최적이다.
- 비디오 재생, WebGL, 장기적인 인증 세션, 또는 복잡한 TLS 지문 기반 사이트에는 적합하지 않다.
로드맵 및 향후 작업
- 현재 하위 집합을 넘어서 CDP 커버리지를 확장한다.
- 고품질 스크린샷과 PDF를 위한 렌더링 정밀도를 향상시킨다.
- WPT 커버리지를 전체 웹 플랫폼 호환성에 가까워지도록 확대한다.
- 다른 Cloudflare 플랫폼 팀과 협력하여 CPU, 메모리, 벽 시계 시간 벤치마크를 지속적으로 최적화한다.
Kitesurf는 에이전트 중심 웹 플랫폼으로 나아가는 도전적인 한 걸음이며, 엣지에서 실행되는 가볍고 격리된, 비용 효율적인 브라우저를 제공한다. 오늘 바로 Browser Run 또는 공개 플레이그라운드를 통해 시도해보고, AI 에이전트가 웹의 주요 구성원이 되는 과정에서 생태계가 어떻게 진화하는지 지켜보자.
Sources
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트