Agent 这次做对了,下次还会吗?先量一致性缺口,再写指南

· Hugging Face Blog · 日刊 2026-09-19 · 来源 ↗

IBM Research:GPT-4.1 ReAct 在 AppWorld 上 Mean@5 达 77.4%,五次全过只有 53%。一致性分析器找出易翻转步骤,注入指南后缺口从 24.4 降到 12 个百分点。

结论

IBM Research 在 Hugging Face 写:排演时能过的 Agent,直播同一请求却可能走另一条路。对帐务对账、合同义务检查这类任务,这不是「偶尔翻车」,而是可靠性问题。他们在 AppWorld 上用 ReAct(边推理边调工具)+ GPT-4.1:五次平均成功率 Mean@5 = 77.4%,但五次全过的任务只占 Pass^5 = 53.0%,中间差 24.4 个百分点——难题档能到 30 点。榜单通常只报前一个数。他们在已有的 ALTK-Evolve 里加了 一致性指南:先用 Consistency Analyzer 找出轨迹里「差一点就换决策」的步骤,再写成可注入的指南。缺口大约砍半(24.4 → 12.0),平均分没有掉。

要点

  • Mean@k 回答「平均多强」,用户问的是「再问一次还会过吗」。 Mean@k 是把同一任务跑 k 次再平均,排行榜上的「77% 准确」多半是它。Pass^k 是五次(或 k 次)全过的任务占比。它不是大家更熟的 Pass@k(k 次里至少一次成功,适合能验、能重试的代码生成)。三者永远满足 Pass^k ≤ Mean@k ≤ Pass@k。他们把 Mean@k − Pass^k 叫 一致性缺口(consistency gap)

  • 会做 ≠ 每次都做。 近四分之一的任务,题没变、Agent 有时过有时不过。这不是「再换一个更大模型」就能消掉的能力轴:模型可以又强又不稳。他们的实验温度是 0.0,所以缺口不是普通随机采样。

  • 翻转来自「扁平」的下一步分布。 Agent 每一步(调哪个 API、传什么参数、要不要重试)都来自下一个 token 的概率分布。的分布把质量集中在一个赢家,小扰动翻不了盘;的分布几个近并列 token 差不多高,GPU 浮点、请求批处理等平台噪声就能换赢家。轨迹里有几十步,单步小概率一连乘,整条路径就分叉。贪婪解码和固定种子只规定「怎么从分布里抽出 token」,不改变分布本身;托管接口上概率还会微漂,所以同一提示、同一模型、温度为 0,今天和明天仍可能解开不同的近并列。

  • 诊断不必标准答案,也不必把任务对着环境再跑一遍。 Consistency Analyzer 拿一条已记录轨迹,对每个决策点发一次请求、一次抽 k 个补全(默认 k=5),量这个位置输出抖不抖,写成记分卡。黑盒:不需要 logits、不需要模型内部、不需要新的工具调用。被标出来的步骤,再按 ALTK-Evolve 已有格式生成指南,走原来的存储和检索。

  • 指南针对的是不稳,不是这次恰好的失败。 文中一条真实例子来自「按 SimpleNote 数 bucket list 里完成了几项」:用按行锚定的正则数复选标记,不要用子串计数(标题图例常重复同一符号);搜索笔记时先确认匹配到的是不是那一篇。五路并行原先 3:2 分裂,注入后五次对齐。同场景相近任务上 Pass^5 仍 +13.0 点,只比原任务的 +16.0 少 3 点。更弱的 gpt-oss-120b 上,相近任务的增益(+8.7)甚至超过原任务(+6.0)。

  • 缺口砍半,平均分还略升。 AppWorld test_normal 168 题、每题一条基线轨迹、再测 5 次:Pass^5 53.0% → 69.0%,Mean@5 77.4% → 81.0%,缺口 24.4 → 12.0。中等 +22.9、困难 +14.3(相对都大约 +45%),简单题本来就稳,+12.2。他们把「Mean@5 不下降」当成硬条件:用平均分换 Pass^k,只是把不可靠挪了个位置。

怎么做

面向已经在评、在上线 Agent,却只看一次跑分的工程师:

  1. 同一任务至少跑 3 次,Mean@k 和 Pass^k 一起报。 k=3 就能露出「平均还行、但复现不了」的任务。只报第一次成功,等于主动忽略用户再点一次时的体验。

  2. 按难度分层,不要只看总平均。 原文里难题档缺口最大(约 30 点)。你最难的那一档,单个平均数最会骗人。

  3. 先稳住决策,再考虑换更大模型。 更大模型通常抬 Mean@k,不一定缩小缺口。温度 0 和固定种子也挡不住扁平分布上的近并列。

  4. 用已有轨迹做诊断,不要为了找不稳步骤把生产流量对着环境重放。 每个决策点一次额外模型调用(默认抽 5 个补全)就够;不需要标准答案,也不需要再打真实 API。这是他们强调「能用在生产流量上」的原因。

  5. 把反复翻车的步骤写成可检索的指南,而不是再加一条空泛 system prompt。 对得上的写法像「数复选框用按行正则,不要 count('☐')」,而不是「请保持一致」。同一类任务复用,而不是给单条轨迹打补丁。

  6. 要复现他们的流水线,走文中给出的开源仓库。 ALTK-Evolve 已包含 Consistency Analyzer 和一致性指南生成。自己的 Agent 若也有「同题再跑就分叉」,他们欢迎用具体例子开 issue / discussion。

关键图表

从一条轨迹到一致性指南:分析器标出易翻转步骤,生成器写入记忆,推理时再检索回 Agent IBM Research 原文:Observability 里的轨迹 → Consistency Analyzer 打分 → 生成指南入库 → 下次推理再注回上下文