DART-SD:先查天气还是先订酒店,两条路都对,训练却只认一条
1. 多轮工具调用为什么训不好:全轨迹模仿的三个症状
安排一次出差,你要做两件事:查目的地的天气,订一家酒店。先做哪个都行,两条路中间经过的状态不同,终点却同样正确。这是再平常不过的生活常识。
可一旦要把一条"成功轨迹"拿去训练 AI agent,常识就变成了难题。主流训练把这条轨迹当作唯一标准答案,模型照着一个具体走法一步步模仿,顺序不同就被当成错误。任务明明有两条路,训练却只认一条。
只认一条走法的代价,在重复执行上藏不住。多轮工具调用(multi-turn tool calling)指智能体在对话中反复调用外部工具、依据返回结果继续决策直至完成任务,它是构建自主 agent 的核心能力。可就是这项能力,在公认的 agent 可靠性基准 τ-bench 上会露出马脚:最强的 gpt-4o 在 τ-retail 上 pass^1 约 61%,同一任务连续跑 8 次全部成功的 pass^8 却跌到 25% 以下(两域加权平均 pass^1 仅约 48%)。模型看起来"会"做任务,放大到重复执行就露馅。多轮任务的难点不在某一步会不会调工具,而在整条链路的每一步都要持续正确;训练时只认一条走法,恰恰教不出这种稳定。τ-bench 这正是 DART-SD(Diamond-topology Aware Retrieval and Tuning for Self-Distillation of Multi-Turn Tool-Calling Agents,一种训练多轮工具调用智能体的自蒸馏框架)要解决的真问题。
为什么越训越不稳?论文把矛头指向全轨迹模仿(full-length trajectory imitation):把整条成功轨迹当标准答案来学,这个建模方式本身就把多轮执行过程当成了若干条孤立的线性轨迹,而任务结构根本不是线性的。这个根因派生出两个症状。一个是 SFT(监督微调)行为克隆:全局的监督信号铺满整条轨迹,把学生模型自己探索出来的有效步骤也一并覆盖,模型记住的是冗余走法而不是任务的核心逻辑。另一个是 GRPO 这类强化学习:一条稀疏的轨迹级奖励被等权摊给所有中间步骤,失败轨迹里那些其实是有效探索的步骤被一起扣分。两条主流路线,罚错了同一批"有效但走法不同"的路径。

