你的智能体一次成功,下次还能复现吗?IBM 提出一致性指南解决任务波动问题
智能体的成功可能是偶然的
你有没有遇到过这种情况:智能体在测试时完美完成任务,可一到演示或生产环境,同样的请求却失败了?这不是玄学,而是当前智能体系统普遍存在的可靠性问题。
在金融对账、合同义务核查等关键场景中,这种“这次行、下次不行”的行为是不可接受的。然而,大多数评测基准掩盖了这一问题——它们只报告平均成功率(Mean@k),比如“77% 准确”。但用户真正关心的是:我再问一遍,它还能做对吗?
IBM 研究团队在 AppWorld 基准上用 ReAct 架构搭配 GPT-4.1 进行了五次重复实验,结果令人意外:平均成功率为 77.4%,但能在全部五次运行中都成功的任务仅占 53.0%。两者之间存在 24.4 个百分点的一致性差距。这意味着近四分之一的任务,智能体处于“有时行、有时不行”的不稳定状态。
Pass^k:被忽视的关键指标
要理解这个问题,得先厘清几个容易混淆的指标:
- Mean@k:运行 k 次,取平均成功率。这是排行榜上的标准数字。
- Pass@k:k 次中至少有一次成功。适用于可验证并重试的场景(如代码生成)。
- Pass^k:k 次全部成功。这才是用户实际体验到的可靠性。
Pass^k ≤ Mean@k ≤ Pass@k,三者关系恒成立。
Pass^k 回答的是“这个任务是否稳定可靠”,而 Mean@k 只说明“整体表现尚可”。一个高平均分的智能体,可能只是靠运气在部分任务上反复试错成功,而非真正掌握了方法。
值得注意的是,这种不稳定性并非模型能力不足所致。即使使用强大的 GPT-4.1,在 temperature=0.0(即确定性解码)的设置下,依然存在显著波动。这说明问题出在决策过程本身,而非随机采样。
为什么智能体会“摇摆”?决策分布的形状是关键
智能体每一步决策——调用哪个 API、传什么参数、是否重试——都源于语言模型对下一个 token 的概率分布。这个分布的形状决定了稳定性:
- 尖锐分布(sharp):大部分概率集中在单一 token 上,其他选项远低于它。这种决策抗干扰能力强,重复运行结果一致。
- 平坦分布(flat):多个 token 概率接近,谁胜出近乎抛硬币。微小扰动(如 GPU 浮点运算差异、请求批处理顺序)就可能导致不同结果。
由于智能体任务通常包含数十个连续决策,即使每步只有 5% 的翻转概率,整条轨迹最终分叉的可能性也会急剧放大。这就是 24.4 个百分点差距的来源。
更重要的是,调整解码参数无法根治此问题。固定随机种子或使用贪婪解码只能控制“如何从分布中选 token”,却无法改变分布本身的平坦程度。在托管服务端,模型内部状态的微小变化仍可能导致近似平局的 token 在不同时间胜出。
诊断 + 修复:一致性指南的诞生
IBM 团队提出了一套两阶段方案,集成到其开源工具 ALTK-Evolve 中:
第一阶段:用 Consistency Analyzer 定位“摇摆点”
该工具只需一条已记录的轨迹(trace),无需真实环境重放,也无需标注答案。它对轨迹中的每个决策点进行受控重采样:
- 提取该步的上下文(prompt)。
- 调用模型一次,但要求返回 k 个补全结果(默认 k=5)。
- 统计这 k 个结果的多样性,计算该决策点的一致性得分。
整个过程完全黑盒,不依赖 logits 或模型内部信息,仅需常规 API 调用。最终输出一份“风险决策清单”,标出哪些步骤最可能在下次运行时翻车。
第二阶段:生成针对性的一致性指南
每个高风险决策点都会触发一条新指南的生成。这些指南采用 ALTK-Evolve 标准格式,可直接注入现有检索流程。例如,在 AppWorld 任务“统计 SimpleNote 笔记中已完成的待办事项数量”中,系统自动生成:
[指南1] 统计笔记内容中的复选框标记时,应使用行锚定的正则表达式匹配,而非简单子串计数——笔记标题常在图例行中重复标记符号。
[指南2] 查询笔记的搜索结果必须验证:检查是否存在多个匹配项,并确认选中正确笔记后再继续。
这些规则并非针对单一任务的“打补丁”,而是提炼出跨任务通用的不稳定模式(如字符串计数陷阱、未验证的搜索结果)。
官方 2 分钟演示视频直观展示了效果:应用指南前,五次并行运行因计数策略分歧分裂为 3:2;应用后,五次结果完全一致。
实验结果:差距减半,准确率不降反升
研究团队在 AppWorld test_normal(168 个任务)上评估了该方法:

- 整体 Pass^5 从 53.0% 提升至 69.0%,一致性差距从 24.4pp 缩小到 12.0pp。
- 平均准确率(Mean@5)从 77.4% 升至 81.0%,证明修复稳定性并未牺牲能力。
- 中等和困难任务受益最大:中等难度 Pass^5 相对提升 44%,困难任务提升 45%。
指南具有泛化能力
更关键的是,这些指南不是过拟合单条轨迹:
- 应用于同场景下的相似任务时,Pass^5 仍提升 +13.0pp(仅比同任务低 3pp)。
- 在较弱模型 gpt-oss-120b 上,同任务 Pass^5 提升 +6.0pp(10.1% → 16.1%),而相似任务提升 +8.7pp,甚至超过同任务增益。这表明指南捕捉到了可迁移的失败模式,而非死记硬背。
给智能体开发者的建议
如果你正在构建或部署智能体系统,以下实践值得采纳:
- 同时报告 Pass^k 和 Mean@k。即使 k=3,也能暴露隐藏的可靠性问题。
- 警惕难度与差距的正相关。任务越难,平均指标越具欺骗性。
- 不要盲目升级模型。更强的模型可能提高 Mean@k,但不一定缩小一致性差距——这是正交维度。
- 利用轻量级诊断。Consistency Analyzer 仅需每个决策点多一次 API 调用(k=5 补全),无需重放任务或人工标注,适合生产环境日志分析。

尝试与参与

IBM 已将 Consistency Analyzer 和一致性指南生成功能集成到开源项目 ALTK-Evolve 中。完整方法论详见 arXiv 技术报告。

如果你在自己的智能体中观察到类似“摇摆行为”,欢迎通过 GitHub 提交 issue 或讨论。真实案例将帮助团队优化下一代工具。
附录:指标定义速查
- Mean@k:k 次运行的平均成功率(主流“准确率”定义)。
- Pass^k:k 次运行全部成功的任务占比(用户实际体验)。
- Pass@k:k 次运行中至少一次成功的任务占比(适用于可重试场景)。
- 一致性差距:Mean@k − Pass^k(单位:百分点)。