基准:WebArena 与 OSWorld


文档摘要

基准:WebArena 与 OSWorld 本节摘要:通才 Agent 会调工具,但——它能驱动浏览器点过 20 步完成一次购物结账吗?能用纯键盘鼠标配好一台 Linux 机器吗?这正是 WebArena 与 OSWorld 回答的问题。WebArena(Zhou 等人,ICLR 2024)在四个自托管网页应用(购物站、论坛、类 GitLab 开发工具、企业 CMS)上布了 812 个长程任务,评估是基于执行的——通过 gym API 查状态:订单下了吗、issue 关了吗、CMS 页面更新了吗?发布时最好的 GPT-4 Agent 14.41%,人类 78.24%。

基准:WebArena 与 OSWorld

本节摘要:通才 Agent 会调工具,但——它能驱动浏览器点过 20 步完成一次购物结账吗?能用纯键盘鼠标配好一台 Linux 机器吗?这正是 WebArena 与 OSWorld 回答的问题。WebArena(Zhou 等人,ICLR 2024)在四个自托管网页应用(购物站、论坛、类 GitLab 开发工具、企业 CMS)上布了 812 个长程任务,评估是基于执行的——通过 gym API 查状态:订单下了吗、issue 关了吗、CMS 页面更新了吗?发布时最好的 GPT-4 Agent 14.41%,人类 78.24%。OSWorld(Xie 等人,NeurIPS 2024)在 Ubuntu、Windows、macOS 上布了 369 个真实计算机任务,用 1920×1080 截图作为观测,自由形式的键盘鼠标控制真实应用;发布时最好模型 12.24%,人类 72.36%。两者的核心失败模式没变:GUI 定位(像素到元素的映射,模型在 1920×1080 里难以可靠定位 UI 元素)与操作知识(哪个菜单有那个设置、哪个快捷键、哪个偏好面板——人类花多年积累的知识长尾)。后续的 OSWorld-G(564 题定位套件)把定位与规划分开测,OSWorld-Human(人工策展金轨迹)揭示顶尖 Agent 用的步数是必要的 1.4~2.7 倍——轨迹效率差距。读完本节,你应能理解为什么 Claude Computer Use、OpenAI CUA、Gemini 2.5 Computer Use(第 21 节)都把这两个基准当作训练靶子。

对应原课程:Phase 14 · Lesson 20 · benchmarks-webarena-osworld(原英文 phases/14-agent-engineering/20-benchmarks-webarena-osworld/docs/en.md)。前置:第 19 节(SWE-bench、GAIA)。

学习目标

阅读完本节,你应当能够:

  1. 描述 WebArena 的四个自托管应用,以及基于执行的评估为何重要。
  2. 解释 OSWorld 为何用真实 OS 截图而非无障碍 API。
  3. 说出 OSWorld 的两大主要失败模式:GUI 定位操作知识
  4. 总结 OSWorld-GOSWorld-Human 在基础基准之上加了什么。
  5. 解释为何只看成功率会漏掉轨迹效率这一维度。

一、问题与直觉

第 19 节的基准测的是「Agent 能不能产出正确的文本/代码补丁」。但还有一类任务问的是操控力:Agent 能不能在一个真实界面里,跨几十次点击、键盘输入、滚动,把一个目标做完?

这是 WebArena(网页)与 OSWorld(桌面)回答的问题。它们的难度在于:状态隐藏在像素里,每一步的可用动作空间巨大,且错误常常不可逆(点了「删除」就删了)。

WebArena(Zhou 等人,ICLR 2024)

  • 跨四个自托管网页应用的 812 个长程任务:购物站、论坛、类 GitLab 开发工具、企业 CMS。
  • 外加工具:地图、计算器、便签。
  • 评估是基于执行的,经 gym API——订单下了吗、issue 关了吗、CMS 页面更新了吗?
  • 发布时:最好的 GPT-4 Agent 达 14.41%,人类 78.24%

自托管的框定很关键——目标应用被钉死在特定版本,基准不会因为线上应用改版而抖动,可复现。

扩展

  • VisualWebArena —— 视觉定位任务,成功依赖解读图像(截图作为一等观测)。
  • TheAgentCompany(2024 年 12 月)—— 加终端与编码,更像真实的远程工作环境。

OSWorld(Xie 等人,NeurIPS 2024)

  • 跨 Ubuntu、Windows、macOS 的 369 个真实计算机任务
  • 自由形式的键盘鼠标,控制真实应用。
  • 1920×1080 截图作为观测。
  • 发布时:最好模型 12.24%,人类 72.36%

两大主要失败模式

  1. GUI 定位(Grounding) —— 像素到元素的映射。模型在 1920×1080 里难以可靠地定位 UI 元素(「点那个蓝色的提交按钮」——哪个像素是它?)。
  2. 操作知识(Operational knowledge) —— 哪个菜单有那个设置、哪个快捷键、哪个偏好面板。这是人类花多年积累的知识长尾,模型训练数据里覆盖稀薄。

后续

  • OSWorld-G —— 564 题定位套件 + Jedi 训练集。把定位从规划里拆出来单独测,这样你能区分「失败是因为找不到元素」还是「失败是因为计划错了」。
  • OSWorld-Human —— 人工策展的金动作轨迹。显示顶尖 Agent 用的步数是必要的 1.4~2.7 倍——这就是轨迹效率差距

为什么这很重要