图注:三面板概念示意,对比三种训练范式把监督压在哪一段。(a) SFT 对整条轨迹施加全局损失,连同有效探索一起覆盖。(b) GRPO 把稀疏奖励等权摊给所有工具调用步。(c) DART-SD 只在 CTB 之后的恢复段局部修正,前缀保持不动。图为概念示意图,不是真实 loss 数值。DART-SD
"考完试再反思"这条路也早有人走过。Reflexion 让 agent 在失败后把反思文本塞回上下文再试一次,在 HumanEval 上拿到 91% 的 pass@1,但它从不更新模型权重,学习全部发生在 in-context 的文本里。Reflexion DART-SD 关心的是另一件事:既然要落到权重更新,每一步梯度到底该往哪里打。答案藏在任务结构的形状里。DART-SD
2. 答案不止一条:钻石拓扑是怎样被一条标准答案压塌的
回到出差例子。查天气和订酒店是两个互不依赖的子目标,先后顺序可以交换。把执行过程画成一张图:从起点出发,先查天气和先订酒店分成两条支路,各自前进,然后汇合在"天气已知、酒店已订"这个共同的中间状态,再一起走向终点。这种分叉再汇合的路径族,形状像一颗钻石。当任务包含多个可换序的子目标(order-independent sub-goals)时,正确解不是一条线,而是一族这样的钻石路径。论文把这个客观事实叫作钻石拓扑(diamond topology),解空间的全貌是钻石格。
反常的地方在于,所有主流训练都假装钻石不存在。SFT 把一条成功轨迹当标准答案照抄,等于把钻石硬压成一条线,所有"有效但走法不同"的路径被径直覆盖。GRPO 把稀疏奖励等权摊给每一步,则在失败轨迹里误伤那些明明是有效探索的中间步。论文给这个症状起了专门的名字:拓扑坍缩(topological collapse),后果是策略多样性严重退化,模型的执行风格被压成越来越窄的模板。DART-SD
同期在这个问题上动手的方法,也没有结构意识。Skill-SD 让全部 token 参与蒸馏,全程没有拓扑抽象,训练时给教师看的特权上下文是从轨迹里总结出的 JSON skill,一次也没问过"这条轨迹在解空间里处于什么位置"。Skill-SD HINT-SD 也仍然把多轮交互当作严格线性序列,把致命错误与无害探索混为一谈,代价是 token 效率与知识一致性双输。HINT-SD
前面那张图的 (c) 面板其实已经预告了 DART-SD 的立场:只修走错的那一支,其余有效分叉保持不动。要让这个立场落地,必须先回答两个问题:解空间这张图怎么画?画好之后,怎么在图上找到学生第一次走错的那个点?带着这两个问题进入方法本身。DART-SD
3. 把"解空间"画成一张转移图,再从失败轨迹里找出第一次走错的那一步
DART-SD 先把任务 x 的全部执行过程建模成一张交互状态转移图(Interaction-State Transition Graph,后面统一叫 ISTG)。画图的第一步是定义节点。论文引入信息原子(information atom)这个抽象:每个工具响应先被规范化,再被映射成一组任务相关的事实原子。同一件事,无论一个工具用自由文本返回、还是另一个工具用结构化记录返回,都坍缩成同一个原子;不携带信息的响应坍缩成空集。这一步是整张图的基石:因为信息集合只关心"收集到了什么"而不关心顺序,两条执行路径只要收集到的信息相同,就落在同一个节点上,与先查天气还是先订酒店无关。
于是 ISTG 的节点不是"行为步",而是"累积交互状态":已经收集到的信息集合,加上最近一次有效信息之后做过的无用操作。节点分成两类。主节点(main node)代表一次有效的信息获取,是信息主干;辅助节点(auxiliary node)记录主节点之后的无用探索。教师(teacher,提供监督信号的模型)成功与失败的 rollout(一次从开始到结束的完整执行)被编进同一张图,学生(student,被训练的模型)失败的 rollout 也在同一套状态更新规则下重放,两边因此共享同一个交互状态空间,不需要逐动作对齐。分叉再汇合产生的钻石结构,就这样显形在图里。
定位"第一次走错"靠投影。先在图里划出一片教师成功轨迹支撑的区域,论文叫经验成功可达区 R_x⁺,范围受预算过滤,距离从成功终点倒着量,只在失败轨迹里出现的状态即便在图里也不属于这片区域。然后逐点问:学生当前状态能不能投影进这片区域?对主节点,看能否找到信息集合包含在学生已获取信息之内的教师可达主节点;对辅助节点,比较对齐父节点之后的无用操作数目。投影是否成功记为 ρ_t,于是关键拓扑断点(Critical Topological Breakpoint,CTB)可以写成一句精确的话:
$$t_C = \min{t \mid \rho_{t-1}=1,\ \rho_t=0}$$
也就是第一次由"可投影"变成"不可投影"的那个转移点。这里要纠正一个常见误读:CTB 不是"错误的那一步",而是"经验成功可达投影里第一次不可投影的点"。两者的差别很关键,前者在猜学生的意图,后者只依据教师轨迹的事实。它前一步对应的教师状态,就是后面恢复参考的检索锚点。举个例子,学生先订好了酒店,然后打了一通查询电话,这通电话在教师的任何成功轨迹里都没出现过,也没带回新信息。到这一步,它的状态再也投影不到任何教师主节点上,ρ 翻成 0,CTB 就落在这里。DART-SD

