browser-use

AI Agent FrameworksCLIPython

★ 114,435주당 +920조회 8

무엇인가

browser-use는 LLM이 실제 브라우저를 조작해 웹 작업을 끝내도록 만드는 파이썬 라이브러리이자 CLI다. 웹 스크래핑 도구가 페이지에서 데이터를 추출하는 데 머무는 것과 달리, 폼 입력·날짜 선택·예약·로그인처럼 여러 단계를 거치는 상호작용 자체를 수행 대상으로 둔다. 자율 에이전트 계열에 속하며 브라우저 제어 계층과 모델 추론 계층을 하나의 인터페이스로 묶는다.

어떻게 동작하나

핵심 객체는 Agent와 Browser다. Agent(task=...)에 자연어 작업을 넣고 llm에 ChatOpenAI, ChatAnthropic, ChatGoogle, ChatBrowserUse 같은 모델 래퍼를 넘긴다. Agent는 Browser Use 시스템 프롬프트를 자동으로 주입하고, 브라우저의 현재 페이지 상태를 모델에 전달해 다음 동작을 받아 실행하는 루프를 돈다. Browser는 로컬 Chrome을 쓰거나 use_cloud=True와 cloud_profile_id로 클라우드 브라우저에 붙는다. Tools에 파이썬 함수를 등록하면 에이전트가 호출할 수 있는 도구가 된다. API 키는 .env에서 읽는다.

무엇과 다른가

Selenium이나 Playwright로 짠 스크립트는 선택자와 클릭 순서를 사람이 미리 고정하고, 페이지 구조가 바뀌면 그 단계가 깨진다. browser-use는 작업 목표만 주고 각 단계의 동작을 모델이 매번 정한다. ChatBrowserUse는 BROWSER_USE_API_KEY 하나로 제공자 접두사가 붙은 모델 ID를 게이트웨이를 통해 라우팅하므로, 제공자별 래퍼를 갈아끼우지 않고 모델을 교체할 수 있다. 자체 모델 BU2(bu-2-0)는 브라우저 자동화에 맞춰 조정된 선택지로 제시된다.

어떻게 쓰나

Python 3.11 이상이 필요하다. 새 프로젝트라면 uv init --python 3.12로 시작하고, .env에 OPENAI_API_KEY 또는 BROWSER_USE_API_KEY를 넣는다. agent.py에 Agent를 만들고 task를 넘긴 뒤 실행하면 브라우저가 열리고 결과가 출력된다. CLI 경로는 Claude Code, Codex, Cursor 같은 기존 에이전트에 브라우저 접근을 붙이는 방식이고, 완전 호스팅 경로는 API로 작업을 제출하고 결과를 받는다. 시스템 프롬프트는 직접 작성하지 않아도 되며 extend_system_message나 override_system_message로 조정한다.

전제와 한계

라이브러리는 MIT 라이선스로 무료지만 모델 추론과 호스팅 브라우저는 별도 과금이다. 로컬 브라우저와 Ollama 같은 로컬 모델을 조합하면 비용을 피할 수 있으나 하드웨어 성능에 묶인다. from_system_chrome()으로 기존 Chrome 프로필을 재사용할 수 있지만, 프로필 동기화는 쿠키만 옮기고 로컬 스토리지·IndexedDB·확장 프로그램은 옮기지 않아 일부 사이트에서는 다시 로그인해야 한다. CAPTCHA는 클라우드 브라우저의 스텔스와 프록시로 줄이는 것이지, 모든 사이트에서 회피나 해결이 보장되지는 않는다.

관련 논문 2

유사 도구