Launch HN: BrowserBook (YC F24) – 결정론적 브라우저 자동화 (deterministic browser
요약
BrowserBook은 Playwright 기반의 웹 자동화 스크립트 작성 및 디버깅을 위한 IDE입니다. 기존의 브라우저 에이전트 방식은 속도 저하, 높은 비용, 예측 불가능한 신뢰성 문제 등으로 인해 복잡하고 반복적인 작업에는 적합하지 않다는 결론에 도달했습니다. BrowserBook은 Jupyter-notebook 스타일 환경, AI 코딩 어시스턴트, 관리형 인증 등 강력한 내장 도구를 제공하여, 웹 자동화의 고통스러운 과정을 개선하는 것을 목표로 합니다.
핵심 포인트
- 웹 자동화는 LLM 기반 에이전트보다 스크립팅 방식이 더 신뢰성이 높고 적합하다는 결론에 도달했습니다.
- BrowserBook은 Jupyter-notebook 스타일 환경을 제공하여, 전체 재실행 없이 개별 셀 단위로 자동화 로직을 개발하고 테스트할 수 있습니다.
- AI 코딩 어시스턴트가 현재 페이지의 DOM 컨텍스트를 활용해 셀렉터 검색의 어려움을 줄여줍니다.
- Electron 앱 기반으로 클라우드 호스팅 브라우저 없이도 로컬에서 Chrome 인스턴스를 직접 실행하여 자동화 개발 환경을 제공합니다.
- 스크립팅은 본질적으로 취약하지만, BrowserBook은 이러한 '공격적 프로그래밍' 환경에 맞춰 스크립트 구축 및 유지 관리를 용이하게 하는 도구들을 제공합니다.
안녕하세요 HN! 저희는 Playwright 기반의 웹 자동화 (web automations)를 작성하고 디버깅 (debugging)하기 위한 IDE인 BrowserBook의 Chris, Jorrie, 그리고 Evan입니다. 여기에서 Mac 앱으로 다운로드할 수 있습니다:
https://browserbook.com, 그리고 데모 영상은 여기에 있습니다:
저희가 이것을 만든 이유: 저희가 YC를 거치는 동안, 저희는 백오피스 헬스케어 워크플로우 (healthcare workflows)를 자동화하는 회사였습니다. 헬스케어 분야의 상호운용성 (interoperability) 생태계가 매우 파편화되어 있었기 때문에, 저희는 웹을 통해 EMR, 병원 관리 소프트웨어 (practice management software), 그리고 결제 포털을 직접 자동화하기 위해 브라우저 에이전트 (browser agents)를 사용하기 시작했습니다. 그렇게 했을 때, 저희는 수많은 문제에 직면했습니다:
속도 (Speed): 스크립팅 (scripting) 방식 대비 LLM 호출 시 발생하는 높은 지연 시간 (latency)
비용 (Cost): 자동화를 적절히 정확하게 만들기 위해 필요한 모든 컨텍스트 (context)를 사용하면서 토큰 (tokens)을 과도하게 소모함
신뢰성 (Reliability): 상세한 지침, 컨텍스트, 도구 (tools)가 있음에도 불구하고, 에이전트들이 다단계 작업 (multi-step tasks)에서 예측 불가능한 방식으로 이탈 (drift)하는 경향이 있음
디버깅 가능성 (Debuggability): 이탈이 발생했을 때, 저희는 본질적으로 프롬프트 (prompt)를 수정하며 두더지 잡기 게임을 하는 것과 같았고, 문제를 디버깅하기 위해 자동화 전체를 다시 실행해야 했습니다 (위에서 언급한 속도 및 비용 문제로 인해 이 과정은 매우 고통스러웠습니다).
점점 더 저희는 에이전트에게 실행할 스크립트를 전달하는 방식을 취하게 되었습니다. 결국 저희는 이러한 종류의 유스케이스 (use cases)에는 스크립팅이 웹 자동화에 더 나은 접근 방식이라는 결론에 도달했습니다. 하지만 스크립팅 또한 너무 고통스러웠기에, 저희는 BrowserBook을 통해 그 문제들을 해결하고자 했습니다.
내부적으로는 인라인 브라우저 인스턴스 (inline browser instance)에 직접 연결된 독립형 TypeScript REPL을 실행하며, 스크립트 개발을 빠르고 쉽게 만들기 위한 내장 도구 (built-in tooling)를 갖추고 있습니다. 여기에는 다음이 포함됩니다:
-
컨텍스트 스위칭 (context switching) 없이 코드를 실행할 수 있도록 IDE 내에 직접 포함된 완전한 대화형 브라우저 창
-
Jupyter-notebook 스타일의 환경 - 여기서의 아이디어는 자동화의 일부를 개별 셀 (cells)에 작성하고 이를 개별적으로 실행할 수 있으며 (브라우저에서 수동으로 빠르게 재설정 가능), 매번 전체를 다시 실행할 필요가 없다는 것입니다.
-
현재 페이지의 DOM 컨텍스트 (DOM context)를 사용하여 자동화 로직을 작성하는 AI 코딩 어시스턴트(AI coding assistant)로, 셀렉터 (selector)를 찾아 헤매는 수고를 덜어줍니다.
-
스크린샷 촬영, 데이터 추출, 그리고 인증이 필요한 워크플로우를 위한 관리형 인증 (managed authentication)을 지원하는 헬퍼 함수 (helper functions).
자동화를 생성하고 나면, 애플리케이션 내에서 직접 실행하거나 API를 통해 당사의 호스팅 환경에서 실행할 수 있으므로, 외부 앱이나 에이전트 워크플로우 (agentic workflows)에서 사용할 수 있습니다.
BrowserBook의 핵심은 Electron 앱이므로, 클라우드 호스팅 브라우저 없이도 앱 내에서 Chrome 인스턴스를 직접 실행할 수 있습니다. API 실행의 경우, Kernel(참고로 정말 멋진 제품입니다)을 통해 호스팅된 브라우저 인프라를 사용하며, 해당 서비스의 봇 탐지 방지 기능(스텔스 모드, 프록시 등)에 의존합니다.
스크립트 기반의 자동화는 본질적으로 취약하기 때문에 인기가 없을 수 있습니다. "전통적인" 소프트웨어 개발과 달리, 여러분의 코드는 여러분이 제어할 수 없는 환경, 즉 타인의 웹사이트에 배포되기 때문입니다. BrowserBook을 통해 우리는 이러한 "고통스러운 상황을 받아들이고(embrace the suck)", 이러한 "공격적 프로그래밍 (offensive programming)" 환경을 인정하고자 합니다.
우리는 스크립트가 깨질 것을 가정하고 처음부터 설계했으며, 스크립트를 구축하고 유지 관리하는 것을 더 쉽게 만드는 도구를 제공하는 것을 목표로 합니다. 향후 계획은 이미 강점을 보여준 분야인 코드 작성에 AI를 활용하여, 배포된 환경이 변경됨에 따라 다운타임을 최소화하고 깨진 스크립트를 빠르게 복구하는 것입니다.
브라우저 에이전트 (browser agents)는 불일치와 모호함을 처리할 수 있는 LLM에 주도권을 넘김으로써 이 문제를 해결하겠다고 약속했습니다. 브라우저 에이전트가 진정으로 도움이 될 수 있는 몇몇 응용 분야가 있다고 생각하지만, 신뢰할 수 있고 반복적으로 수행되어야 하는 작업은 그중 하나가 아닙니다.
여러분이 직접 사용해 보시길 바랍니다! 저희 웹사이트에서 BrowserBook을 다운로드할 수 있습니다: https://browserbook.com (현재는 Mac에서만 사용 가능합니다, 죄송합니다!). 그리고 물론, 여러분의 모든 피드백과 의견을 환영합니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기