카테고리 없음

[Paper Review] WebArena: A Realistic Web Environment for Building Autonomous Agents

dotudy 2025. 4. 11. 11:29

https://arxiv.org/pdf/2307.13854

 

 

0. Abstract

 

생성형 AI 기술이 발전하면서 자연어 명령으로 autonomous agent가 일상적인 작업을 수행할 가능성이 생겼다. 하지만 현재의 AI agent들은 주로 단순한 가짜 환경에서 만들어지고 테스트되기 때문에 실제 상황과는 거리가 있다. 따라서 해당 논문에서는 자연어로 작동하는 에이전트를 위해 진짜에 가까운 현실적인 웹 환경을 만들었고 그 안에서 AI가 웹사이트를 탐색하고 과제를 해결할 수 있도록 하였다. 특히, e-commerce, 게시판, 개발 협업 툴, 블로그 같은 웹사이트를 기반으로 구성했고 지도나 메뉴얼 같은 도구나 지식도 추가해서 사람처럼 문제를 해결할 수 있도록 했다. 이 환경을 바탕으로 다양한 벤치마크를 공개하였고 해당 벤치마크는 사람들이 인터넷에서 자주하는 작업을 모방하도록 설계되었다. 몇 가지 기본 에이전트로 실험을 진행했고 reasoning before acting과 같은 최신 기술도 적용하였다. 그 결과, 복잡한 작업을 해결하는 것은 여전히 어렵다는 것이 드러났다. GPT-4 기반 최고의 agent로 성공률이 14.41%에 불과했고 사람의 성공률은 78.24%였다. 따라서 이러한 결과는 강력한 에이전트의 필요성, 최신 언어 모델의 부족성을 보여주고 WebArena는 이런 발전을 측정하는 데 사용될 수 있다. 

 

1. Introduction

인간의 자연어 명령을 통해 일상적인 작업을 수행하는 AI agent는 인간의 능력을 크게 확장시키고 효율성을 높일 수도 있다. 하지만 자율 에이전트의 잠재력을 완전히 활용하기 위해서는 얼마나 잘 작동하는지 알아볼 수 있는 현실적인 환경이 필요하고 반복실험도 가능한 환경이어야한다. 

 그러나 지금까지의 자율 에이전트를 평가하는 환경들은 너무 단순화되어있다. 현실 세계처럼 다양하고 복잡하지 않고 웹사이트도 축소판처럼 기능이 제한되어있다. 따라서 과제의 다양성이 부족했고 실제보다 훨씬 쉽게 설계되어있으며 데이터 수집 당시 저장된 상태만 접근할 수 있어서 탐색의 폭과 다양성이 제한된다. 평가 측면에서도 많은 환경들은 예측된 행동 순서를 기준 답안과 텍스트 형태로 단순 비교하여 기능이 제대로 실행되었는지의 여부나 다른 가능한 방안들은 무시한다. 따라서 이러한 실제와 시뮬레이션 환경과의 괴리가 있으며 AI agent가 복잡한 현실 상황을 이해하고 작동할 수 있는 능력에 부정적인 영향을 미친다. 

 

 WebArena는 현실적이고 재현 가능한 웹 환경으로 과제를 수행할 수 있는 자율 에이전트 개발을 돕기 위해 설계되었다. 이 환경은 온라인 쇼핑몰, 커뮤니티 사이트, 개발 협업 사이트, 콘텐츠 관리 사이트가 실제로 작동하는 형태로 들어가있다. 또한 지도, 계산기, 메모장 같은 utility tools가 있어 과제 수행을 최대한 지원한다. 마지막으로, 영어 위키피디아 같은 일반 자료부터 통합 개발 도구 사용 설명서 같은 전문 자료까지 다양한 문서와 지식 기반으로 보완된다. 이 웹사이트들에 들어간 콘텐츠는 실제 웹사이트에서 추출되어서 현실성을 유지하고 있다. 저자들은 docker container와 gym-API를 사용해서 이 환경을 제공하고 있다. 

