WebArena:真实网页环境代理基准
一个可自托管的真实网页环境,用于构建和评估自主代理。
- Star 数
- ★ 1.6k
- 最近更新
- 10 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 39/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 研究人员评估自主代理在真实网页导航任务上的性能。
- 不适合
- 只想快速试用、不愿自托管多个网站和数据库的团队
- 无法提供 OpenAI API 密钥或承担调用费用的用户
这个 Agent 能做什么,适合哪些场景?
WebArena 是一个自托管的网页环境,提供真实且多样化的网站(如电商、论坛、GitLab 和地图)来测试自主代理。它包含代理交互的标准化接口、用于评估的基准测试套件,以及用于重现论文结果的工具。该环境支持通过 Playwright 进行浏览器交互,可观察状态如可访问性树。集成 AgentLab 框架可增强并行实验支持。它支持多种提示策略和模型(如 GPT-3.5),并提供可扩展的评估框架。
WebArena 提供基于浏览器的环境,代理可以执行操作(例如点击元素)并观察状态(例如可访问性树)。它包含 ScriptBrowserEnv 类,用于重置环境及执行动作。提供 run.py 评估脚本,并使用配置生成、自动登录和结果记录等功能。代理通过基于 ID 的动作进行操作,可通过预设计提示或自定义提示定制。环境支持 812 个任务,涵盖购物、论坛、GitLab 和地图等场景。
- 研究人员评估自主代理在真实网页导航任务上的性能。
- 开发人员基于可访问性观察和动作构建网络自动化代理。
- 工程师在受控环境中测试代理在购物、论坛和代码托管平台上的鲁棒性。
- 团队比较不同提示策略和模型在同一基准上的性能。
- 教育工作者在教学环境中演示网页代理行为。
如何安装或部署这个 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 有哪些优点和局限?
- 提供真实的、多样化的网页任务环境及标准评估框架。
- 基于 Python 和 Playwright 构建,易于自定义和扩展。
- 支持多种观察空间(可访问性树)和动作空间。
- 需要自行托管所有测试网站(如购物、论坛等),部署复杂且耗时。
- 评估依赖外部 API(如 OpenAI),需要密钥且可能产生费用。
- 代码库更新已放缓,推荐转向 AgentLab 进行实验。
这个 Agent 与同类方案有什么区别?
与 VisualWebArena 相比,WebArena 侧重文本和可访问性树,而 VisualWebArena 强调视觉感知。AgentLab 提供了增强的并行实验和统一基准。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| WebArena:真实网页环境代理基准 当前 | 39 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.6k | 10 个月前 | Python | — |
| Auto Browser | 62 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 908 | 今天 | Python | OpenAI API · Claude API |
| Browser Use | 47 · 缺口较多 | 云服务 / SaaS免费版 + 付费版 | ★ 118k | 1 天前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| Obscura 无头浏览器 | 75 · 表现良好 | 命令行工具免费 | ★ 29k | 3 天前 | Rust | Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库未提供权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确机制。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。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 依赖版本较旧,可能存在已知漏洞,建议升级或进行安全审计。
- 未提供数据流透明性说明,使用 OPENAI_API_KEY 时需注意保护。
- 环境自托管成本较高,需评估资源需求。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * Fix homepage url bugs. Add instructions on setting it up by @shuyanzhou in https://github.com/web-arena-x/webarena/pull/28 * Fix Mangeto base URL redirect problem by @shuyanzhou in https://github.com/web-arena-x/webarena/pull/29 * 34 os agnostic select all by @oootttyyy in https://github.com/web-arena-x/webarena/pull/43 * Improve Evaluation Annotation by @shuyanzhou in https://github.com/web-arena-x/webarena/pull/44 * Fix evaluation annotation for example 301, 302 by @shuyanzhou in https://github.com/web-arena-x/webarena/pull/47 …在 GitHub 查看 ↗ -
发布说明摘录
The first release of WebArena See our [README](https://github.com/web-arena-x/webarena) for details! Thanks @shuyanzhou @lwaekfjlk @optimass @urialon Full Changelog: https://github.com/web-arena-x/webarena/commits/latest在 GitHub 查看 ↗
常见问题
运行评估需要哪些依赖?
如何自托管测试网站?
environment_docker/ 目录中提供了 Docker 配置,可预装所有网站。也可以使用提供的 Amazon Machine Image。是否支持多种语言?
评估后环境是否会重置?
environment_docker/README.md 中的说明重置环境。