
단일 7MB 바이너리로 구현하는 AI 에이전트용 브라우저 자동화
요약
Kitewright는 Rust로 작성된 7MB 규모의 단일 바이너리를 통해 AI 에이전트용 브라우저 자동화 환경을 제공합니다. Node.js와 Playwright의 무거운 의존성 없이 MCP 서버를 통해 빠르고 가벼운 브라우저 제어가 가능합니다.
핵심 포인트
- Rust 기반 단일 바이너리로 7MB 수준의 초경량 구현
- Node/Playwright 대비 콜드 스타트 및 메모리 사용량 대폭 절감
- MCP(Model Context Protocol)를 지원하여 LLM 에이전트와 연동 용이
- 요소의 가시성 및 안정성을 확인하는 에이전트 특화 신뢰성 모델 적용
Kitewright는 Node.js와 Playwright의 무거운 부담 없이 LLM 에이전트에게 탐색, 스크린샷, 추출, PDF 변환이 가능한 실제 브라우저를 제공합니다. Rust로 작성되어 한 줄의 명령어로 설치할 수 있습니다.

AI 에이전트들은 도구를 사용하는 데 점점 능숙해지고 있으며, "실제 브라우저를 제어하는 것"은 에이전트에게 줄 수 있는 가장 유용한 도구 중 하나입니다. 대시보드에 로그인하고, 수치를 가져오고, 양식을 채우고, 페이지를 PDF로 변환하는 작업 등이 가능합니다. 문제는 설정에 드는 비용입니다. 거의 모든 옵션이 전체 Node.js + Playwright 스택을 끌어들입니다. 즉, 에이전트가 아무것도 하기 전에 설치해야 할 런타임과 유휴 상태로 대기하는 100MB 이상의 메모리가 필요합니다.
Kitewright는 더 가벼운 해답을 제시합니다. 이는 에이전트가 도구를 호출하는 표준 방식인 MCP (Model Context Protocol) 서버로, Rust로 작성된 단일 ~7MB 정적 바이너리를 통해 LLM에 실제 Chromium 브라우저를 제공합니다. Node 런타임도, 무거운 설치 과정도 필요 없습니다. 한 줄이면 실행됩니다:
npx @kitewright/mcp
측정된 작고 빠른 성능
저는 정직한 수치를 중요하게 생각하므로, 동일한 머신과 동일한 Chromium 환경에서 Node/Playwright 대응 제품과 직접 비교한 수치를 공개합니다:
- 콜드 스타트(Cold start)부터 리스닝(Listening)까지: 75 ms vs ~350 ms
- 유휴 메모리(Idle memory): ~8 MB vs 100–125 MB
- 배포(Distribution): 6.9 MB 단일 바이너리 vs 18 MB 패키지 및 Node 런타임
브라우저는 유휴 상태일 때 회수(reaped)되고 다음 세션에서 다시 예열(pre-warmed)되므로, 유휴 비용은 거의 제로에 가깝게 유지됩니다. 그리고 신뢰가 중요하기에 솔직한 주의사항을 덧붙이자면, 실제로 페이지가 로딩되기 시작하면 탐색 지연 시간(navigation latency)은 동일합니다. 모두가 동일한 브라우저에 대해 동일한 프로토콜을 사용하며, 네트워크는 동일하기 때문입니다.
이점은 시작 속도, 메모리, 그리고 단일 바이너리로 배포할 수 있다는 점입니다. 이는 로컬 모델 옆에서, 컨테이너 내부에서, 또는 대규모 플릿(fleet) 환경에서 브라우저를 실행할 때 정확히 중요한 요소들입니다.
단순한 스크립트가 아닌, 에이전트를 위해 구축됨
브라우저를 조작하는 LLM(Large Language Model)은 인간과는 다른 방식으로 실패하며, 따라서 신뢰성 모델(reliability model) 또한 다릅니다. 클릭과 타이핑은 맹목적으로 실행되지 않습니다. Kitewright는 대상 요소가 존재(present)하고, 가시적(visible)이며, 활성화(enabled)되어 있고, 가려지지 않았으며(un-covered), 안정화(settled)될 때까지 기다린 후, 동작을 수행하거나 수행할 수 없는 구체적인 이유(찾을 수 없음, 가시적이지 않음, 비활성화됨, 가려짐, 또는 불안정함)를 반환합니다. 소리 없는 오클릭(misclick)은 없으며, 에이전트는 실제로 추론할 수 있는 에러를 전달받게 됩니다.
총 23개의 도구(tools)가 있습니다: 탐색(navigate), 스크린샷(screenshot), 추출(extract) 및 마크다운 추출(extract-to-markdown), 접근성 스냅샷(accessibility snapshots), 양식 채우기(form filling), 클릭 및 타이핑(clicks and typing), 키 입력(key presses), 네트워크 및 콘솔 검사(network and console inspection), HTML→PDF 변환, 그리고 로그인 상태가 실행 간에 유지될 수 있도록 하는 세션 상태 저장/복구(save/restore of session state) 등이 포함됩니다. 이 도구는 stdio와 Streamable HTTP를 모두 지원하며, 공식 MCP(Model Context Protocol) 레지스트리에 등록되어 있습니다.
사용해 보기
Kitewright는 MIT 라이선스이며 오픈 소스입니다.
npx @kitewright/mcp
또는 MCP 클라이언트에 직접 추가하세요:
claude mcp add kitewright -- npx -y @kitewright/mcp
저장소(Repo), 벤치마크, 데모 GIF: https://github.com/kitewright/kitewright
에이전트가 웹을 다뤄야 하는 무언가를 구축하고 계신다면, 여러분의 피드백을 받고 싶습니다. 특히 도구 인터페이스(tool surface)에 대한 의견을 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기