Figure 1. 사용자가 명령을 내리면 에이전트가 행동을 하고 validator가 agent가 일을 정확하게 수행했는지 검사한다.

 

 WebArena에는 총 812개의 task가 포함된 benchmark set이 제공된다. 이 과제들은 사람처럼 자연스럽게 작성된 고수준 자연어 명령으로 설명이 되어있다. 예시로 두 개의 intent는 Figure 1의 오른쪽 상단에 나와있다. 과제 수행의 정확성, 즉 실행 결과가 정말로 원하는 목표를 달성했는지 평가하는데 초점을 둔다. 예를 들어 Figure 2의 예제를 평가할 때는 지정된 repository에 실제로 저장된 내용을 확인해서 평가한다. 이런 평가는 단순히 행동 텍스트 순서를 비교하는 방식보다 훨씬 정확하다. 또한, 이런 방식은 같은 목표를 달성하기 위해 시도하는 다양한 경로를 인정해주기 위해 여러 해결 방법들을 자연스럽게 반영할 수 있다. 

 

 해당 벤치마크를 사용해 NL command를 따르고 web-based task를 수행할 수 있는 여러 에이전트들을 평가했다. 이 에이전트들은 GPT-4, PALM-2 같은 강력한 LLM을 사용해서 few-shot in-context learning 방식으로 구현되었다. 

더보기

별도의 추가 학습 없이 문맥 속의 예시를 보고 AI가 추론해서 행동을 결정하는 것을 few-shot in-context learning이라고 한다. 

이 논문에서 사용한 에이전트는 GPT-4나 PALM-2 같은 대형 언어 모델을 활용해서 예시 몇 개만 보여준 뒤 그걸 참고해 문맥 속에서 행동을 추론하는 방식으로 만들어졌다는 뜻이다.

그 결과, GPT-4 기반의 agent조차도 성능이 제한적이었으며 최종 성공률은 14.41%에 그쳤고, 인간의 성공률은 78.24%였다. 원인은 AI가 능동적 탐색, 실수 복구를 못하기 때문이라고 보고 더 강력한 AI agent 개발이 필요하다고 말한다.

 

Figure 2. 웹 간 이동 + 정보 활용 + 수정 작업이 복합적으로 이어져있는 고수준의 명령이 예시로 나와있다. 현실 웹에서는 봇이 CAPTCHA 같은 문제에 걸리거나 콘텐츠가 예측 없이 바뀌고, 설정도 변경되기 때문에 시간이 지나면 시스템간 공정한 비교가 어렵다. WebArena는 이러한 문제를 해결하기 위해 현실 웹을 모방하지만 완전히 통제 가능한 실험 환경이다.

 

2. WebArena: Websites as an environment for autonomous agents

CAPTCHA 때문에 봇이 막히고 콘텐츠가 수시로 바뀌고 사이트 설정이 변경되기 쉬워서 자체적으로 실행되는 독립 환경을 구성했다. 그렇다고 완전 가짜 웹처럼 단순하게 만든 것은 아니고 실제 웹사이트 들이 사용하는 오픈소스 웹 framework를 사용하고 실제 사이트의 콘텐츠 일부를 가져와서 채워넣었기 때문에 화면이나 데이터가 매우 현실적이다. 

 

2.1 controlling agents through high-level natural language

 

WebArena 환경을 ε 라는 수학 모델로 표현한다.

S (상태): 현재 웹사이트가 어떤 화면인지

A (행동): 클릭, 입력, 이동 같은 행동들

O (관찰): 에이전트가 보고 있는 정보 (화면 내용 등)

T (전이 함수): 어떤 행동을 하면 어떤 화면으로 바뀌는지

에이전트가 현재 상태 S에서 어떤 행동 A를 하면 다음 상태 S로 바뀐다.

