论文

从成功流程中追踪智能体失败

从成功流程中追踪智能体失败

针对基于LLM的智能体系统的失败归因(即识别失败轨迹中导致任务失败的步骤)对于调试和改进这些系统至关重要。现有方法要么依赖基于提示的流水线(计算成本高),要么需要在带步骤级错误标注的失败轨迹上进行后训练(标注成本高且难以扩展)。我们认为,实用的失败归因模型应轻量且无需失败数据的步骤级监督即可训练。为此,我们研究无监督失败归因:仅使用成功轨迹训练,在推理时对失败轨迹识别错误步骤。我们提出OAT,将这一问题建模为基于神经受控微分方程的单类学习,在潜空间中建模成功轨迹的动态模式。推理时,根据每个步骤与成功轨迹学习到的动态模式的偏差,计算异常分数,进而形成错误步骤集合。实验表明,仅用100条成功轨迹训练后,OAT比基于提示的基线快200–5000倍,同时在域内和域外数据集上分别以+20%和+7%的F1分数持续超越它们,证明OAT是诊断智能体系统失败的有前途且高效的方向。

论文精读

TL;DR OAT 仅用成功轨迹训练神经CDE,通过动态偏离检测LLM Agent的失败步骤,无需失败标注,速度比提示方法快数百倍,F1 提升超20%。

问题

随着 LLM-based 智能体在复杂任务中广泛应用,失败归因(failure attribution)——即定位轨迹中导致失败的步骤——成为调试和改进这类系统的核心需求。准确的归因不仅能指导 Prompt 或策略调优,还能为自动化重试、人工审核提供依据,因此业界对高效、可扩展的归因方法高度关注。

现有方法主要分为两类。提示管线(prompting-based pipelines)利用 LLM 自身对失败轨迹进行推理,但每次诊断需多次调用大模型,计算开销极大,且对复杂多步错误的定位精度有限。另一类方法在失败轨迹上做监督训练,依赖步骤级的错误标注,这类标注不仅成本高昂(需人工逐步审查),且难以覆盖多样化的失败模式,导致跨任务泛化能力受限。两者都难以满足实际部署中对轻量、快速和低标注成本的要求。

本问题核心难点在于:失败轨迹通常只提供轨迹级标签(成功/失败),缺乏步骤级监督,要从稀疏宏观信号中推断微观错误步骤,需要模型学习成功轨迹的隐含动态规律。此外,不同任务、不同 agent 架构下的失败模式差异巨大,模型需具备无监督异常检测能力,仅凭成功数据就能识别出偏离常态的步骤,这对表征学习和时序建模提出了很高要求。该研究直指 agent 规模化落地的痛点——低成本的故障诊断,是提升 agent 系统可靠性的关键技术瓶颈。

类似自动驾驶中通过正常驾驶数据训练异常检测模型,Oat 这类方法为 AI agent 的“黑盒”决策过程提供了一种轻量、可审计的诊断工具,有望集成到 agent 监控平台中,实现实时故障预警与根因分析。

核心洞察

  • 将失败归因视为成功轨迹的离群检测,无需昂贵的步骤级监督。传统方法依赖提示工程或需要标注失败轨迹中的错误步骤,成本高且难以扩展。OAT将问题转化为单类学习,仅利用成功轨迹训练模型学习正常动态模式,推理时通过检测偏离程度定位错误步骤,巧妙绕过了失败标注困境,为实际系统调试提供了可行路径。
  • 采用神经控制微分方程建模轨迹的动态演化,提升归因精度和效率。与基于离散步骤的RAG或提示流水线不同,OAT在连续潜在空间中用Neural CDE捕捉步骤间的依赖和时变模式,既能更好地隔离异常步骤,又极大减少推理计算量(速度提升数千倍),在域内和分布外场景均稳定提升F1分数,展示了连续动态模型在智能体失败诊断中的潜力。

方法

输入

  • 一条 LLM 智能体交互轨迹,由多个步骤组成,每个步骤可以是工具调用或思考步骤。
  • 每个步骤被转换为一个固定维度的表示向量(例如,从代理 LLM 的最后一层隐藏状态提取)。
  • 训练阶段仅使用成功轨迹,推理阶段输入失败轨迹,无需任何步骤级错误标注。

