webarena-x/webarena
요약
WebArena는 자율 에이전트(autonomous agents) 구축 및 평가를 위한 독립적이고 자체 호스팅 가능한 웹 환경입니다. BrowserGym을 통한 병렬 실험 지원, 다양한 웹 탐색 벤치마크 통합, 그리고 개선된 엣지 케이스 처리 기능을 제공하여 에이전트 연구를 위한 표준 구현을 지향합니다.
핵심 포인트
- 자율 에이전트 연구를 위한 독립적이고 자체 호스팅 가능한 웹 환경 제공
- BrowserGym을 활용한 병렬 실험 및 VisualWebArena 등 주요 벤치마크 통합 지원
- 터미널 사용 및 코딩 작업을 포함하는 새로운 벤치마크 'TheAgentCompany' 도입
- 정확한 실험 재현을 위해 Docker 기반의 독립형 환경 설정을 권장
WebArena는 자율 에이전트 (autonomous agents) 구축을 위한 독립적이고 자체 호스팅 가능한 웹 환경입니다
Website • Paper • Leaderboard • TheAgentCompany
중요 사항
이 저장소는 논문에 보고된 결과를 재현하기 위한 WebArena의 표준 (canonical) 구현을 호스팅합니다. 웹 탐색 인프라는 AgentLab에 의해 크게 강화되었으며, 다음과 같은 몇 가지 핵심 기능을 도입했습니다: (1) BrowserGym을 사용한 병렬 실험 (parallel experiments) 지원, (2) 통합된 프레임워크 내에서 인기 있는 웹 탐색 벤치마크 (예: VisualWebArena) 통합, (3) 통합 리더보드 (leaderboard) 보고, (4) 환경의 엣지 케이스 (edge cases) 처리 개선. 귀하의 실험을 위해 이 프레임워크를 사용할 것을 강력히 권장합니다.
-
[2024/12/20] 터미널 사용 및 코딩을 포함하여 더욱 중대한 작업에 대한 새로운 벤치마크인 TheAgentCompany를 확인해 보세요.
-
[2023/12/21] 약 170개의 작업에 대해 인간 어노테이터 (human annotators)가 수행한 궤적 (trajectories) 기록을 공개합니다. 자세한 내용은 리소스 페이지를 확인하세요.
-
[2023/11/03] 다양한 기능 업데이트!
- 최신 실행 궤적 (execution trajectories) 업로드
- 모든 웹사이트가 사전 설치되어 있어 별도의 설치가 필요 없는 Amazon Machine Image 추가!
- WebArena에서 에이전트를 고통 없이 분석할 수 있게 해주는 Zeno x WebArena. 자신의 데이터를 Zeno에 업로드하려면 이 노트북을 확인하고, 기존 결과를 브라우징하려면 이 페이지를 확인하세요!
-
[2023/10/24] 전체 데이터셋을 재검토하여 발견된 어노테이션 (annotation) 버그를 수정했습니다. 현재 버전 (v0.2.0)은 비교적 안정적이며, 향후 어노테이션에 대한 대규모 업데이트는 예상하지 않습니다. 더 나은 프롬프트 (prompts)를 사용한 새로운 결과와 인간의 성능 비교는 논문에서 확인할 수 있습니다.
-
[2023/08/04] 자체 WebArena 환경을 호스팅하기 위한 지침과 Docker 리소스를 추가했습니다. 자세한 내용은 이 페이지를 확인하세요.
-
[2023/07/29] 환경 설정을 안내하는 주석이 잘 달린 스크립트를 추가했습니다.
# Python 3.10+
conda create -n webarena python=3.10; conda activate webarena
pip install -r requirements.txt
...
우리가 호스팅한 데모 사이트를 사용하여 브라우저 환경을 설정하고 상호작용하는 방법을 빠르게 살펴볼 수 있는 이 스크립트를 확인해 보세요. 이 스크립트는 교육 목적으로만 제공됩니다. 재현 가능한 (reproducible) 실험을 수행하려면 다음 섹션을 확인해 주세요. 요약하자면, WebArena를 사용하는 것은 OpenAI Gym을 사용하는 것과 매우 유사합니다. 다음 코드 스니펫은 환경과 상호작용하는 방법을 보여줍니다.
from browser_env import ScriptBrowserEnv, create_id_based_action
# 환경 초기화
env = ScriptBrowserEnv(
...
중요
정확한 평가를 보장하기 위해, 단계 1과 단계 2를 따라 본인만의 WebArena 웹사이트를 설정해 주세요. 데모 사이트는 콘텐츠를 더 잘 이해할 수 있도록 돕기 위한 브라우징 용도로만 제공됩니다. 812개의 예시를 평가한 후에는 여기의 지침에 따라 환경을 초기 상태로 리셋하세요.
독립형 환경 (standalone environment) 설정. 자세한 내용은 이 페이지를 확인해 주세요.
각 웹사이트에 대한 URL을 구성합니다.
export SHOPPING="<your_shopping_site_domain>:7770"
export SHOPPING_ADMIN="<your_e_commerce_cms_domain>:7780/admin"
export REDDIT="<your_reddit_domain>:9999"
...
단위 테스트 (unit tests)의 정확성을 보장하기 위해 GitHub workflow의 환경 변수를 업데이트하는 것을 권장합니다.
- 각 테스트 예시에 대한 설정 파일 생성
python scripts/generate_test_data.py
config_files 폴더에 생성된 *.json 파일들을 볼 수 있습니다. 각 파일은 하나의 테스트 예시에 대한 설정을 포함하고 있습니다.
- 모든 웹사이트에 대한 자동 로그인 쿠키 (auto-login cookies) 획득
mkdir -p ./.auth
python browser_env/auto_login.py
export OPENAI_API_KEY=your_key를 실행하세요. 유효한 OpenAI API 키는 sk-로 시작합니다.
평가 실행
python run.py \
--instruction_path agent/prompts/jsons/p_cot_id_actree_2s.json \ # 이것은 논문에서 사용한 추론 에이전트 (reasoning agent) 프롬프트입니다
--test_start_idx 0 \
...
이 스크립트는 GPT-3.5 추론 에이전트 (reasoning agent)로 첫 번째 예시를 실행합니다. 궤적 (trajectory)은 <your_result_dir>/0.html에 저장됩니다.
- 프롬프트 (prompts) 정의하기. 여기에는 해당 프롬프트가 나열된 두 가지 베이스라인 에이전트 (baseline agents)를 제공합니다. 각 프롬프트는 다음과 같은 키 (keys)를 가진 딕셔너리 (dictionary)입니다:
prompt = {
"intro": <작업 설명, 사용 가능한 액션 (action), 힌트 등을 포함하는 전체 가이드라인>,
"examples": [
...
- 프롬프트 생성자 (prompt constructor) 구현하기. Chain-of-thought/ReAct 스타일의 추론 (reasoning)을 사용하는 프롬프트 생성자의 예시는 여기에 있습니다. 프롬프트 생성자는 다음과 같은 메서드 (methods)를 가진 클래스 (class)입니다:
construct
: LLM에 전달할 입력 피드 (input feed)를 생성합니다.
llm_extract_action
: LLM으로부터 생성된 결과가 주어졌을 때, 액션 (action)에 해당하는 구절을 추출하는 방법입니다.
저희의 환경 (environment)이나 데이터 (data)를 사용하신다면, 저희의 논문 (paper)을 인용해 주세요:
@article{zhou2023webarena,
title={WebArena: A Realistic Web Environment for Building Autonomous Agents},
author={Zhou, Shuyan and Xu, Frank F and Zhu, Hao and Zhou, Xuhui and Lo, Robert and Sridhar, Abishek and Cheng, Xianyi and Bisk, Yonatan and Fried, Daniel and Alon, Uri and others},
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기