Libretto – AI 브라우저 자동화를 결정론적으로 만드는 툴킷
Show HN: Libretto – Making AI browser automations deterministic
TL;DR Highlight
Saffron Health의 오픈소스 Libretto는 실시간 브라우저와 토큰 효율적인 CLI를 제공해서 AI 코딩 에이전트가 브라우저 자동화 스크립트를 안정적으로 만들고 유지보수할 수 있게 한다.
Who Should Read
Playwright나 Puppeteer 같은 브라우저 자동화 도구를 쓰는데 사이트 구조가 바뀔 때마다 스크립트가 깨져서 유지보수에 시달리는 개발자. 특히 AI 에이전트를 활용해서 자동화 워크플로우를 자가 복구되도록 만들고 싶은 팀에게 유용하다.
Core Mechanics
- Libretto는 AI 코딩 에이전트(Claude, GPT 등)에게 실제로 동작하는 Chromium 브라우저를 붙여주고, 토큰을 아끼면서 페이지를 분석할 수 있는 CLI 도구를 함께 제공한다. 덕분에 에이전트가 실제 사이트를 보면서 자동화 스크립트를 작성하거나 수정할 수 있다.
- 핵심 기능 네 가지는 '최소 컨텍스트로 라이브 페이지 검사', '네트워크 트래픽 캡처로 사이트 내부 API 역공학', '사용자 동작 녹화 후 자동화 스크립트로 재생', '실제 사이트 대상 인터랙티브 디버깅'이다.
- Saffron Health는 이 툴을 의료 소프트웨어(healthcare software)와의 브라우저 연동을 유지보수하기 위해 직접 만들었고, 같은 문제를 겪는 다른 팀들을 위해 MIT 라이선스로 오픈소스 공개했다.
- 설치는 `npm install libretto` 하나로 끝나고, `npx libretto setup` 실행 시 Chromium 다운로드, AI 프로바이더 자동 감지(OPENAI_API_KEY 등 환경변수 탐지), 기본 모델 설정까지 자동으로 처리해준다.
- OpenAI, Anthropic, Gemini, Vertex 네 가지 AI 프로바이더를 지원하고, `npx libretto ai configure <프로바이더>` 명령어로 원하는 시점에 자유롭게 전환할 수 있다.
- 설계 철학이 흥미롭다. 자동화 코드 자체를 '최적화 수단'으로 보고, 코드가 깨지면 AI 에이전트가 반복적으로 고쳐서 다음번엔 작동하게 만드는 '자가 복구(self-healing)' 구조를 지향한다.
- 기존에 Playwright를 쓰는 팀이라면 Libretto로 내부 구현을 교체하는 형태로 도입이 가능하다. iframe 미로, referrer 링크 같은 복잡한 구조도 처리 가능하다는 사용자 경험이 있다.
Evidence
- 이미 몇 주를 투자해서 비슷한 내부 툴을 만든 개발자가 '이걸 보는 날이 공교롭게도 내부 발표한 바로 그날'이었다며, Playwright로 iframe 미로 같은 복잡한 플랫폼을 자동화하고 있는데 Libretto로 내부를 교체해볼 생각이라고 밝혔다.
- 비슷한 내부 도구를 만든 다른 개발자도 댓글을 달았는데, '자동화 코드는 최적화 수단일 뿐이고 유지보수는 에이전트가 맡는다'는 자신의 철학이 Libretto와 일치한다며 교체 테스트를 해볼 의향을 보였다.
- 의료 데이터(PHI, Protected Health Information) 관련 우려가 제기됐다. 데모에서 Claude를 쓰는데 Anthropic과 BAA(Business Associate Agreement, HIPAA 준수를 위한 계약)를 체결했는지 물어보는 댓글이 있었다. 헬스케어 분야에서 쓰려면 이 부분을 반드시 확인해야 한다는 지적이다.
- Playwright CLI와의 차이점을 묻는 질문이 있었지만 아직 공식 답변은 없었다. Libretto는 AI 에이전트가 스크립트를 '작성하고 자가 수리'하는 워크플로우에 특화되어 있어서, 단순 자동화 실행 도구인 Playwright CLI와는 포지셔닝이 다르다.
- 라이선스에 대한 질문이 있었고, 웹사이트에서 MIT임을 확인했지만 저장소에 LICENSE.md 파일이 없다는 지적이 있었다. 오픈소스 채택을 고려하는 팀은 참고할 만하다.
How to Apply
- 자동화 스크립트가 사이트 업데이트마다 깨지는 문제를 겪고 있다면, Libretto를 도입해서 AI 에이전트가 깨진 스크립트를 자동으로 감지하고 수정하는 자가 복구 파이프라인을 구축할 수 있다. `npx libretto setup`으로 환경을 잡고, 에이전트에게 실제 브라우저를 붙여서 반복 수정 루프를 돌리면 된다.
- 사이트 내부 API를 직접 문서화하지 않은 서드파티 서비스(예: 의료 소프트웨어, 레거시 기업 포털)와 연동해야 할 때, Libretto의 네트워크 트래픽 캡처 기능으로 실제 브라우저 동작 중 오가는 요청을 분석해서 API를 역공학할 수 있다.
- 새로운 자동화 스크립트를 처음부터 짜야 할 때, Libretto의 '사용자 동작 녹화' 기능으로 원하는 동작을 직접 브라우저에서 수행한 뒤 자동으로 재생 가능한 스크립트를 생성할 수 있다. 반복적인 수작업 코딩 시간을 크게 줄일 수 있다.
- 이미 Playwright 기반 자동화를 운영 중인 팀이라면, 기존 스크립트를 당장 버리지 않고 Libretto를 유지보수 레이어로만 도입해볼 수 있다. iframe 중첩이나 referrer 기반 라우팅처럼 Playwright만으로 다루기 까다로운 케이스에서 Libretto의 AI 분석이 보완재로 작동한다.
Code Example
# 설치
npm install libretto
# 처음 설정: Chromium 다운로드 + AI 프로바이더 자동 감지 + 기본 모델 고정
npx libretto setup
# 워크스페이스 상태 확인
npx libretto status
# AI 프로바이더 명시적으로 전환 (고급 설정)
npx libretto ai configure openai
npx libretto ai configure anthropic
npx libretto ai configure gemini
npx libretto ai configure vertexTerminology
관련 논문
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를 하나의 버전 관리 파일시스템으로 묶어준다.