마이크로소프트, 코드로 브라우저 제어하는 오픈소스 웹 에이전트 '웹라이트' 공개
마이크로소프트 리서치가 기존의 스크린샷이나 DOM 기반의 단편적인 클릭 방식을 벗어나, 에이전트가 터미널 환경에서 직접 코드를 작성해 브라우저를 제어하는 새로운 프레임워크 '웹라이트(Webwright)'를 오픈소스로 공개했습니다. 이 방식은 자동화 스크립트를 작성하는 개발자의 방식과 유사하며, 복잡한 다단계 웹 상호작용을 압축적인 코드로 처리할 수 있게 해줍니다. 오디세이(Odysseys) 벤치마크에서 기존 기본 GPT-4o 대비 성능을 크게 끌어올리며, 코드 생성 및 디버깅 능력이 뛰어난 최신 LLM의 강점을 극대화한 접근법으로 주목받습니다.
에디터 추천 에이전트 AI | AI 에이전트 | 기술 | AI 쇼츠 | 인공지능 애플리케이션 | 언어 모델 | 대형 언어 모델 | 신규 출시 | 오픈소스 | 소프트웨어 엔지니어링 | 스태프 | 기술 뉴스
오늘날 대부분의 웹 에이전트는 한 번에 하나의 동작으로 브라우저를 구동합니다. 모델은 스크린샷이나 DOM 텍스트 형태의 현재 페이지 상태를 수신하고, 다음 클릭, 키 입력 또는 스크롤을 예측합니다. 언어 모델의 추론 능력이 제한적이었을 때는 이러한 '단일 동작 기반' 설계가 타당했습니다. 하지만 모델이 코드 작성 및 디버깅 능력이 향상됨에 따라, 이 경직된 루프는 더 이상 도움이 되는 구조가 아니라 제약 조건이 되어버렸습니다.
마이크로소프트 리서치의 AI 프론티어(AI Frontiers) 연구소는 다른 접근 방식을 고안했습니다. 이들의 새로운 오픈소스 프레임워크인 웹라이트(Webwright)는 상태 저장 브라우저 세션 대신 에이전트에 터미널을 제공합니다. 에이전트는 브라우저를 제어하기 위해 플레이라이트(Playwright) 코드를 작성하고, 배시(Bash) 명령을 실행하며, 로그를 검사하고 스크립트를 반복적으로 다듬습니다. 플레이라이트 역시 마이크로소프트에서 개발한 오픈소스 브라우저 자동화 라이브러리로, Chromium, Firefox, WebKit 브라우저의 프로그래밍 방식 제어를 지원합니다.
웹라이트의 차별점 웹라이트는 에이전트와 브라우저를 분리하고, 브라우저를 에이전트가 프로그램을 개발하는 동안 실행하고 검사한 후 버릴 수 있는 대상으로 취급합니다. 여기서 지속되는 결과물은 브라우저 세션이 아니라 로컬 작업 공간의 코드와 로그입니다. 이는 개발자가 RPA(로봇 프로세스 자동화) 스크립트를 작성할 때 사용하는 것과 동일한 모델입니다. 매번 사이트를 수동으로 클릭하는 대신 스크립트를 한 번만 작성하는 것이죠. 그 스크립트는 재실행, 수정 및 공유가 가능합니다. 웹라이트는 이 개념을 LLM 기반 에이전트에 적용합니다.
이 시스템은 러너(Runner), 모델 엔드포인트(Model Endpoint), 터미널 환경(Environment)이라는 세 가지 핵심 구성 요소로 이루어져 있습니다. 러너는 약 150줄, 모델 인터페이스는 약 550줄, 환경은 약 300줄의 코드로 구성되어 있습니다. 멀티 에이전트 오케스트레이션이나 복잡한 계획 계층은 없으며, 단일 에이전트 루프만 존재합니다. 모든 중간 코드, 로그, 스크린샷 및 결과는 작업 공간에 저장되어 각 실행을 쉽게 검사할 수 있습니다.
에이전트 루프 러너는 현재 컨텍스트를 모델에 전송합니다. 모델은 사고 블록(thinking block)과 셸 명령을 반환합니다. 해당 명령은 환경에서 실행되며, 터미널 출력, 로그, 스크린샷 또는 오류 역추적을 반환합니다. 이러한 관찰 결과는 다시 컨텍스트에 포함되며 루프가 계속됩니다. 코딩 에이전트는 한 번에 하나의 원시적인 동작을 수행하는 대신, 날짜 선택이나 전체 양식 작성과 같은 다단계 상호작용을 압축된 프로그램으로 자연스럽게 표현할 수 있습니다. 루프, 함수 및 추상화를 통해 에이전트는 유사한 하위 수준 단계의 시퀀스를 반복적으로 예측하지 않고도 유사한 작업 전반에 걸쳐 일반화할 수 있습니다.
두 가지 엔지니어링 과제 조기 종료(Premature 'done')와 컨텍스트 폭발(context explosion)이 두 가지 핵심 문제입니다. 개방형 배시 동작을 사용하면 모델이 완료를 스스로 보고해야 하며, 실제로 완료되지 않았는데도 종종 성공했다고 잘못 판단합니다. 연구진은 이를 해결하기 위해 게이트(Gate)를 추가했습니다. 에이전트가 완료('done: true')를 출력하기 전에 자체 성찰 구성(self-reflection config)을 생성하고, 로그 및 스크린샷이 있는 새 폴더에서 최종 스크립트를 실행한 후 성공 또는 실패를 출력하는 자체 성찰 판단을 통과해야 합니다. 그렇지 않으면 해당 플래그가 삭제되고 재시도됩니다.
컨텍스트 길이와 관련해서는 긴 코딩 궤적(trajectory)이 컨텍스트 제한을 빠르게 초과하므로, 20단계마다 기록을 단일 요약으로 압축합니다.
벤치마크 결과 웹라이트는 Online-Mind2Web와 Odysseys라는 두 가지 벤치마크에서 평가되었습니다. Online-Mind2Web는 136개의 널리 사용되는 사이트에 걸쳐 300개의 작업을 포함하며, 자동화된 'LLM-as-a-Judge' 평가 프레임워크를 사용합니다.
GPT-4o는 전체 정확도 86.67%를 달성하여 100단계 예산을 가진 Online-Mind2Web 벤치마크의 AutoEval 카테고리에서 모든 오픈소스 하네스 레시피 중 최고 수준을 기록했습니다. Claude Opus 4.7은 전체 정확도 84.7%를 기록했지만, N=100 단계에서 어려운 작업에 대해 더 나은 성능을 보였습니다(80.5% 대 GPT-4o의 76.6%).
연구진은 또한 모델이 클릭 및 입력을 위한 x,y 좌표를 예측하는 기존의 스크린샷 기반 에이전트 설정에서 GPT-4o 기준(Baseline)을 재현했습니다.