WebArena:真实网页环境代理基准
一个可自托管的真实网页环境,用于构建和评估自主代理。
证据显示仓库未提供权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确机制。README 仅提及需要 OPENAI_API_KEY,但未说明其使用范围或保护措施。依赖列表包含旧版本(如 openai==0.27.0, transformers==4.33.2),未提供安全审计或漏洞缓解。因此所有信任标准得分为 0。
自一致性:代码和测试显示环境接口一致,测试覆盖多种动作,但未提供失败消息的详细说明。依赖可用性:依赖列表固定版本,但未提供锁定文件或镜像,可能随时间变化。失败消息:测试中仅断言成功,未提供失败时的错误信息。因此自一致性得 2,依赖可用性和失败消息得 1。
受众和场景:README 明确面向研究者和开发者,提供多种使用场景。能力边界:文档说明环境用于评估,但未明确限制。触发精度:动作定义清晰,测试覆盖多种动作。环境适配:提供 Docker 和 AMI,但未说明所有平台。因此各得 2。
信息架构:README 结构清晰,有安装、快速入门、评估等章节。安装说明:提供详细安装步骤。命名稳定性:版本标签存在,但未提供变更日志。示例和 FAQ:提供 minimal_example.py 和资源页面,但无 FAQ。已知限制:未明确列出。许可证:Apache-2.0 完整。版本和变更日志:有 release 标签,但无详细变更日志。维护责任:未明确维护者。因此信息架构、安装、命名、示例得 2,已知限制、版本、维护得 1。
输出可用性:环境提供标准接口,输出可解析。边际价值:作为研究基准,提供独特价值。成本效益:需要自建环境,成本较高,但文档提供 AMI 降低部署成本。因此输出可用性和边际价值得 2,成本效益得 1。
声明可追溯:README 引用论文和 leaderboard,可验证。跨来源佐证:有论文和 leaderboard,但未提供独立验证。事实与推断分离:文档区分了事实和推荐,但未明确标注。因此声明可追溯得 2,其他得 1。
- 依赖版本较旧,可能存在已知漏洞,建议升级或进行安全审计。
- 未提供数据流透明性说明,使用 OPENAI_API_KEY 时需注意保护。
- 环境自托管成本较高,需评估资源需求。
这个 Agent 能做什么,适合哪些场景?
WebArena 是一个自托管的网页环境,提供真实且多样化的网站(如电商、论坛、GitLab 和地图)来测试自主代理。它包含代理交互的标准化接口、用于评估的基准测试套件,以及用于重现论文结果的工具。该环境支持通过 Playwright 进行浏览器交互,可观察状态如可访问性树。集成 AgentLab 框架可增强并行实验支持。它支持多种提示策略和模型(如 GPT-3.5),并提供可扩展的评估框架。
WebArena 提供基于浏览器的环境,代理可以执行操作(例如点击元素)并观察状态(例如可访问性树)。它包含 ScriptBrowserEnv 类,用于重置环境及执行动作。提供 run.py 评估脚本,并使用配置生成、自动登录和结果记录等功能。代理通过基于 ID 的动作进行操作,可通过预设计提示或自定义提示定制。环境支持 812 个任务,涵盖购物、论坛、GitLab 和地图等场景。
- 研究人员评估自主代理在真实网页导航任务上的性能。
- 开发人员基于可访问性观察和动作构建网络自动化代理。
- 工程师在受控环境中测试代理在购物、论坛和代码托管平台上的鲁棒性。
- 团队比较不同提示策略和模型在同一基准上的性能。
- 教育工作者在教学环境中演示网页代理行为。
这个 Agent 有哪些优点和局限?
- 提供真实的、多样化的网页任务环境及标准评估框架。
- 基于 Python 和 Playwright 构建,易于自定义和扩展。
- 支持多种观察空间(可访问性树)和动作空间。
- 需要自行托管所有测试网站(如购物、论坛等),部署复杂且耗时。
- 评估依赖外部 API(如 OpenAI),需要密钥且可能产生费用。
- 代码库更新已放缓,推荐转向 AgentLab 进行实验。
如何安装或部署这个 Agent?
需要 Python 3.10+。安装步骤:conda create -n webarena python=3.10; conda activate webarena; pip install -r requirements.txt; playwright install; pip install -e . 可选开发安装:pip install -e ".[dev]" 并 mypy --install-types --non-interactive browser_env agents evaluation_harness。
如何使用这个 Agent?
先设置环境变量(如 SHOPPING、REDDIT 等)指向自托管网站。然后运行 python scripts/generate_test_data.py 生成配置文件,执行 python browser_env/auto_login.py 获取自动登录 cookies,并设置 OPENAI_API_KEY。启动评估:python run.py --instruction_path agent/prompts/jsons/p_cot_id_actree_2s.json --test_start_idx 0 --test_end_idx 1 --model gpt-3.5-turbo --result_dir <your_result_dir>。
这个 Agent 与同类方案有什么区别?
与 VisualWebArena 相比,WebArena 侧重文本和可访问性树,而 VisualWebArena 强调视觉感知。AgentLab 提供了增强的并行实验和统一基准。
常见问题
运行评估需要哪些依赖?
如何自托管测试网站?
environment_docker/ 目录中提供了 Docker 配置,可预装所有网站。也可以使用提供的 Amazon Machine Image。是否支持多种语言?
评估后环境是否会重置?
environment_docker/README.md 中的说明重置环境。