图注:DART-SD 六步方法总览。第 1 步从教师 rollout 构建 ISTG,主节点与辅助节点区分信息获取与无用探索。第 2-3 步把失败的学生 rollout 复现到同一状态空间,投影到成功可达区 R_x⁺ 并定位 CTB。第 4-6 步生成恢复续写、施加断点后局部监督并跨轮迭代。节点数与边数均为示意。DART-SD
同期方法解决的是同一个问题,但"定位依据"全都不是拓扑。SMRC-SD 用手工设计的 progress signature 判断学生走到了哪一步、该不该看参考轨迹,判断标准来自环境适配器而非解空间本身。SMRC-SD ReOPD 把"学生走偏"当作前缀分布问题,用衰减采样调度决定在哪个深度上给多少蒸馏权重,调整的是分布而不是断点。ReOPD HINT-SD 用一个自监督的 hindsight analyzer 选出需要修正的动作片段。HINT-SD 三者的 gating 信号都来自外部手段,DART-SD 的 gating 则来自教师 rollouts 的投影:你走到的状态是不是教师成功轨迹撑得起的,由图本身说了算。
4. 只修断点之后:局部监督如何保护仍然有效的前缀
知道修哪里了,下一个问题是:怎么修,才不碰坏仍然有效的前面部分?DART-SD 的处理分两步。第一步是检索恢复参考。从教师的成功与失败轨迹里随机采样若干参考片段,作为特权上下文(privileged context,训练时可见、推理时不可见的额外信息)。这些片段不会直接拼到学生前缀后面,因为两条轨迹的调用和观测根本对不上,硬拼会让模型学到幻觉。替代做法是让一个增强生成器(AugGen)基于学生保留的前缀和检索到的参考,生成一段断点之后的恢复续写。训练用的轨迹等于学生自己的有效前缀加上这段续写。
第二步是局部化监督,规则精确到 token。损失只在断点之后、final-answer 之前的助手回复 token 上计算;学生前缀、用户消息、工具观测、final-answer 全部被 mask(掩码)掉,严格不产生梯度。这里有个容易混淆的地方:训练并不是"只在失败的那一步上算 SFT 损失",而是"从 CTB 起到 final-answer 之前的所有助手回复 token 都参与,前缀一律不被梯度碰"。前者是散的修补,后者是一个连续的、从断点开始的恢复段。回到出差例子:学生已经把天气和酒店都搞定了,却在订机票那一步选了一家需要额外签证的航司。整个"先查天气再订酒店"的前缀原样保留,只有选航司之后的那几步被换成恢复续写。DART-SD
外层再套上迭代。每轮训练结束,用当前学生重新 rollout,重新投影,重新定位 CTB,再训练一轮。学生越强,它的状态能保持可投影的前缀就越长,CTB 的位置自然往外推,训练损失自己长出一个课程:先修浅层小错,再逐步逼近能力边界。论文里这个外推有直接证据,第 1 轮失败轨迹的平均 CTB 位置是 0.348,第 5 轮推进到 1.452,翻了四倍多。DART-SD
"怎么局部化"其实是 2026 年同期正在被竞相回答的设计空间,DART-SD 只是其中一种答案。同月提交的 TurnSight 也做局部化监督,但它的特权信号来自学生自己执行结果的事后回顾(hindsight,执行完再看这一轮做得对不对),粒度在轮次,筛选靠多个 lookahead 深度的方向共识。DART-SD 的特权信号来自教师轨迹投影,粒度在 token,筛选靠可投影性。

