Cua-Bench 任务验证完整指南:oracle 评估与手动演练实操
2026/9/13 11:31:52 网站建设 项目流程

Cua-Bench 任务验证完整指南:oracle 评估与手动演练实操

【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua

拿到一个现成的 Cua-Bench 任务,在交给 agent 跑分或编入数据集之前,必须完成一轮Cua-Bench 任务验证:先用任务自带的参考解(oracle)触发oracle 评估,确认参考答案确实能拿到成功奖励;再脱离 oracle 亲手操作一遍,确认交互路径可用。产出物是一份可交付的验证结论——任务可信、评估器可信、环境可信。

开工前 30 秒自检

  • Python 3.12 或 3.13 已就绪,uv 可用
  • 依赖已装好:CLI 本体 + 该任务 provider 要求的组件;模拟任务还要补上浏览器支持
  • 手头有一个本地任务目录,内含main.py;后文所有<task-path>都指向它
uv tool install 'cua-bench[browser]' uv tool run --from 'cua-bench[browser]' playwright install chromium cb --help

最后一条输出里应能看到runinteracttasktracedataset等命令组。命令全集见 CLI 参考。

先看后动:cb task info 检查生命周期

直接拉起环境再发现问题,代价是浪费一轮完整的启动与回收。所以上手前先用 run-a-task 指南里的核对口径过一遍定义:

cb task info <task-path>

逐项确认:

  • provider 与操作系统类型符合预期
  • 准备运行的 variant 真实存在
  • setup 与 evaluation 两项都带 ✓
  • 任务理应包含 oracle 时,solve 同样有 ✓

生命周期函数都写在main.py里,靠@cb.tasks_config@cb.setup_task@cb.solve_task@cb.evaluate_task声明;其中 tasks 的返回值是一组Task,CLI 按零基索引逐个选用。字段与签名细节查 任务定义参考。

双路径验证:参考解与手动演练互为镜像

这两条路径共用同一个环境、同一个 variant、同一个评估器,唯一差别是"谁在操作"。先看路径一的结果是否符合预期,再走路径二核对一致性——任何一边掉链子,都不能把锅甩给 agent。关键口径只有一条,记牢:oracle 跑挂是任务或环境自身的验证失败,该结果不能作为 agent 分数使用

oracle 跑分:一行命令出评估结果

选定 variant,加--oracle--no-wait,跑完立即关环境:

cb interact <task-path> \ --variant-id 0 \ --oracle \ --no-wait

执行过程会弹出一个可见桌面:setup 铺状态 → oracle 动手 → evaluate 收尾。教程里示例任务的文档化输出长这样(实际数值以你的任务为准):

✓ Solution complete ✓ Evaluation result: [1.0] ✓ Task completed successfully!

拿"报告的评估结果"去对任务定义里认定成功的奖励值,一致才算这一关通过。

手动走通:不靠 oracle 的评估闭环

路径一绿灯后,去掉--oracle重跑同一个 variant:

cb interact <task-path> --variant-id 0

在弹出的任务窗口里亲手把目标做完,回终端按 Enter,评估执行、环境关闭。既然评估器与 oracle 那次完全相同,手动得分若与 oracle 对齐,说明从"操作"到"计分"的整条链路都在预期之内——这就是 run-a-task 指南要求的手动演练评估闭环。

逐个 variant 验证,别漏掉任何一个

任务往往不止一个 variant。对剩下的每一个重复同一动作,只动--variant-id

cb interact <task-path> --variant-id <variant> --oracle --no-wait

注意"只换 id 不换逻辑"的边界:同一组生命周期函数被复用,但 prompt、metadata、computer 配置各走各的。换句话说,variant 0 全绿,推不出 variant 1 全绿——每个都得单独验证,别想当然。

踩坑速查

Q:Playwright 提示找不到浏览器可执行文件(模拟任务)A:在与 Cua-Bench 同一环境里补装 Chromium:

uv tool run --from 'cua-bench[browser]' playwright install chromium

Q:cb task info里 solve 没有 check mark,oracle 无从跑起A:main.py核对每个生命周期函数的装饰器与拆分是否正确,对照 任务定义参考里的支持列表;还没写过任务的,按 构建第一个 Cua-Bench 任务 把完整结构补齐。

Q:oracle 通过了,agent 跑却零分,怀疑评估器有问题A:先按本文双路径流程重验一遍手动演练,确认评估器对"正确操作"确实给成功奖励;仍复现就检查任务侧状态判定,而不是直接归因 agent。

交付自查

按 run-a-task 指南 的口径,三项全勾,任务即可放心交给 agent 或编入数据集:

  • cb task info:setup、evaluate 均带 ✓(应有 oracle 时 solve 也带 ✓)
  • 每个 variant 的cb interact 命令oracle 运行,报告的评估结果与任务定义的成功奖励一致
  • 手动演练完整走通"操作 → 回车 → 评估并关闭",且结果与 oracle 对齐

【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询