안녕하세요 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에서만 사용 가능합니다, 죄송합니다!). 그리고 물론, 여러분의 모든 피드백과 의견을 환영합니다!