자연어 명령 $i$가 들어오면 agent는 다음과 같은 정보를 바탕으로 행동을 결정한다. 

지금 화면에서 보이는 것, 지금까지의 행동 이력, 지금까지 본 화면들. 이들을 참고해서 다음 행동 $a_t$를 고른다.
행동을 하면 새로운 상태 $s_{t+1}$로 넘어가고 새 화면 $o_{t+1}을 보게 된다.

이와 같은 과제를 잘 수행했는지 판단하기 위해서는 보상 함수 reward function r이 필요하다.

여기서 $a_1^T$는 시작부터 지금까지의 모든 행동, $s_1^T$는 각 행동을 했을 때 거쳐간 모든 상태(화면)을 뜻한다.

이 보상 함수는 agent가 상태를 바꾸면서 진행한 경로가 의도에 잘 맞았는지 판단하고 각 행동이 정확했는지도 판단한다. 

 

2.2 Website Selection

 

다음은 어떤 종류의 웹사이트를 WebArena에 포함시킬까에 대한 내용이다. 해당 연구팀은 자신들의 실제 브라우저 이용 기록을 분석하였다. 실제 사람들이 어떤 목적을 가지고 어떤 사이트를 많이 쓰는지 파악하고 이를 통해 대표적인 4가지 category를 고르고 각 category당 웹사이트를 하나씩 구현했다.

 

위의 웹사이트 카테고리는 다음과 같다.

(1) E-commerce platforms supporting online shopping activities (e.g., Amazon, eBay)

(2) social forum platforms for opinion exchanges (e.g., Reddit, StackExchange)

(3) collaborative development platforms for software development (e.g., GitLab)

(4) content management systems (CMS) that manage the creation and revision of the digital content (e.g., online store management).

 

해당 플랫폼 외에도 웹 기반 작업에서 자주 쓰이는 지도, 계산기, 메모장을 포함시켰다. 

또한 정보 탐색과 지식 획득이 중요하기 때문에 다양한 지식 자료도 포함시켰고 이는 일반 정보부터 전문적인 자료까지 포함된다.

 

Implement

 

웹사이트들은 각 분야의 open source library를 활용하여 직접 구현했고 데이터는 실제 사이트에서 샘플링하여 가져왔다. 이 환경은 Docker 형태로 제공된다.

 

2.3 Observation Space

 

해당 부분은 에이전트가 웹 환경을 어떻게 보고 인식하는지에 대한 설명이다.

 

WebArena에서는 agent가 사람이 브라우저를 사용할 때와 비슷하게 보도록 만들었다. 그래서 여러 개의 탭을 열고 비교하거나 참조하는 것도 가능하다. 

 

웹페이지 내용을 여러 가지 방식으로 제공하는데

(1) the raw web page HTML, composed of a Document Object Model (DOM) tree, as commonly used in past work (HTML 원본)

(2) a screenshot, a pixel-based representation that represents the current web page as an RGB array

(3) the accessibility tree of the web page.(접근성 트리: 웹페이지에서 중요한 요소들만 추려서 구조화한 것: 링크, 버튼, 텍스트 등)

각 요소들은 모두 역할(링크인지 버튼인지), 텍스트 내용, 속성(포커스를 받을 수 있는지 등)으로 표현된다. 

 

더보기

focusable이란?

키보드나 마우스를 해당 요소에 초점을 맞출 수 있는지 여부. 

사용자가 탭 키나 클릭을 통해서 그 요소를 선택하거나 조작할 수 있는 상태가 될 수 있냐는 의미이다.

 

접근성 트리에는 focus를 받을 수 있는 요소만 뽑아내는 경우가 많다.

실제로 사람들이 상호작용할 수 있는 부분만 남기고 복잡한 HTML을 간단하게 줄여야 하기 때문이다.

 

