Skip to content

失效模式:为什么智能体会失效

MASFT(Berkeley,2025)将 14 种多智能体失效模式归类为 3 个类别。微软的分类法记录了现有 AI 失效如何在智能体场景中被放大。行业一线数据则收敛到五种反复出现的模式:幻觉动作、范围蔓延、级联错误、上下文丢失、工具误用。

类型: 学习 + 构建 语言: Python(标准库) 先修要求: 第 14 阶段 · 05(Self-Refine 与 CRITIC),第 14 阶段 · 24(可观测性) 耗时: ~60 分钟

学习目标

  • 说出 MASFT 的三个失效类别,以及每类至少四种具体模式。
  • 解释为什么智能体失效会放大现有 AI 失效模式(偏见、幻觉)。
  • 描述行业中反复出现的五种模式及其缓解方式。
  • 实现一个标准库检测器,用失效模式标签标注智能体运行轨迹。

问题

团队发布的智能体在 90% 的运行轨迹上都能工作。剩下 10% 的失败并不是随机噪声——它们会落在少数几个反复出现的类别里。一旦你能给它们命名,你就能监控它们并修复它们。

概念

MASFT(Berkeley,arXiv:2503.13657)

多智能体系统失效分类法。14 种失效模式被聚类到 3 个类别中。标注者之间的一致性 Cohen's Kappa 为 0.88 —— 说明这些类别可以被可靠地区分。

核心主张:失效是多智能体系统中的基础设计缺陷,而不只是可以靠更好的基础模型修复的 LLM 局限。

微软的智能体式 AI 系统失效模式分类

  • 现有 AI 失效(偏见、幻觉、数据泄漏)会在智能体场景中被放大。
  • 由自主性引出的新失效会出现:大规模非预期动作、工具误用、任务漂移。
  • 这篇白皮书就是智能体产品的风险登记表。

智能体式 AI 中的故障特征(arXiv:2603.06847)

  • 失效源自编排、内部状态演化和环境交互。
  • 不只是“代码写坏了”或“模型输出差”。

LLM 智能体幻觉综述(arXiv:2509.18970)

两种主要表现:

  1. 指令遵循偏差 —— 智能体没有遵循系统提示词。
  2. 长程上下文误用 —— 智能体遗忘了早先轮次中的上下文,或者错误使用了它。

子意图错误:遗漏、冗余、失序。

行业内反复出现的五种模式

Arize、Galileo、NimbleBrain 在 2024-2026 年的实地分析收敛到以下模式:

  1. 幻觉动作。 智能体调用了不存在的工具,或者臆造了参数。
  2. 范围蔓延。 智能体把任务扩展到了用户要求之外(创建额外拉取请求、发送额外邮件)。
  3. 级联错误。 一次错误调用触发连锁下游影响。一个虚构的 SKU 幻觉触发四次 API 调用——变成跨系统事故。
  4. 上下文丢失。 长时程任务忘记了早期轮次中的约束。
  5. 工具误用。 调用了对的工具却传错参数,或者干脆用了错误的工具。

级联错误是最致命的。智能体无法区分“我失败了”和“任务不可能完成”,并且经常会在收到 400 错误后仍幻觉出一条成功消息来闭环。

缓解方式:每一步都加门控

在推理链的每一步设置自动验证闸门,针对环境状态检查事实依据。具体来说:

  • 逐步安全分类器(见第 21 课)。
  • 工具调用参数校验(见第 06 课)。
  • 将检索内容与已知事实交叉核对(见第 05 课,CRITIC)。
  • 通过重新探测状态来检测成功幻觉(例如文件真的创建了吗?)。

失效监控通常会在哪些地方出错

  • 只给崩溃打标签。 大多数智能体失败会产出看起来“像是正确的”输出。你需要内容级检查。
  • 没有基线。 漂移检测需要一个“上次已知良好”基线;没有它,你就无法说“情况正在变差”。
  • 过度告警。 每个失败都触发一次页面告警。应进行聚类并限流。

动手构建

code/main.py 实现了一个标准库失效模式标注器:

  • 一个覆盖五种模式的合成运行轨迹数据集。
  • 每种模式对应的检测函数(基于工具调用、输出、重复动作的特征模式)。
  • 一个为每条运行轨迹打标签并报告模式分布的标注器。

运行它:

python3 code/main.py

输出:每条运行轨迹的标签与聚合后的分布,这是对 Phoenix 运行轨迹聚类能力的一种低成本复现。

使用它

  • Phoenix:用于生产环境中的漂移聚类(第 24 课)。
  • Langfuse:用于会话回放与标注。
  • 自定义:用于你的可观测性平台无法检测的领域特定特征。

交付它

outputs/skill-failure-detector.md 会生成适配你领域的失效模式检测器,并连接到运行轨迹存储。

练习

  1. 添加一个“成功幻觉”检测器:智能体返回成功,但目标状态没有变化。
  2. 给你构建过的某个产品中的 100 条真实运行轨迹打标签。哪种模式占主导?修复它的成本是多少?
  3. 实现一个“级联半径”指标:若第 N 步发生失败,它影响了多少后续步骤?
  4. 阅读 MASFT 的 14 种失效模式。选出三种适用于你产品的模式,并编写检测器。
  5. 把一个检测器接入 CI 任务:如果 >=5% 的运行轨迹被标注为某种模式,就让构建失败。

关键术语

术语人们怎么说实际含义
MASFT“多智能体失效分类法”Berkeley 的 14 模式分类
级联错误“涟漪式失败”一个早期错误在 N 个步骤中传播
上下文丢失“忘了约束”长时程轮次中丢掉早先轮次的事实
工具误用“工具错了 / 参数错了”调用本身合法,但调用方式错误
成功幻觉“伪造完成”收到 400 仍声称成功;状态未变化
范围蔓延“越界扩张”智能体做了超出要求的事
指令遵循偏差“不听指令”忽略系统提示词或用户约束
子意图错误“计划缺陷”执行计划中的遗漏、冗余、失序

延伸阅读