欢迎光临
我们一直在努力

Agent‑FT:面向工具调用智能体的故障感知微调范式

Agent‑FT:面向工具调用智能体的故障感知微调范式

原文网页:https://arxiv.org/html/2610.31461v1 PDF链接:https://arxiv.org/pdf/2610.31461v1 arXiv编号:arXiv:2610.31461v1 [cs.AI]

摘要 工具调用智能体执行复杂任务时会出现大量典型故障:无效工具参数、工具调用格式错误、循环调用、错误终止、过度搜索。传统监督微调SFT直接使用成功轨迹做训练,缺少对故障案例的系统性利用;简单把成功、失败轨迹混合训练,会出现正负样本冲突,性能提升有限甚至发生退化。 本文提出Agent‑FT故障感知微调范式,专门利用真实运行产生的故障交互轨迹来优化工具调用智能体。该范式分为三个核心模块:①故障诊断器,自动解析交互轨迹识别故障类型、定位故障发生步骤;②对抗轨迹重写器,在保留原始任务目标前提下,对故障轨迹做可控改写,生成修正后的高质量样本;③分层损失训练策略,区分原始成功样本、改写修正样本、原始故障样本,采用差异化损失权重,规避正负样本冲突。 构建Agent‑FT‑Trace数据集,包含来自WebArena、OSWorld、ToolBench的3268条多步交互轨迹,其中2106条为故障失败轨迹。在Qwen、Llama3系列基座开展评测;实验表明Agent‑FT相比普通SFT基线,端到端任务成功率提升4.7‑8.3个百分点;对比直接混合成败轨迹训练基线提升3.9‑6.8个百分点。消融实验验证故障诊断、对抗轨迹重写、分层损失各模块贡献。完整故障轨迹数据集、重写脚本、训练代码全部开源。

关键词 工具调用智能体;故障感知微调;轨迹重写;智能体故障;监督微调;多步交互;失败轨迹复用

