77.4 分为什么还不够
在 AppWorld 的 test_normal 评测中,一个基于 GPT-4.1 的 ReAct 智能体,五次运行的平均成功率是 77.4%。这个数字看起来足以支持“系统大多数时候能完成任务”的判断,但它没有回答上线团队更关心的问题:用户把同一个请求再交给它一次,结果会不会改变。
把同一批任务各运行五次后,只有 53.0% 的任务在五次执行中全部成功。平均成功率与重复全成功率之间相差 24.4 个百分点,困难任务上的差距达到 30 个百分点。换句话说,接近四分之一的任务不是明确的“会”或“不会”,而是处在一种时而成功、时而失败的状态。排行榜通常展示 Mean@5,生产系统却更接近 Pass⁵ 所描述的场景:每一次都必须过关。

不稳定藏在每一个微小选择里
ReAct 智能体不是一次性给出答案,而是不断决定下一步做什么:调用哪个 API、传入什么参数、是否重试,或者如何理解工具返回的结果。每个决定都来自模型对下一个词元的概率分布。当一个候选明显领先时,微小的计算扰动通常不会改变选择;但当几个候选接近并列时,浮点计算、请求批处理等平台因素就可能让路径发生分叉。
这解释了为什么把温度设为零或固定随机种子,并不能自动带来生产级确定性。问题不一定来自模型“能力不足”,而可能来自一处脆弱的局部决策。一次不同的 API 参数、一次不同的搜索解释,经过多步工具交互后,最终就可能把整个任务带向失败。对多步骤智能体而言,可靠性因此是执行链条的属性,而不只是基础模型的属性。
把一次轨迹变成稳定性修复
Consistency Analyzer 的思路不是把整个任务反复重跑,而是从智能体已经记录的一条轨迹中寻找“容易翻转”的节点。它对轨迹里的每个决策点重新请求多组补全,默认一次得到五个结果,观察哪些步骤很容易出现不同选择。这个过程不需要标准答案,也不依赖模型内部信息,因此更像是对执行路径做离线脆弱性扫描。
随后,ALTK-Evolve 把诊断结果整理成可复用的一致性指导规则,在相似任务的推理过程中注入。AppWorld 的示例显示,原本因为计数方式不明确而出现分歧的任务,可以被规则具体约束为使用行锚定正则、核验多个搜索结果。这里的关键不是让模型“更聪明”,而是把一次偶然暴露出的脆弱选择,转化为之后可以重复使用的操作约束。
结果改善了,但没有消除风险
加入一致性指导规则后,Pass⁵ 从 53.0% 提升到 69.0%,一致性差距从 24.4 个百分点缩小到 12.0 个百分点。Mean@5 也从 77.4% 提升到 81.0%,因此这次修复没有用平均准确率换稳定性。相似任务上的 Pass⁵ 提升了 13.0 个百分点,说明规则并不只对原来的那一道题有效。
但这仍不能被解读为智能体已经可靠。分析器依赖一条已记录轨迹,它能发现这条路径上的不稳定点,却未必覆盖所有没有被走过的替代路径。方法还需要额外的离线模型调用,当前材料明确验证的范围主要是 AppWorld 及相关模型组合。对金融核对或合同义务检查这类不可随意重试的流程,合理的工程判断不是只看一次成功率,而是同时记录 Mean@k、Pass^k 和具体的翻转节点,再决定哪些任务必须加入验证、恢复或人工确认。