关键模块

  1. 连续轨迹建模
    将离散的步骤序列通过 natural cubic splines 插值为连续信号,随后使用 Neural Controlled Differential Equations (CDE) 在隐空间中捕获轨迹的动态演化模式。CDE 能够自然处理变长、不规则采样的序列,并通过求解一个微分方程得到整个轨迹的隐状态序列。

  2. 门控控制路径 (Gated Control Path)
    在 CDE 向量场中引入一个可学习的控制信号(如任务嵌入或时间信息),并通过门控机制进行调制。这使模型能够关注与任务相关的动态变化,提升对成功模式建模的精度。

  3. 单类学习范式
    将故障归因视为异常检测问题:只在成功轨迹上训练,使得 CDE 学到的动力学模式能够紧凑地描述正常行为。训练目标类似于 Deep SVDD,鼓励成功轨迹的隐状态聚集在某个中心附近,从而定义“正常”的隐空间区域。

  4. 步骤级异常评分
    推理时,将失败轨迹输入训练好的 CDE,计算每一步隐状态与正常模式中心的距离,作为该步骤的异常分数。分数越高,表示该步骤对动力学模式的偏离越大,越可能是导致失败的原因。

  5. 错误步骤识别
    支持两种检测策略:

    • Top-k:直接选取异常分数最高的前 k 个步骤作为错误步骤。
    • Conformal Prediction (CP):利用共形预测框架自适应确定阈值,保证对误检率的控制,输出统计意义上显著的错误步骤集合。

输出

  • 给定失败轨迹,输出一个错误步骤集合,标出最可能导致任务失败的若干步骤。

与同类方法的差异

区别于需要昂贵步骤级标注的有监督方法,和计算开销巨大的 prompt 流水线方法,OAT 完全无监督、仅使用成功轨迹即可训练,且推理速度比基于提示的方法快 200–5000 倍,同时在域内和跨域数据集上 F1 分别提升 +20% 和 +7%,展现出更强的泛化性和工程实用性。

实验

实验设计

实验分别在两个 Agent 失败归因数据集 MCP-AtlasWho&When 上进行,涵盖域内(in-domain)和域外(out-of-distribution, OOD)两种设置,以评估模型的泛化能力。

主要对比对象为基于提示(prompting)的基线方法,这些方法直接要求 LLM 对失败轨迹中的错误步骤进行判定,计算开销大且不稳定。

OAT 仅使用成功轨迹训练,不依赖任何失败数据或步骤级错误标注。训练集仅由 100 条成功轨迹构成,推理时对失败轨迹的每一步计算基于神经常微分方程(Neural CDE)动态模型的异常分数,以识别导致任务失败的步骤。

评价指标为步骤级错误检测的 F1 分数,并对比推理速度。

关键发现

  • 域内性能大幅领先:在 MCP-Atlas 域内测试中,OAT 的 F1 分数相对提示基线提升约 +20%,表明其在无失败数据监督下仍能精准定位错误步骤。
  • 强 OOD 泛化:在 Who&When 等跨域数据集上,OAT 保持 +7% 的 F1 提升,说明学习的成功轨迹动态模式具有通用性,不易过拟合特定域。
  • 效率优势极大:OAT 的推理速度比提示基线快 200–5000 倍,适合大规模线上诊断场景。

与基线对比的深度解读

基于提示的方法依赖 LLM 的语境理解,但每次推理需完整轨迹输入,随着轨迹长度增加成本指数上升,且易受 prompt 设计影响。OAT 将轨迹建模为连续时间动态,通过单类异常检测的思路仅学习成功流形的内部规律,因此推理时仅需一次前向传播,避免了昂贵的多次 LLM 调用。

这种范式转变意味着失败归因不再需要昂贵的失败数据标注,为 Agent 系统的可维护性提供了轻量化、可规模化的路线。同时,泛化性实验证实该动态建模捕获了超越具体工具或任务的高层执行规律,未来可拓展至更多智能体架构。

行业影响

落地场景