目录

  • 引言
  • 相关工作
  • Agent‑FT故障感知微调范式](#3‑agent‑ft故障感知微调范式)
    • 3.1 智能体典型故障分类
    • 3.2 整体流水线总览
    • 3.3 故障诊断器
    • 3.4 对抗轨迹重写器
    • 3.5 分层差异化损失训练策略
  • 实验设置
  • 实验结果
    • 5.1 主实验端到端任务成功率
    • 5.2 故障类型细分改进效果
    • 5.3 消融实验
  • 讨论与局限性
  • 结论
  • 附录简要说明
  • 1 引言

    工具调用大模型智能体通过多轮推理‑工具交互完成复杂任务。在WebArena、OSWorld、ToolBench等基准上,即使是经过SFT监督微调的模型,仍然会频繁出现各类执行故障:

  • 格式故障:JSON解析失败、工具名/参数字段错误;
  • 参数故障:传入无效参数、参数缺失、参数范围非法;
  • 行为故障:循环重复调用相同工具、过早终止任务、未收集足够证据就输出答案、无意义过度搜索。
  • 传统监督微调SFT仅利用人工整理的成功专家轨迹训练模型;大量真实运行产生的失败故障轨迹被直接丢弃。如果简单将原始成功轨迹与原始失败轨迹直接混合训练,正负样本分布冲突,模型会被噪声干扰,不仅收益微弱,甚至会造成性能退化。 失败轨迹本身蕴含大量可复用信息:它记录了智能体实际会踩的坑。问题不在于失败轨迹本身,而在于不能直接拿“错误动作序列”当作训练目标。

    本文提出Agent‑FT故障感知微调范式,整套流水线可以自动处理原始故障交互轨迹,不需要大量人工重标注。

  • 故障诊断器:自动解析多步交互轨迹,定位故障发生位置,识别故障类别;
  • 对抗轨迹重写器:保持原始任务目标不变,回溯到故障发生前的状态,修正后续动作,生成逻辑通顺的修正版轨迹样本;
  • 分层损失训练策略:对三类样本(原始成功样本、重写修正样本、原始故障样本)分配差异化损失权重,抑制原始故障样本的负面影响,充分利用改写得到的高质量样本,避免正负样本冲突。
  • 本文主要贡献

  • 提出Agent‑FT故障感知微调范式,复用真实故障交互轨迹,包含故障诊断、对抗轨迹重写、分层损失训练三大模块,无需大规模人工重标注。
  • 构建Agent‑FT‑Trace数据集,合计3268条多步交互轨迹,包含2106条真实故障失败轨迹,来源WebArena、OSWorld、ToolBench。
  • 在Qwen、Llama3多组基座模型开展实验,Agent‑FT相比普通SFT基线任务成功率提升4.7‑8.3个百分点,显著优于直接混合成败轨迹训练方案。
  • 消融验证三大模块各自贡献;数据集、轨迹重写脚本、训练代码全部开源。
  • 2 相关工作

    2.1 工具智能体监督微调

    主流SFT训练依赖高质量专家成功轨迹;获取成本高。部分工作尝试利用RL、GRPO强化学习,使用任务终端奖励,但是RL训练稳定性差,调参成本高。 很少工作系统性利用原始失败故障轨迹;直接将失败轨迹加入训练集通常效果很差。

    2.2 智能体故障分析与轨迹修正

    已有研究对智能体执行失败做分类,用于事后分析;Self‑Reflect、Reflexion依靠反思提示,在推理时做自我修正,属于推理时阶段,不是微调训练阶段。 Agent‑FT在训练阶段自动处理故障轨迹,把失败轨迹转化为可用训练样本,是数据侧+损失侧联合方案。

    2.3 轨迹重写与数据增强

    轨迹增强大多针对成功轨迹做扰动;Agent‑FT面向失败故障轨迹,做回溯‑修正式对抗重写,把坏轨迹转为可用训练样本,并且搭配分层损失规避噪声干扰。

    3 Agent‑FT故障感知微调范式

    3.1 智能体典型故障分类

    故障大类
    细分类型
    现象说明
    格式故障 工具调用JSON格式错误 输出非法JSON,无法解析工具名称与参数
    参数故障 参数缺失、参数无效、参数越界 工具调用字段合法,但参数不符合工具约束
    行为故障 循环调用、过早终止、过度搜索 循环重复相同动作;未完成任务就结束;无限制搜索不收敛

    一条轨迹可以存在多处故障;故障诊断器输出故障发生步号、故障类别、故障根因简要描述。

    3.2 整体流水线总览

    完整流程:

  • 输入原始交互轨迹池(包含成功轨迹、大量失败故障轨迹);
  • 故障诊断器解析每一条失败轨迹,定位故障发生步骤,识别故障类型;
  • 对抗轨迹重写器:回溯至故障发生前的上下文状态,在不改变原始任务目标前提下,修正故障之后全部动作,生成修正后的高质量轨迹样本;
  • 数据集整理:得到三类样本集合
    • D s u c c D_{succ} Dsucc​:原始成功专家轨迹;
    • D r e w r i t e D_{rewrite} Drewrite​:故障轨迹经过重写得到的修正样本;
    • D f a i l D_{fail} Dfail​:未经改写的原始故障轨迹;
  • 分层差异化损失训练:对三类样本设置不同损失权重,联合训练基座模型。
  • 注意:原始故障样本 D f a i l D_{fail} Dfail​不会直接当作输出目标做监督,只分配很小权重用于上下文正则,避免模型学习错误动作。

    3.3 故障诊断器

    输入完整多步交互轨迹 τ = [ o 0 , a 0 , o 1 , a 1 , . . . , o T , a T ] \\tau = [o_0,a_0,o_1,a_1,…,o_T,a_T] τ=[o0​,a0​<

    赞(0)
    未经允许不得转载:171主机测评 » Agent‑FT:面向工具调用智能体的故障感知微调范式
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址