따라서 이 요소가 focusable인지 아닌지에따라서 agent는 이걸 눌러도 되는지, 선택할 수 있는지 판단하는 중요한 기준이 된다.

그리고 브라우저 창 안에 보이는 범위만 제한해서 보여줄 수도 있다. 

 

2.4 Action Space

 

해당 부분은 agent가 실제로 어떤 행동을 할 수 있는지에 대한 설명이다.

Agent가 실제 웹사이트를 탐색하듯이 마우스 클릭, 키보드 입력, 탭 전환, URL 이동같은 다양한 행동을 할 수 있도록 액션 공간을 설계했다.

 

 

행동 범주는 다음과 같이 분류되었다.

1) 요소 조작: 클릭, 마우스 오버, 입력, 키 조합 누르기 등

2) 탭 관련 행동: 탭 열기, 닫기, 전환

3) URL 탐색: 특정 URL 방문, 뒤로, 앞으로 이동

 

WebArena는 요소를 여러 방식으로 선택해서 조작할 수 있는 유연성을 제공한다.

요소는 화면 좌표(x, y)나 고유 ID(element ID)로 선택할 수 있다. 이 ID는 DOM이나 접근성 트리를 탐색하면서 생성된다. ID 기반 요소 선택은 AI에서 n개의 선택지 중 하나를 고르는 분류 문제로 바꾸게 되고 이는 어떤 요소를 가리키는지에 대한 모호성을 없앤다. 

 

ex) click[1582]라는 행동을 실행하면, ID 1582번에 해당하는 Add to Cart 버튼을 클릭하게 된다.

따라서 이러한 유연한 선택 방식으로 인해 다양한 형태의 agent를 지원할 수 있고 행동 수 같은 공정한 평가 기준이 유지된다.

 

 

User Role Simulation

같은 사이트를 사용하더라도 사용자별 권한에 따라 상호작용하는 방식이 달라지기 때문에 이를 반영해서 각 웹사이트에 대한 다양한 사용자 프로필을 만들어두었다고 한다. 따라서 다양한 사용자 역할을 시뮬레이션하면서 실험이 가능하다. 

 

 

3. Benchmark Suite of Web-Based Tasks

 

WebArena에서 테스트 가능한 벤치마크 과제에 대한 전반적인 개요이다.

 

WebArena는 실험 환경만 있는 것이 아니라 AI가 얼마나 잘 작동하는지 test할 수 있는 benchmark도 함께 제공된다. 자연어 instruction이 잘 수행되었는지 평가하는 기준도 제공한다. 

 

3.1 Intent Collection

 

현실적인 자연어 명령을 생성하기 위해 annotator에게 다음과 같은 세 개의 기준을 제공했다.

1) intent는 고수준이어야한다.

2) 의도가 창의적이어야한다.

3) 템플릿화할 수 있어야한다. 

 

그리고 GPT로 아이디어를 얻을 수 있도록 prompt를 제공했다.

 

Intent Analysis

241개의 템플릿과 812개의 실제 intent를 만들었다.

Intent의 분포

 

Intent들을 세 가지 주요 범주로 분류했으며 다음과 같다.

intent들의 세 가지 주요 범주

1) 정보 탐색: 텍스트 응답을 기대한다. 여러 페이지를 이동하는 탐색을 필요로 해서 일반적인 QA와는 다른다. 

2) 사이트 탐색: 목표는 보통 특정 정보 찾기, 특정 위치로 이동하는 것으로 한다.

3) 콘텐츠 및 설정 조작: 웹 환경 안에서 직접 조작을 요구하는 과제들이다. 

 

3.2 Evaluation Annotation

 

Evaluating Information Seeking Tasks 

보통 텍스트 응답을 요구하는데 이때 AI가 낸 정답이 사람이 정한 정답과 얼마나 잘 맞는지 평가해야한다. 세 가지 평가 방식이 존재한다.

1) exact_match: 딱 일치해야할 때

