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
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.