跳到主要内容

从 Benchmark 报告到系统改进

看到分数下降时应先检查什么?​

  • 原则: 看到 Agent 表现下降时,应先检查评测系统本身,再动 Agent;
  • 误区: 看到分数下降就立刻修改 Agent 代码,可能基于失真信号调整方向,修改方向从一开始就是错的;
  • 评测系统常见错误来源: 运行环境资源不足导致进程被杀(表现为随机失败)、验证器本身有 bug 把正确答案判为失败、测试用例与生产场景之间脱节;
  • 辨别方式: 这些问题在结果数字上都跟模型退化一模一样,只有审查完整的轨迹才能区分;

如何读懂 Benchmark 报告?​

  • 案例: 最初的报告记录了 116 项任务各跑一次的结果,总成功率约为 88%;
  • 失败形态: 四项 SystemWifiTurn* 任务里有三项失败,轨迹中反复出现来回导航、无法确认最终状态等现象;
  • 两种解释: 可能是 Agent 不知道设置入口,也可能是它拿到的界面信息不完整;
  • 正确读法: 先找失败集中在哪些任务和能力上,再回放轨迹,分清问题出在看、想、做还是验;
  • 只盯总分的后果: 小而集中的失败簇容易被忽略;只增加最大步数,又可能把 “看不见界面” 误当成 “不够耐心”;
  • 范围控制: 先把范围缩到四项 Wi-Fi 任务,目的只是用较低成本判断病因,不是估算系统的整体水平;

AndroidWorld Wi-Fi 子集的三轮实验得到什么结论?​

实验只改了什么对照组→实验组成功率实验组/对照组 token下一步
H1增加 Wi-Fi 设置的导航提示与最终状态检查要求25%→25%0.47×没有提高成功率,沿用原提示
H5把 API 35 上不兼容的 accessibility feed 换成 UIAutomator 元素树25%→100%2.498×效果明显但太费 token,继续优化
H5C精简元素树,删除不可见、没有文字、也不能操作的容器节点100%→100%0.506×成功率不变、token 减半,进入完整复测
  • 实验控制: 三轮始终使用相同的模型、任务参数、随机种子、步数上限和模拟器,并交替安排两组的运行顺序;
  • 假设来源: H1 认为 Agent 只是 “不知道路”;H5 转而检查 Agent 到底 “看见了什么”;
  • 结论一: 提示写得更详细也补不回 Agent 根本没有看到的信息,遇到这类失败应先检查输入,而不是继续堆提示词;
  • 结论二: 输入也不是越多越好——完整元素树解决了 “看不见” 的问题,却带来大量无用 token;删除无语义节点后四项任务仍全部成功,token 又减少约一半;
  • 结论三: 整个过程中没有更换模型,仅仅调整 Harness 如何表示界面,就先后解决了 “能不能做成” 和 “做成是否划算” 两个问题;
  • 系统视角: 这本质上是 Harness 迭代优化方法论,用评估数据定位薄弱环节(上下文不足、约束缺失、验证不够、反馈不及时),见 Harness工程;

一轮证据支持多大的下一步?​

  • 判据: 一轮证据只支持与它规模相称的下一步;
  • H5C 的资格: 通过这四项任务的检查只说明它值得进入下一轮,并不等于可以部署;
  • 完整复测要求: 补齐第三方应用,在 Pixel 6 / API 33 标准环境中对 116 项任务各跑 5 个随机种子;除成功率不能下降外,还要确认 token 不超过原方案的 75%、延迟不超过 1.5 倍;
  • 报告纪律: 在完整复测之前,不能把子集上的 4/4 写成系统整体 100%;
  • 迭代节奏: H1 失败让我们不再继续堆提示词;H5 找到了正确方向也暴露了成本问题;H5C 解决成本问题后才获得扩大测试的资格;
  • 好的报告: 不只给出一个分数,还应写清结论适用于哪里、哪些底线没有通过、下一轮要验证什么;