ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【行业前沿报告】Agent-R:把失败轨迹变成及时纠错的训练数据

【行业前沿报告】Agent-R:把失败轨迹变成及时纠错的训练数据 摘要本文解读Agent-R: Training Language Model Agents to Reflect via Iterative Self-TrainingarXiv:2501.11425v1。Agent-R 的核心思路是把数据构造与当前策略的错误连在一起先用 MCTS 搜索出可比较的好/坏分支再由当前模型判断“从哪里开始纠正”把失败历史、反思标记与好路径拼接成训练样本通过迭代 SFT 逐轮更新模型。文章重点区分了“拼接的文本”与“能执行的恢复路线”指出坏路径可能已改变环境续接需重新执行与检查同时厘清主评测与恢复评测是两种不同指标并梳理了消融实验里值得带走的发现满分轨迹仍可能保留坏习惯、多加较好路线不一定更好、更早转折是模型识别行为的指标等。适合想理解 Agent-R 机制、并关注其工程落地边界的读者。一个合成物品的智能体缺少原料却反复执行同一条制作命令。环境每次都告诉它“材料不足”它每次都换一种措辞说“再试一次”。如果训练集全是成功路线模型很容易学到“拿原料、制作、完成”却未必学到“已经制作失败时检查库存并补齐原料”。Agent-R 想把后一种经验写进模型参数。它先让模型搜索出好坏路径再把失败历史与纠正过程组织成训练样本逐轮更新模型。重点不只是留下一个最终正确答案而是学习在错误继续扩散前切换下一步行为。本文依据Agent-R: Training Language Model Agents to Reflect via Iterative Self-Training的 arXiv2501.11425v12025-01-20版本核对正文和附录 A–C。本文没有复现原实验下文机制例子和工程检查建议会单独标明。[1]一份成功轨迹为什么没有教会恢复交互任务的训练样本通常长成“动作—观察—动作—观察”。动作会改变后续状态因此学习者一旦走偏后面的输入也可能与成功示范不同。成功路线告诉模型在理想状态下怎么做。恢复路线还需要告诉它之前做错了什么环境实际上变成了什么现在怎样继续完成目标。把失败轨迹配一个“失败”标签可以用于结果奖励或偏好训练。但这个标签本身没有明确指出应在哪一步停止盲试下一条有效动作是什么。长任务里终局分数尤其难提供细粒度纠正信息。Agent-R 将数据构造和模型更新连在一起。训练前先探索再判断可修正的位置训练后用更新模型重新探索和判断。这是一种迭代 SFT即监督微调。MCTS 用于采集与比较轨迹不代表训练阶段直接运行了策略梯度强化学习。图 1Agent-R 的两个阶段构造轨迹与迭代训练。终局奖励支持筛选当前模型参与动作判别训练还混入好轨迹和通用数据。回路表示下一轮重新构造数据不能理解为拿着固定纠正集反复训练。依据 v1 第 3 节整理。MCTS 提供的是可以比较的不同分支蒙特卡洛树搜索MCTS把交互过程组织成一棵树。一个节点包含当前交互历史往下扩展一个动作环境返回新的观察形成一个子节点。搜索反复进行选择、扩展、模拟和回传。模拟会继续运行到终点或深度限制用最终奖励估计分支质量。选择阶段同时考虑目前看起来较好的分支以及访问较少、值得探索的分支。原文使用基于置信上界的树搜索选择规则UCTUCT(s) Q(s) c√(ln N_parent(s) / N(s))Q(s) 是估计的平均奖励N(s) 是该节点的访问次数N_parent(s) 是父节点的访问次数c 控制探索项权重。第一次访问等实现边界需要在搜索器中处理这个公式描述的是选择原则。从搜索树里可以找到一段共同前缀以及从同一位置分出的低奖励路径和高奖励路径。这比从两份无关日志里随意挑一个失败和一个成功更有约束两条路径至少有可核对的共同历史与分岔点。[1, §3.1]论文将轨迹分为四类轨迹含义在训练构造中的作用初始轨迹分岔前共享的动作与观察给出共同任务上下文坏轨迹从共同前缀延伸最终奖励低提供模型实际可能遇到的失败历史好轨迹从共同前缀延伸最终奖励较高提供较好的后续行为纠正轨迹保留一段坏轨迹加入反思标记再接入好路径让模型在失败上下文中学习切换行为“好”不必一开始就等于满分。模型对环境不熟悉时要求所有训练路线都完美会导致早期能收集到的样本太少。论文额外设置好轨迹质量门槛并在后续轮次提高它。谁来决定从哪里开始纠正一种简单做法是让模型一直走到坏轨迹结尾再附上反思和好路线。这就是论文比较的 Direct-Revision。它容易构造但模型看到的切换时机总是很晚。Agent-R 让当前 actor 模型逐步判断自己的动作。给它任务、历史、当前动作和观察要求先解释再判断动作是 Good、Bad还是 Uncertain。遇到它能辨认的第一个错误动作就用这个位置作为转折点截断后面的坏路径。[1, §3.1附录 A]这里的“第一个错误”有一个重要限定**是当前模型能够识别的错误不是经过人工或因果分析认证的最早致败步骤。**判断器也可能漏判、误判Uncertain 则表示信息不足。这些标签与环境给出的终局奖励承担不同职责。判断器寻找切换位置搜索树提供好分支环境奖励筛选整体质量。不能把这三个环节合成“模型自己已经知道哪里一定错了”。接下来保留转折点之前的错误历史加入反思标记 rs再接入好路径。v1 中的 rs 是一个短对话标记助手表示需要调整人类侧给一个确认。构造时从十条手写的通用反思语句中随机选取一条。因此训练数据并非每个位置都附有专家撰写的精细诊断。rs 的主要作用是标记行为切换具体下一步怎样走来自拼入的好轨迹。图 2训练文本的组织关系。模型判断决定错误片段保留到哪里相邻好分支提供正确续段不能把红色错误片段也当成希望模型重复的目标。图表达训练数据拼接不声称一句反思会自动把真实环境恢复到共同前缀的状态。依据 v1 式 3、附录 B 整理。把这个过程翻译成一个教学例子库存里没有石英板智能体制作失败它读到失败反馈后学习先确认库存、取得原料再制作。保留失败动作与材料不足的观察才能让模型理解“为什么现在要补原料”。这个例子是本文解释未运行 Minecraft 或 TextCraft。拼接的文本与能执行的恢复路线要分开检查这一步很容易被读成“把错误动作替换成正确动作整条轨迹就修好了。”实际上坏路径可能已经改变了环境。原料被消耗、网页跳到别处、文件已被覆盖之后原好分支中的动作未必还能在当前状态直接执行。v1 的轨迹定义将好路径接在坏片段与 rs 之后并说明 rs 本身不改变环境。共享前缀为分支比较提供依据但不能推出任意拼接后的状态都一致。因此把该思路用于生产环境时还需重新执行续段、检查状态必要时显式回滚或生成新的恢复动作。这是根据轨迹定义提出的工程限制不能写成原论文已经完成了通用状态一致性验证。如果错误动作只是一次无效调用环境状态没有改变续接比较容易成立如果错误具有不可逆影响问题就更难。只修改 action、不更新后续 observation会留下“环境从未发生过却出现在日志里”的训练样本。训练损失也要区分上下文与目标。原文的纠正项以坏轨迹前缀作为条件监督反思标记和较好的后续动作。错误历史进入输入是为了教恢复它不因此变成需要再次模仿的动作目标。环境观察则作为后续动作的条件。[1, §3.2]用通常的负对数似然记法可以把目标概括为L η(L_good L_revision) (1−η)L_general这里三个 L 分别表示好轨迹、纠正部分以及通用对话的监督损失这是机制层面的改写并未替原文补定具体归一化实现。本文采用最小化负对数似然的惯例因为 v1 式 6 写正的 log 概率、文字却说最小化符号存在不一致不能直接照抄成损失实现。迭代训练提高数据门槛也改变错误分布实验的主模型是 Llama-3.1-8B-Instruct。每轮用当前模型重新收集轨迹、判断转折并训练总共三轮。混合通用 ShareGPT 数据原文设置 η0.2兼顾交互训练和一般语言能力。好轨迹门槛 α 依次设为 0.5、0.7、1.0好坏划分阈值 β 为 0.2。β 在这里是奖励门槛不是专家接管概率。与 DAgger 使用的同名符号含义不同。还有一个复现时需要看清的边界v1 式 4 写 α r_good ≤ 1却在第三轮令 α1.0。严格按这个不等式没有可用样本。结合正文应理解为第三轮意在筛选满分轨迹真正编码时仍需核对实现是否采用包含端点的阈值。原文设置数值它约束的环节搜索任务数WebShop 300SciWorld 200TextCraft 200采集的任务起点不是总轨迹条数搜索深度20单次树搜索路径深度限制每次扩展候选动作4局部候选数量每次蒙特卡洛估计的 rollout 数8分支价值估计成本UCT 探索系数0.25探索与利用的权衡测试任务数200200100三个环境各自的评估集合各轮筛选后的好轨迹与纠正轨迹数量也不同。模型、质量门槛和数据分布同时变化跨轮增益不能简单归因于一个因素与其他方法比较时还要关注数据量和采集成本是否对齐。这些数值不能组合成“实际搜索了完整的 4²⁰ 棵树”。MCTS 选择性探索论文也没有据此报告完整枚举量。附录报告训练使用 8 张 A100-80GB学习率 2×10⁻⁵首轮 3 epochs后两轮各 1 epoch。每卡 batch 为 1梯度累积为 16并根据序列并行调整序列长度原文写 8,196。硬件配置不等于公开的总训练时长或推理成本原文没有给出的部分不宜推算成复现承诺。[1, §4.2附录 C.1]整体得分与失败后续跑是两种不同评测主评测从任务起点开始运行最多 100 轮交互。WebShop 和 ScienceWorld 采用平均终局奖励TextCraft 采用成功率。原表以百分制呈现并对三个分数做算术平均。同一基础模型上的训练方法WebShopSciWorldTextCraft三任务平均未做上述任务训练19.6514.3626.0020.00ETO52.8067.5575.0065.12Direct-Revision54.4466.6566.0062.36Agent-R63.9170.2378.0070.71数据v1 表 2。不同列的指标含义不同不能把全部数值都叫作成功率。70.71−65.125.59 是平均分增加 5.59 点不是相对提升 5.59%也不是所有任务统一提高了同一种指标。恢复评测则先收集基础模型在测试任务中的零奖励失败轨迹随机选择一个位置截断然后要求不同模型从该历史继续最多再交互 50 轮。它专门检查模型面对失败上下文时能否改善结果。图 3恢复评测与从头完成任务的评测分开。截断位置和已有状态共同定义起点续跑预算限制剩余机会。实际复现须保证日志、环境状态与截断位置一致这项状态一致性要求是执行协议的必要条件图中没有新增教师答案提示。依据 v1 第 4.4 节整理。第三轮 Agent-R 在这一评测中的三任务平均为 46.75Direct-Revision 为 35.67在 TextCraft 上分别为 43.24 与 29.73。[1, 表3]这些结果是在“基础模型已经失败且随机截断”的条件集合上取得的分数不能当作所有日常运行的通用恢复概率。恢复评测与主评测的起点、分母、步数上限都不同。消融实验里哪些发现值得带走原文的分析不仅比较最终表格还检查了训练数据类型、动作重复和转折位置。**只保留满分轨迹仍可能保留坏习惯。**一条最后成功的路径中间也可能多次重复无用动作。Agent-R 的纠正样本提供了摆脱错误模式的信号。论文观察到它减少反复动作没有把“重复减少”证明成一切性能增益的唯一原因。多加一些较好路线不一定更好。“最优轨迹好轨迹”的对照可能低于只用最优轨迹。作者解释为较好路线可能包含噪声纠正路线虽然也有不完美部分却额外提供恢复信息。这是对结果的解释不是严格分离全部数据因素后的因果结论。**更早的转折是模型识别行为的指标。**论文的 revision length 从坏路径起点数到模型第一个判错位置。它变短表示判别更早仍需检查判别是否正确不能把这个长度直接称作“真实错误定位准确率”。**多任务训练的优势有设置边界。**第三轮 Agent-R 的多任务平均为 70.71单任务为 67.96。但 Direct-Revision 的第三轮多任务为 62.36低于单任务 65.11。附录还讨论较早轮次和较分离任务可能受益不同。因此“多任务总是优于单任务”并不是这组实验的结论。[1, §4.4附录 C.2]Agent-R 最有价值的启发是把数据构造跟当前策略的错误连起来。若把它迁移到工具调用系统先要能记录真实历史、复现状态、找到有效续段再决定怎样选择转折和训练目标。模型会说“我错了”只是这条链路中很小的一步。参考资料Yuan, S., Chen, Z., Xi, Z., Ye, J., Du, Z., Chen, J.Agent-R: Training Language Model Agents to Reflect via Iterative Self-Training.arXiv:2501.11425v12025-01-20。指定版本 HTML · 指定版本 PDF。
返回列表