LLM 代理(Agent)已广泛用于客服自动化、内容审核、金融交易、自动驾驶决策等场景,但失败轨迹的归因诊断仍严重依赖人工或昂贵的步骤级标注。OAT 仅需少量成功轨迹即可无监督地识别失败步骤,特别适合高频调试迭代的产品化 agent 系统,如:

  • 智能客服:对话流中定位导致任务失败的具体轮次(如错误的意图识别或工具调用)。
  • 内容审核 agent:发现漏审/误审时,自动指出是规则匹配、语义理解还是外部 API 调用出错。
  • 自动化运维 agent:故障处置链中快速聚焦到产生错误操作的步骤。

商业价值

OAT 在降本增效两条线上都有直接贡献:

  • 降低标注与计算成本:无需昂贵且难扩展的失败步骤标注,训练仅需 100 条成功轨迹;推理速度比提示词方案快 200-5000 倍,极大节省 GPU 消耗。
  • 加速代理系统迭代:快速定位错误步骤后,研发团队可针对性修复 prompt 或工具配置,缩短调试周期,提升线上任务成功率,从而改善用户体验与业务指标。
  • 增强可解释性与信任:提供步骤级异常分数,便于向非技术岗位(如产品、运营)解释 agent 行为,降低采纳门槛。

与现有产品/工作流的接口

OAT 可作为一个轻量级推理中间件嵌入 agent 观测栈,接口清晰:

  • 输入:轨迹数据(步骤序列及其状态向量),可通过日志采集或框架钩子(如 LangChain、AutoGPT)获得。
  • 输出:每步异常分数及 Top-K 错误步骤集,支持两种检测模式(Top-K 或 Conformal Prediction)。
  • 集成方式:可部署为独立服务,接收来自监控系统的请求;或直接嵌入 agent 评测流水线,在回归测试中自动标记失败轨迹的问题步骤。对现有 agent 架构无侵入,仅需将轨迹表征(如中间层 hidden states)传入模型。

具体落地 use case

  1. 电商 AI 购物助手:当 agent 在商品搜索→比价→下单链条中失败时,OAT 可指出是错误解析了用户查询,还是调用了过时的促销 API,帮助运营团队在数小时内完成热修复,避免持续的业务损失。
  2. 内容平台自动审核 agent:在事后审计发现违规内容漏过时,OAT 快速归因到是敏感词库延迟更新、语义理解模型误判,还是外部规则引擎超时,使审核策略迭代从周级缩短到天级。

局限

  • **训练范式假设的局限性**:OAT 仅从成功轨迹中学习动态模式,隐式假设失败步骤会偏离该正常模式。但这对于某些失败类型可能不成立——例如,工具调用正确但参数错误(如使用了错误的时间格式),其局部轨迹仍可能与成功路径相似,导致异常得分不足。此外,成功轨迹中若含有偶然的探索性操作(如多余的工具调用),模型可能将其纳入正常动态,从而降低对类似异常操作的检测敏感度。这限制了方法在复杂、随机性强的智能体环境中的鲁棒性。
  • **可解释性与实用性差距**:OAT 输出的步骤级异常分数是连续数值,需通过 **Top-k** 或 **Conformal Prediction** 后处理才能形成归因集合,缺乏对“为什么该步骤出错”的直接语义解释。与基于提示的方法(如 CoT 分析)相比,开发者在调试时难以直观理解归因依据,可能还需要额外的人工复查步骤。在需要对归因结果高度可信的生产环境中,这种“黑盒分数”可能被质疑,而原文未探索如何生成自然语言解释以增强可操作性。
  • **实验评估的覆盖度有限**:实验主要在两个数据集(**MCP-Atlas** 和 **Who&When**)上进行,且训练仅使用 100 条成功轨迹,虽然证明了样本效率,但难以充分反映方法在更多样化任务、更长轨迹或更高随机性环境中的泛化能力。对于步骤间存在复杂因果链(如多步规划依赖)的失败案例,OAT 的检测效果未得到验证。此外,步骤表示对底层 LLM 的依赖性也未系统消融——如果代理 LLM 更换,重提取表示的成本和性能变化未知。
论文Samuel Yeh2026-07-14原文

相关内容