跳到主要内容

基准对照与验证器设计

常用 Agent 基准的关键设计选择有何不同?​

基准被测能力任务来源环境扮演者验证器
τ²-bench客服场景下的人机交互与工具调用人工编写 + 组合生成用户模拟器 + 业务数据库四层检查按 reward_basis 聚合为二元
SWE-bench Verified软件开发(coding)GitHub 真实 issue,人工筛选代码仓库 + 测试套件FAIL_TO_PASS / PASS_TO_PASS 双重验证
AndroidWorld操作 Android 手机 GUI参数化模板实例化真实 Android 模拟器最终 UI 状态断言
OSWorld操作 Linux 桌面 GUI从预置的中间状态启动真实虚拟机134 个独立评估函数
Terminal-Bench操作 Linux 终端(coding)人工编写Docker 容器文件系统检查 + 真实执行
GAIA搜集信息的通用 AI 助手人工编写 + 专有附件开放互联网精确字符串匹配
  • 可迁移性: 公开基准分数难以直接指导产品决策,但其设计手法(验证深度、参数化生成、泄漏防范、质量维护)充分可迁移;
  • 详见: τ²-bench 的任务结构见 评估任务解剖与真实轨迹;

为什么验证器必须核实机器可独立复核的事实?​

  • 问题: Agent 很容易写一篇洋洋洒洒的报告说任务已经全部完成,但事实上根本没有完成;
  • 原则: 评估框架必须核实机器可独立复核的事实,而非 Agent 的自我陈述;

SWE-bench Verified 如何把 “修复完成” 拆成两个可证命题?​

  • FAIL_TO_PASS: 修复前失败、修复后通过,证明问题确已解决;
  • PASS_TO_PASS: 修复前后均通过,证明未引入新的缺陷;
  • 必要性: 只检验前者,Agent 可以通过删改妨碍通过的断言蒙混;只检验后者,等同于未作检验;
  • 附加: 额外确认测试自身的稳定性,排除时而通过时而失败的不稳定测试(flaky test);

OSWorld 的验证器能发现哪些表面完成?​

  • 规模: 配备 134 个独立评估函数,拥有完整的操作系统访问权限;
  • 可检查对象: 文件系统结构、进程状态、网络连接与应用内部状态;
  • 数据库任务: 不仅确认报告文件存在,还连接数据库核实 SQL 是否正确执行;
  • 浏览器任务: 分析 DOM 树、检查 cookie 与 localStorage、向后端发送验证请求确认表单确已生效;

Terminal-Bench 如何做到无法伪造?​

  • 例: 任务 build-linux-kernel-qemu 要求从源码构建 Linux 内核 6.9,在 start_kernel 中加入自定义 printk,生成 initramfs 并在 QEMU 中运行;
  • 成功标准: 启动日志中出现该自定义消息;
  • 结论: Agent 无法伪造输出,只能真正完成整个流程;

为什么自动化评估要从确定性验证起步?​

  • 共同点: 前述基准的验证器几乎都是确定性的——运行测试套件、断言 UI 状态、精确字符串匹配、代码执行四层检查;
  • 理由: 不引入额外模型开销、结果完全可复现、可像单元测试一样纳入持续集成、便于在不同模型之间排名;
  • 代价: 只能评估最终结果对不对,不能给出错误原因;
  • 右移条件: 当判断无法写成代码断言时,才转向 Rubric 与 LLM-as-a-Judge;