图注:TurnSight 论文中的三种信用分配范式。(a) 轨迹级强化学习给所有轮次打相同分数。(b) 现有 OPSD 用与状态错位的特权上下文,可能产出互相冲突的 token 级信号。(c) TurnSight 用执行条件 hindsight 在 turn 级导出连贯信用。它展示的是同期工作对同一问题的另一种答案,不是 DART-SD 的 CTB 机制。TurnSight
同一条路上还有别的走法。HINT-SD 用 feedback-conditioned span 蒸馏,只在对齐选中的动作片段上做蒸馏。HINT-SD TCOD 把训练改成全局的 horizon 收缩,逐步拉长学生执行的轨迹长度,而不是在单条轨迹里做局部 mask。TCOD AgentOPSD 通过递归的逐轮信用更新改写 advantage 权重,保留全轮信号而不砍前缀,是隐式调权重而不是显式 mask。AgentOPSD 五个人看着同一堵墙,凿的位置各不相同。
5. 数字说话:小模型反超老师,调用更少,能力没伤
方法讲完了,数字撑不撑得住?训练设置是这样的:Qwen3-4B 和 Qwen3-8B 当学生,教师是 Qwen3.6-27B 加 GLM-5.2 的混合池,在 FTRL 的 2,215 个任务上做 5 轮迭代。读主结果前先分清口径:Table 1 的平均分,是把五个基准上的九个指标列一起取平均,FTRL 贡献 Solve-P、Solve-R、Solve-F1 三列,BFCL 的 Multi-Turn、ToolHop 的 AC、τ-bench 的 Pass^1 各一列,RoTBench 的 TS、PI、CF 三列。只有同一尺寸的学生之间可以直接比较。在这个口径下,4B 学生的平均分 39.17 是全部 4B 方法里的最高分,压过同尺寸的 SFT(37.62)和 FTRL-GRPO(33.66);8B 学生平均 45.58,同样是 8B 方法里的最高分,九个指标列里赢下七列,把 SFT(41.64)、FTRL-GRPO(40.33)和未经训练的 base(29.60)都甩在身后。两个数字各自是所在尺寸组的冠军,一个在 4B 组、一个在 8B 组。模型更大,平均分绝对值更高是容量使然,跨尺寸直接比高低本身就不成立,45.58 不会反过来否定 39.17。DART-SD

