Webwright는 Microsoft Research가 공개한 SWE 스타일 브라우저 에이전트 프레임워크다. LLM에게 멀티 에이전트 시스템이나 그래프 엔진 없이 터미널 하나만 주고, 모델이 직접 Playwright Python 스크립트를 작성해 웹 태스크를 완수하게 한다. Online-Mind2Web(300개 태스크) 86.7%, 장기 호라이즌 태스크 벤치마크 Odysseys(200개 태스크) 60.1%로 오픈소스 공개 하네스 중 최고 수준의 성능을 달성했다.
핵심 아이디어
대부분의 브라우저 에이전트는 “다음 클릭할 위치”를 예측하는 방식으로 작동한다. Webwright는 다르다:
“브라우저는 에이전트가 스폰하는 환경일 뿐이다. 진짜 상태는 코드·스크린샷·로그가 쌓이는 로컬 워크스페이스다.”
코딩 모델이 Playwright 스크립트를 직접 작성하고, 실행하고, 스크린샷으로 결과를 확인한 뒤 자가 수리(repair)한다. 전체 브라우징 이력이 단 하나의 재실행 가능한 Python 파일로 남는다.
경쟁 프레임워크와 비교
| Stagehand | browser-use | agent-browser (Vercel) | Webwright | |
|---|---|---|---|---|
| 패러다임 | 코드 + NL 프리미티브 혼합 | DOM/AX 스냅샷 기반 자율 루프 | 다른 에이전트가 호출하는 CLI | 코딩 에이전트 + 터미널 |
| 액션 공간 | Playwright 코드 또는 NL→Playwright | 인덱스 클릭/타입 | 이산적 서브커맨드 | 자유형 Python 스크립트 |
| “상태”의 정의 | 브라우저 세션 | 브라우저 세션 | 브라우저 세션 | 로컬 워크스페이스 |
| 루프 형태 | 명령형 | observe→predict→execute | CLI 한 번 호출=마이크로스텝 | 코드 작성→실행→수리 |
성능 벤치마크 (100-step 예산)
- Online-Mind2Web (300개 태스크): GPT-5.4 기준 86.7% — 오픈소스 공개 하네스 중 AutoEval 카테고리 최고 – Claude Opus 4.7도 84.7% 달성, 어려운 분할에서는 오히려 더 강함(80.5% vs 76.6%)
- Odysseys (200개 장기 호라이즌 태스크): GPT-5.4 기준 60.1% (평균 76.1 스텝) – 이전 SOTA 대비 +15.6점 개선 (Opus 4.6 44.5%) – 기본 GPT-5.4(xy좌표 예측) 대비 +26.6점
소형 모델도 효과적이다: 5개 이상의 재사용 가능한 도구가 있으면 Qwen-3.5-9B도 Online-Mind2Web에서 준수한 성능을 낸다. 생성된 스크립트를 매개변수화된 CLI 도구로 패키징해 재사용하는 구조 덕분이다.
지원 백엔드
- OpenAI, Anthropic, OpenRouter
Claude Code 플러그인/스킬
Webwright를 Claude Code의 스킬로 추가해 기존 에이전트의 브라우저 태스크 능력을 강화하는 것도 지원한다. README의 “Use as a Claude Code skill” 섹션을 참조.
설치
# Python ≥ 3.10 필요
git clone https://github.com/microsoft/Webwright
cd Webwright
pip install -e .
playwright install chromium사용 대상
- 웹 자동화 연구자: SOTA급 브라우저 에이전트를 로컬에서 실험하고 싶은 경우
- AI 애플리케이션 개발자: 코딩 모델의 웹 태스크 완수 능력을 통합하려는 경우
- 에이전트 프레임워크 비교자: 코드 기반 액션 vs 좌표 예측 방식의 차이를 직접 검증하고 싶은 경우
참고 자료
- microsoft/Webwright — GitHub 공식 저장소
- Webwright: A Terminal Is All You Need For Web Agents — Microsoft Research 블로그