错误级联¶
做一道数学题。
一个 agent 每步成功率 95%。连续 10 步。如果每步独立,总成功率 \(0.95^{10} \approx 60\%\)。
已经够让人警觉了——单步看起来很可靠的系统,十步之后只剩六成把握。但这个数字有一个前提。
真实世界里,这个数字比 60% 更低。有时低得多。
复利直觉¶
先把那个假设说清楚。\(0.95^{10}\) 的计算暗含一个前提:每一步的成功概率互相独立。第三步是否成功,和第一步、第二步的结果无关。就像抛硬币,上一次正面朝上不影响下一次的概率。
在这个模型下,多步成功率是几何衰减:步数越多,成功率越低,但衰减速率是恒定的。每多一步,成功率乘以同一个系数。这就是复利的反面:复利让收益指数增长,几何衰减让可靠性指数收缩。
直觉上这已经够严酷了。95% 单步成功率,20 步之后只剩 \(0.95^{20} \approx 36\%\)。50 步之后,\(0.95^{50} \approx 7.7\%\)。
但几何衰减是乐观估计。它是所有多步衰减模式中最温和的一种,因为它假设步与步之间没有任何信息传递。每一步面对的都是一个"干净的"问题,不受前序步骤的影响。
在真实的 agent 任务中,这个假设几乎从不成立。
不是概率相乘¶
独立假设的核心是:每一步面对的问题状态不受前序结果的污染。但在多步 agent 任务中,前一步的输出就是下一步的输入。步间不是独立的骰子——它们共享状态。
这种耦合通过至少三条通道破坏独立性。
接口污染。 一个代码修改 agent 在第一步改了函数签名。改错了,参数类型对了,但语义变了。第二步调用这个函数时,面对的是一个类型检查通过但行为错误的接口。第二步的 agent 没有任何信号表明这个接口有问题,它看起来完全合法。第二步的失败概率不再是独立的 5%,而是被第一步的错误抬高到了远超基线的水平。
测试遮蔽。 前一步引入了一个回归错误。后续步骤跑测试时,看到了失败。但 agent 分不清哪些失败是自己刚刚造成的、哪些是前一步遗留的。测试信号——本来是纠错的关键手段——被噪声淹没了。这不只是"更难成功",而是"纠错机制本身被削弱了"。
上下文偏移。 在长时运行场景中,前序步骤的错误推理被写入了 context。后续步骤在这个被污染的 context 上推理。模型倾向于延续已有推理轨迹,而不是跳出来审视整条轨迹的正确性——具备扩展思考能力的新一代模型(如 o1、Claude extended thinking)在某些情况下能自发质疑先前推理,但这种能力并不稳定可靠,尤其在 context 被逐步污染的场景下。错误假设一旦进入 context,就像基因突变一样被复制到后续每一步。
三条通道,同一个效果:前一步的错误不只是让后一步多了一个独立的失败概率,而是改变了后一步面对的问题本身。
实证¶
理论推导说"比几何衰减更差"。差多少?
SWE-EVO (2025) 把代码修复从单 issue 扩展到了多步软件演进:同一个代码仓库上的连续修改,涉及多个 PR、跨文件依赖、递增的复杂度。结果很直接:任务涉及的 PR 数从易到难分别为 1.67、3.57、6.71、14.84,即使是最强的模型+框架组合也只解出了 25%,而 64% 的任务在所有组合下都无人解出。这些模型在单步修复任务(SWE-Bench Verified)上的成功率超过 70%。同一个模型家族,同一种代码修改能力,步数拉长之后表现断崖式下跌。
Beyond pass@1 (2026) 从另一个角度量化了这种超线性衰减。他们直接测量了步间错误的相关性,发现 \(\rho > 0\),即 agent 一旦走上错误路径,倾向于在错误中持续,而不是自发纠正。
| 模型 | 短任务 pass@1 | 几何衰减预测(长任务) | 实际(长任务) | 差距 |
|---|---|---|---|---|
| Qwen3 30B | 75.8% | ~33% | 22.2% | 1.5x |
| Mistral Nemo | — | 28.6% | 12.1% | 2.4x |
一种建模方式是:如果步间错误正相关(\(\rho > 0\)),任务成功概率从独立假设下的 \(e^{-\epsilon T}\) 恶化为约 \(e^{-\epsilon T - \rho \epsilon^2 T^2/2}\)——即关于步数 \(T\) 的超指数衰减。具体的函数形式取决于建模假设,但定性结论是一致的:正相关把线性衰减推向了超线性。
ReliabilityBench (2026) 发现了一个反直觉的现象:在故障注入条件下,更复杂的 Reflexion 架构(反思后重试)反而比简单的 ReAct 退化更快,故障恢复率 67.3% vs 80.9%。机制是:反思层试图从错误的工具返回中提取"教训",但这个教训本身就建立在错误数据上。用错误教训指导下一步,就是前面说的"上下文偏移"在架构层面的实例化。推理链越长,链上任意一环被扰动击穿后的放大效应越强。
这些测量基于特定时间点的特定模型版本——具体的数字会随模型迭代而变化。但数据指向的结构性结论是稳定的:多步 agent 任务的可靠性衰减是超线性的,根源在于步间错误正相关。这个结论不依赖于某一代模型的具体表现。
正反馈回路¶
错误级联不是一个孤立的过程。它和 context rot 形成了正反馈回路。
一步的错误污染了 context——错误的推理记录、错误的中间结果、错误的假设。被污染的 context 削弱了后续步骤的纠错能力,模型在噪声中推理,更容易犯错。更多的错误产生更多的 context 污染。更多的污染进一步削弱纠错。
这不是两个独立的退化过程碰巧同时发生。它们互相喂养。错误级联加速 context rot,context rot 加速错误级联。正反馈意味着一旦过了某个临界点,退化会自我加速,不需要外部扰动,系统自己就会越跑越偏。
GLM-4.5 Air 的数据是这个正反馈回路的直接指纹:短任务中只有 1% 的 episode 在第一个子任务前就终止,超长任务中这个比例升到 25%。早期终止率单调递增,说明前序步骤的累积错误不只是让后续步骤"更难成功",而是让系统连"开始尝试"的能力都在丧失。
复杂度作为放大器¶
但级联的剧烈程度不是一个常数。它强烈依赖于步骤之间的耦合度。
Beyond pass@1 按任务领域做了分层测量,结果差异悬殊:
| 领域 | 短任务成功率 | 超长任务成功率 | 衰减幅度 |
|---|---|---|---|
| 代码编辑 (SE) | 0.90 | 0.44 | -0.46 |
| 网络调研 (WR) | 0.80 | 0.63 | -0.17 |
| 文档处理 (DP) | 0.74 | 0.71 | -0.03 |
代码编辑的衰减是灾难性的,从 90% 掉到 44%,几乎腰斩。文档处理几乎不退化,从 74% 到 71%,差距在噪声范围内。
区别在哪?耦合度。
代码修改是严格依赖的多步任务。每一行改动都可能影响后续所有步骤的正确性。函数签名变了,调用方要跟着变;数据结构改了,所有读写这个结构的逻辑都要同步。一步的错误会沿着依赖链传播到每一个下游步骤。这正是接口污染和测试遮蔽的温床。
文档处理是弱依赖的。提取第三页的表格和提取第七页的段落之间几乎没有耦合。一个做错了,不影响另一个。步骤之间共享的状态极少,错误没有传播路径。
同样的模型,同样的步数,截然不同的衰减曲线。决定级联剧烈程度的不是步数本身,而是步骤之间的耦合度。步数只是给了级联发生的"机会";耦合度决定了每次机会被"利用"的程度。
ReliabilityBench 的可靠性曲面从另一个维度印证了这一点:容错维度(\(\partial R / \partial \lambda\))的退化梯度比鲁棒性维度(\(\partial R / \partial \epsilon\))更陡。基础设施故障(超时、限流)比输入扰动(措辞变化)更容易触发级联,因为基础设施故障直接破坏了步骤之间的状态传递通道,是对耦合关系本身的攻击。
错误级联是默认方向——不需要你做错什么,只需要系统运行足够多的步骤、步骤之间存在足够强的耦合。
有没有办法对抗这个方向?物理学对这个问题有一个经典的思想实验:Maxwell's Demon——一个能"看见"每个分子状态并做出精确干预的微型守护者。但 Maxwell 本人就知道,这个 demon 不是免费的。对抗熵增需要付出代价。代价的结构是什么?
延伸阅读¶
- Beyond pass@1. (2026). A Reliability Science Framework for LLM Agent Systems. arXiv:2603.29231. — 直接测量步间错误相关性 ρ > 0,把"超线性衰减"从直觉变成了有数字的结论
- SWE-EVO. (2025). Can LLM Agents Maintain a Clean Codebase? arXiv:2512.18470. — 把单 issue 修复拉长到多步软件演进,64% 的任务在所有模型-框架组合下无人解出
- ReliabilityBench. (2026). Evaluating LLM Agent Reliability Under Production-Like Stress Conditions. arXiv:2601.06112. — 故障注入下 Reflexion 反而不如 ReAct 的反直觉数据,揭示"反思"可能给正反馈回路加速
概念与实体¶
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
- Error Cascade — 本文的主题:多步任务中步间耦合导致的超线性可靠性衰减
- Context Rot — 错误级联与 context rot 形成正反馈回路,互相喂养
- Reliability Surface — ReliabilityBench 的可靠性曲面概念,量化容错与鲁棒性两个维度的退化梯度
- Reliability Decay — 超线性衰减的宏观表现:可靠性随步数和耦合度加速下降
- Agent Reliability Evaluation — 本文引用的三个基准测试属于这一评估体系