图注:Qwen3-8B base、DART-SD、教师池在五个工具调用基准上的分组柱状对比。视觉上 DART-SD 在全部五个基准上都高于 base,并在 FTRL、ToolHop、τ-bench 上高于教师。柱高只支撑相对顺序,教师的精确数值未在正文转录。DART-SD
更值得注意的是,这个提升不是靠多调几次工具刷出来的。成功轨迹的平均工具调用数从第 1 轮的 4.23 降到第 5 轮的 3.55,比人工标注的 golden 轨迹(4.02)还少,同时主指标 Solve-F1 从 40.37 涨到 45.66。论文自己的解读是:模型学会的是优化捷径,而不是盲从任务给定的子目标结构。如果分数上涨总是靠多调几次工具堆出来的,这个结果就没什么说服力,这里两个方向同时变好,本身就说明监督没有教模型"绕远路"。DART-SD
三件套的每一件边际贡献都可以被消融量化。FTRL 的 Solve-F1 从 base 的 23.48 起步,加上自蒸馏跳到 38.10,加上 CTB 定位到 39.51,加上渐进式训练到 43.93,最后加上完整 ISTG 到 45.66。纯蒸馏贡献了大头,CTB 和渐进式是互补的小增益,ISTG 负责收口,和论文"用状态投影取代 LLM judge 式断点检测"的说法对得上。通用能力也没被局部监督伤到:IFEval、AIME24、AIME25、MMLU 四项平均从 base 的 43.92 涨到 49.89,其中 IFEval 一项涨了 10.54 分。四个角度互相印证:分数更高、调用更少、能力边界外推、通用能力不退化。这不是刷榜式的提升,是任务本身被做得更好了。DART-SD
不过也要诚实看待那条尾巴:BFCL multi-turn 上 DART-SD 拿到 27.63,仍低于 FTRL-GRPO 的 35.25。BFCL multi-turn 的口径是每一轮都要同时通过状态与响应双重检查,任何一轮出错整条判负;τ-bench 的 Pass^1 也类似,一次 trial 里数据库最终状态与用户回复都要正确才算成功。两个都远比 FTRL 严苛,而拓扑感知监督没有自动迁移过去。BFCL τ-bench 这个短板正好把话题带进最后一章:这套方法的地基和边界各在哪里。
6. 范式意义与边界:从全局强迫到拓扑感知的局部修正
把 DART-SD 放进更大的坐标系。一份 2026 年的 on-policy distillation(在线蒸馏)综述把 agent 蒸馏的监督粒度排成一条阶梯:从整条轨迹到轮次、步骤、技能,再到决策边界(decision boundary),并指出一个新兴观点:最有效的粒度可能是"决策边界",也就是 agent 做出某个后果难以逆转的承诺的那个点。OPD Survey DART-SD 与这个提法有谱系上的亲缘,但只能当作谨慎的类比。CTB 同样标记"从某一步起决定开始收窄解空间"的转折,和"难以回头"的承诺在直觉上同源,可它的实际定义远比这朴素。按论文的形式定义,CTB 是经验成功可达投影第一次失效的转移点,也就是学生状态第一次投影不进任何教师成功轨迹撑起的区域、可投影性由 1 翻成 0 的那一步。它度量的是"这条轨迹还受不受已见过的成功经验支撑",与"这个决定本身是否不可逆"是两回事。教师轨迹里见过的可逆操作照样可投影,不会被标成 CTB。反过来,一个其实无伤大雅的出格动作只要投影不上去,一样会被标成 CTB。DART-SD
这张图也在解释一件略显反常的事。2026 年 4 月到 8 月,多轮自蒸馏工作密集爆发:Skill-SD(2604)、TCOD(2604)、HINT-SD(2605)、ReOPD(2607)、TurnSight(2608)、SMRC-SD(2608)、AgentOPSD(2608),加上 8 月 19 日提交的 DART-SD 本身。大家几乎同时意识到"多轮蒸馏做错了哪一步"值得追问,而 DART-SD 交出的,是其中唯一一份把解空间显式建模成图、再在图上定位断点的答案。
图注:同期多轮自蒸馏浪潮的定位草图。HINT-SD 与 TurnSight 和 DART-SD 同属局部定位修正路线,TCOD 走全局 horizon 收缩,ReOPD 调度前缀分布,SMRC-SD 做状态匹配路由,AgentOPSD 重塑逐轮信用。箭头表示同源直觉或机制对照。
论文自己划的边界也很清楚。第一,信息原子标注依赖规范化加 LLM judge 的环节,残余错误主要是漏掉原子而不是凭空造出状态,图会变稀疏但不会伪造,不过更大规模任务上的对齐质量没有验证。第二,ISTG 的构建代价随每个任务的 rollout 数量增长,论文没有分析它是指数还是线性。第三,与 hindsight-only 或 RL-only 监督能不能叠加,没有做消融。第四,BFCL multi-turn 上的短板说明,拓扑感知监督不会自动迁移到动力学结构不同的基准。没有哪套训练方法是万灵药,DART-SD 也不例外。DART-SD
所以真正值得记住的不是 45.58 这个分数,而是那个视角转变:先承认解空间是图,再决定在哪里监督。全局强迫的问题不在于监督本身,而在于它无视了答案的结构;DART-SD 的可贵之处,是让训练第一次"看见"了那颗钻石。至于这颗钻石能不能在更大的任务规模、更复杂的工具生态里继续显形,留给下一轮迭代去回答。
想深入可以读原文:DART-SD: Diamond-topology Aware Retrieval and Tuning for Self-Distillation of Multi-Turn Tool-Calling Agents(arXiv:2608.18524)
参考文献
- DART-SD(锚论文):arXiv:2608.18524 论文全文,2026-08-19 提交,所有概念、表格与消融的本源
- TurnSight:arXiv:2608.04007 同期 turn 级 hindsight 自蒸馏对照
- SMRC-SD:arXiv:2608.05219 状态匹配路由与情境化自蒸馏
- AgentOPSD:arXiv:2608.05987 递归自蒸馏与逐轮信用重塑
- Skill-SD:arXiv:2604.10674 技能条件自蒸馏,全 token 参与
- ReOPD:arXiv:2607.04763 前缀重放的多轮在线蒸馏
- HINT-SD:arXiv:2605.17873 定向 hindsight 自蒸馏
- TCOD:arXiv:2604.24005 时序课程在线蒸馏
- BFCL:PMLR v267:48371-48392(ICML 2025) 多轮工具调用基准的评分口径
- τ-bench:arXiv:2406.12045 对话一致性基准与 pass^k 指标
- OPD Survey:arXiv:2604.00626 在线蒸馏综述,agentic ladder 框架
- Reflexion:arXiv:2303.11366 NeurIPS 2023,反思式 agent 的远祖