2) must_include: 키워드만 포함돼도 됨

3) fuzzy_match: 표현이 달라도 의미가 같으면 됨 (GPT-4로 의미 비교)

 

Evaluating Site Navigation and Content & Config Tasks

페이지를 이동하거나 글을 쓰거나 설정을 바꾸는 것들은 단순히 텍스트로 정답을 비교할 수 없기 때문에 웹 내부 상태를 프로그래밍 방식으로 검사해서 평가한다. 평가 과정은 두 단계로 나뉜다.

1) Locator: 해당 과제에 중요한 정보가 있는 곳을 찾아낸다. 상황에 따라 DB query, API call, JS element selection 중 하나로 구현된다. 

예를 들어 ID:5 과제에서는 마지막 상태에서 최신 글의 URL을 가져오고 JS code로 해당 글의 내용을 추출한다. 

 

2) keyword: 해당 콘텐츠 안에 포함돼야 할 핵심 키워드를 지정해 둔다. 

위의 예시에서 글의 URL이 nyc subreddit 인지 내용에 요청한 정보가 포함되었는지를 검증한다. 그리고 앞서 썼던 exact_match와 must_include 평가 방식을 재사용한다. 

 

 

Unachievable Tasks

 

웹사이트에 정보가 존재하지 않거나 기능 자체가 없는 불가능한 과제들도 포함시켜서 agent가 근거 없는 주장을 피하는지, 사실에 기반한 답변을 하는지 평가할 수 있도록 하였다. 

 

Annotation Process

여러 명의 사람들이 참여하고 정답의 annotation을 작성하였다.

 

Human Performance

170개의 템플릿에서 하나씩 뽑아 컴퓨터공학 석사생 5명에게 수행하도록 한 결과 평균적으로 78.24% 성공하였고 정보 탐색 과제에서 성능이 늦았다. 

 

 

4. Baseline Web Agent

 

WebArena에서 실험에 사용된 기본 LLM 기반 웹 에이전트들의 구성 방식에 대해 설명한다. 즉, 실제로 GPT 같은 모델이 어떻게 행동했는지, 어떻게 프롬프트를 줬고, 불가능한 과제는 어떻게 다루게 했는지를 설명한다. 

 

3가지 LLM을 가지고 두 가지 프롬프트 전략을 실험했다. 

1) 직접 예측: LLM이 현재 상테, 의도, 과거 행동을 보고 즉시 다음 행동을 예측하도록 요청했다.

2) CoT: LLM이 먼저 텍스트로 CoT를 한 뒤 그 다음 행동을 예측하도록 했다.

 

수행이 불가능하면 멈추라는 UA 힌트를 포함해서 프롬프트를 작성하였다. 

 

5. Result

 

GPT-4같은 최신 LLM도 성공률이 매우 낮다. 

SR:전체 과제에서 모델이 성공한 비율 / $SR_{AC}$: 실제로 수행 가능한 과제들에서의 성공률 / $SR_{UA}$: 수행 불가능한 과제를 잘 걸러낸 비율

 

 

5.1 Analysis

 

Do models know when to stop?

UA 힌트를 줬더니 진짜 불가능한 건 잘 걸러냈지만 가능한 것도 멈춰버리는 문제가 있다. 그래서 UA 힌트를 빼고 진행했더니 성공률이 올라갔고 불가능한 과제도 어느 정도 잘 인식했다.

 

Can a model maintain consistent performance across similar tasks?

 

관찰값과 실행 경로가 다르면, 템플릿이 같아도 모델이 헷갈리는 경우가 많다.

6. Conclusion

 

WebArena라는 현실적인 웹 실험 환경을 만들었고 812개의 자연어 기반 웹 과제와 정확한 평가 기준까지 함께 제공했다. 실험 결과 AI 성공률이 굉장히 낮은 것으로 파악됐고 더 똑똑한 AI agent를 만드는 연구가 필요하다.