Claude Computer Use、OpenAI CUA、Gemini 2.5 Computer Use(第 21 节)都是在 WebArena 与 OSWorld 塑造的工作负载上训练的。基准是靶子,生产模型是交付的答案——理解了基准,就理解了这些模型能力的边界。

⚠️ 三种基准陷阱:① 只看截图的评估——OSWorld 是截图驱动的;用一个走 DOM 或无障碍 API 的 Agent 在 OSWorld 上评估,会漏掉定位挑战,数字虚高。② 忽略轨迹长度——只打成功率,会漏掉 OSWorld-Human 揭示的 1.4~2.7 倍步数低效。③ 过期的自托管应用——WebArena 钉死了特定版本;不重新策展就升级,会破坏可比性。

二、从零实现

原课程 code/main.py 实现了一个玩具版网页 Agent 装置:

  • 一个最小「购物应用」状态机:list_itemsadd_to_cartcheckout
  • 3 个任务的金轨迹。
  • 一个脚本化 Agent 尝试每个任务。
  • 基于执行的评估器(状态检查)与轨迹效率指标(步数 vs 金)。

Step 1:购物应用状态机

class ShoppingApp: def __init__(self): self.cart, self.orders = [], [] def list_items(self): return CATALOG def add_to_cart(self, item): self.cart.append(item) def checkout(self): if not self.cart: return False self.orders.append(self.cart); self.cart = []; return True

Step 2:执行式评估(查状态,不查形状)

def evaluate(app, task): if task == "buy_mug": return any("mug" in o for o in app.orders) # 订单里真有 mug if task == "close_issue_42": return issues[42].status == "closed" # issue 真关了

Step 3:轨迹效率指标

def trajectory_efficiency(agent_steps, gold_steps): return agent_steps / gold_steps # 1.0 最佳;OSWorld-Human 显示顶尖 Agent 1.4~2.7

运行 python3 code/main.py 会输出每任务成功率与轨迹效率,镜像 OSWorld-Human 的方法论。

💡 设计要点:WebArena/OSWorld 与 SWE-bench 一样坚持查状态而非查形状——「订单下了吗」而非「Agent 点了哪个按钮」。轨迹效率则是它们新增的维度:一个成功的 Agent 如果用 3 倍步数,在生产里就是 3 倍的延迟与成本。

三、框架对比

基准 环境 任务数 评估方式 发布时模型/人类
WebArena 4 自托管网页应用 812 执行式(gym 查状态) 14.41% / 78.24%
VisualWebArena 同上 + 视觉定位 执行式 + 图像依赖
OSWorld 真实 Ubuntu/Win/macOS 369 截图观测 + 状态检查 12.24% / 72.36%
OSWorld-G 定位专项 564 定位准确率 拆分定位与规划
OSWorld-Human 金轨迹 步数比 揭示 1.4~2.7 倍低效

四、可复用产物

原课程 outputs/skill-web-desktop-harness.md:搭建一个网页/桌面 Agent 装置,带基于执行的评估与轨迹效率指标。包含为你的产品前 20 个任务捕获金轨迹、每周跑 Agent 对比的流程。

五、练习

  1. (Easy) 给玩具装置加第二个应用(论坛)。写 3 个任务加金轨迹。
  2. (Medium) 加每任务的轨迹效率报告。在你的玩具上,Agent 是金轨迹的 1 倍、2 倍还是 3 倍?
  3. (Medium) 实现一个「干扰工具」——金轨迹从不用的工具。脚本化 Agent 会被诱惑去用它吗?
  4. (Hard) 读 OSWorld-G。你如何在自己的评估里把定位失败与规划失败分开?
  5. (Hard) 读 WebArena 的应用 README。升级一个钉死的应用版本会破坏什么?

本节要点回顾

  1. WebArena:4 个自托管网页应用(购物/论坛/GitLab/CMS)、812 个长程任务、执行式评估(gym 查状态),发布时模型 14.41% / 人类 78.24%。
  2. 自托管是可复现的关键:应用钉死特定版本,不会因线上改版而抖动。
  3. OSWorld:369 任务跨 Ubuntu/Windows/macOS,1920×1080 截图观测,自由键盘鼠标控真实应用,发布时模型 12.24% / 人类 72.36%。
  4. 用截图而非无障碍 API:为了真实暴露 GUI 定位挑战;走 DOM/API 的 Agent 评估会数字虚高。
  5. 两大失败模式:GUI 定位(像素→元素)、操作知识(哪个菜单/快捷键/偏好面板,人类多年积累的长尾)。
  6. OSWorld-G:564 题定位套件 + Jedi 训练集,把定位从规划拆出来单独测。
  7. OSWorld-Human:金轨迹揭示顶尖 Agent 用 1.4~2.7 倍步数——轨迹效率差距。
  8. 基准是靶子:Claude Computer Use / OpenAI CUA / Gemini 2.5 Computer Use 都在这些工作负载上训练。
  9. 三大陷阱:只看截图评估(走 DOM 虚高)、忽略轨迹长度、过期自托管应用破坏可比性。
  10. 评估查状态不查形状 + 加轨迹效率维度:成功不够,还要看用了多少步——生产里步数即延迟与成本。

下一节,我们正式进入 Computer Use——把这些基准训练出的能力,变成可调用 API:Agent 如何看屏幕、定位元素、发出点击与键盘事件,以及它带来的全新安全边界。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U