Kuri – Zig으로 만든 AI 에이전트용 브라우저 자동화 도구
Kuri – Zig based agent-browser alternative
TL;DR Highlight
Node.js 없이 Zig으로 만든 464KB짜리 초경량 브라우저 자동화 도구로, AI 에이전트 루프에서 토큰 비용을 줄이는 데 특화되어 있다.
Who Should Read
LLM 에이전트에 웹 브라우저 자동화를 붙이고 있는 개발자 중, Playwright/Puppeteer 같은 Node.js 기반 툴의 무거움이나 토큰 낭비가 불만인 분들.
Core Mechanics
- Kuri는 Zig으로 작성된 브라우저 자동화 도구로, Node.js 의존성이 전혀 없다. 바이너리 크기가 464KB에 불과하고 콜드 스타트가 약 3ms로 매우 빠르다.
- Chrome의 CDP(Chrome DevTools Protocol)를 직접 제어하는 방식이라 별도 런타임 없이 Chrome과 통신한다. 단, Chrome 자체는 어딘가에서 실행되고 있어야 한다.
- 핵심 설계 철학은 'QA 엔지니어용이 아닌 에이전트 루프용'이다. 페이지 상태를 읽고 → 토큰을 최소화하고 → 안정적인 참조(ref)로 클릭하고 → 다음 단계로 넘어가는 사이클에 최적화되어 있다.
- Google Flights(SIN→TPE) 기준으로 전체 에이전트 워크플로우(go→snap→click→snap→eval) 토큰 비용을 비교했을 때, Vercel의 agent-browser 대비 16% 적은 토큰을 사용했다. (kuri: 4,110토큰 vs agent-browser: 4,880토큰)
- 스냅샷 모드가 여러 가지인데, `--interactive` 모드가 에이전트 루프에 가장 효율적이다. compact 모드(4,328토큰) 대비 절반도 안 되는 1,927토큰만 사용한다.
- 반면 JSON 전체 스냅샷(`--json`)은 31,280토큰으로 compact의 7.2배나 되고, lightpanda의 semantic_tree도 26,244토큰으로 비슷하게 비싸다. lightpanda는 JavaScript를 실행하지 않아서 빈 DOM만 나오는 경우도 있다는 점이 추가 단점이다.
- A11y(접근성 트리) 스냅샷, HAR(HTTP Archive) 기록, 독립 실행형 fetcher, 인터랙티브 터미널 브라우저, 보안 테스트 기능까지 내장되어 있다.
- 벤치마크는 동일 Chrome 세션, 동일 tiktoken cl100k_base 토크나이저로 측정했으며, `./bench/token_benchmark.sh`로 직접 재현할 수 있다고 명시되어 있다.
Evidence
- 설치 스크립트(install.sh)와 bun을 통한 설치가 404 오류를 반환한다는 보고가 있었다. 아직 초기 프로젝트라 인프라 안정성이 완전하지 않은 상황인 것으로 보인다.
- README의 벤치마크가 자체 제작(self-published)이라는 점을 지적하는 댓글이 있었다. 독립적인 검증 없이 16% 토큰 절감이라는 수치를 그대로 신뢰하기 어렵다는 맥락이다.
- kuri-fetch가 '독립 실행형'이라고 광고하지만 실제로는 Chrome이 어딘가에서 반드시 실행되고 있어야 한다는 지적이 있었다. CDP를 감싼 래퍼에 불과하다는 의견으로, 진정한 standalone은 아니라는 비판이다.
- 기존에 brow.sh(텍스트 기반 브라우저)를 페이지 fetching에 사용하던 사람이 Kuri가 더 흥미로워 보인다고 언급했다. 다만 Chrome 의존성을 확인하고 나서 다소 실망한 반응이었다.
How to Apply
- LLM 에이전트가 웹 페이지를 읽어야 하는 태스크(가격 비교, 정보 수집 등)를 구현 중이라면, Playwright 대신 Kuri의 `snap --interactive` 모드를 써보면 된다. 같은 페이지를 절반 이하의 토큰으로 읽을 수 있어 API 비용이 줄어든다.
- 멀티스텝 에이전트 루프(페이지 이동 → 스냅샷 → 클릭 → 스냅샷 → 판단)를 반복하는 구조라면 토큰 절감 효과가 누적(compounding)된다. 단계가 많을수록 kuri의 이점이 커지므로, 10단계 이상의 복잡한 웹 태스크 자동화에 특히 적합하다.
- 기존 Node.js 기반 브라우저 자동화를 서버리스나 경량 컨테이너에 올리려다 바이너리 크기 문제로 포기한 경우, Kuri의 464KB 단일 바이너리를 고려해볼 수 있다. 3ms 콜드 스타트는 Lambda 같은 환경에서도 실용적인 수준이다.
- 보안 테스트 자동화가 필요한 경우 Kuri의 내장 보안 테스트 기능과 HAR 기록 기능을 활용할 수 있다. HAR 파일을 남기면 에이전트가 어떤 HTTP 요청을 했는지 추후 디버깅도 가능하다.
Code Example
# 토큰 벤치마크 직접 재현
./bench/token_benchmark.sh
# 기본 스냅샷 (compact 모드, 4,328 토큰)
kuri snap
# 에이전트 루프용 최적 모드 (1,927 토큰 — compact 대비 0.4x)
kuri snap --interactive
# JSON 전체 덤프 (31,280 토큰 — 디버깅용)
kuri snap --json
# 독립 실행형 페이지 fetcher (단, Chrome 실행 필요)
kuri-fetch https://example.comTerminology
관련 논문
프로덕션 AI 에이전트를 GPT-5.6으로 마이그레이션: 2.2배 빠르고 27% 저렴
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
xAI Grok Build CLI가 xAI 서버로 전송하는 데이터: 네트워크 레벨 분석
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
중요할 때 기억하라: Long-Horizon 에이전트를 위한 Proactive Memory Agent
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: 깊고 넓은 웹 검색을 위한 재귀적 Multi-Agent Orchestration
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
웹 앱을 리버스 엔지니어링해서 AI Agent 도구로 자동 변환하기
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
FableCut – AI 에이전트가 조작할 수 있는 브라우저 기반 비디오 에디터 (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.