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
관련 논문
프로덕션 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에 반영해준다.