SKILL-KD:把行为落差转化为文本补丁,对比蒸馏让弱Agent最高提升56%

SKILL-KD: Contrastive Skill Distillation for LLM Agents

论文原文 ↗ 论文发布 解读发布 解读:AI前沿分享

在大模型驱动的自主智能体(LLM Agent)开发中,如何让一个参数量较小、推理成本较低的“弱模型”,具备接近顶尖闭源模型的复杂任务解决能力,一直是工程界与学术界的核心诉求。以往的主流做法往往走向两个极端:要么通过监督微调(SFT)或强化学习(RL)进行参数级权重蒸馏;要么依赖基于外部记忆的技能库(Skill Library),让智能体在探索中记录成功轨迹或反思失败。

ArXiv URL:https://arxiv.org/abs/2607.28048

然而,在保持底层模型完全冻结(Frozen)的轻量化设定下,现有的技能学习方法遇到了难以突破的瓶颈。当弱模型任务失败时,其自身留下的错误轨迹往往缺乏关键证据,根本推导不出正确解法;而如果直接让顶尖模型生成成功轨迹并进行一键摘要,所提炼出的经验又常常过于抽象、隐式,或者脱离了弱模型自身的行动策略空间,导致弱模型即便把规则放进上下文也“学不会、用不上”。

最新提出的 SKILL-KD 框架打破了这一僵局。它将外部技能库重新定义为跨能力智能体之间的显式蒸馏介质:不依赖参数微调,而是直接对比教师与学生在同一任务中的行为落差(Actionable Discrepancy),将其转化为能够动态验证并迭代修正的“文本技能补丁”。在涵盖搜索、表格、文档理解、复杂数学与具身环境等五大基准的评测中,SKILL-KD 让完全冻结参数的学生智能体取得了极为显著的性能跃迁,甚至在 ALFWorld 具身未见环境中将小模型的成功率从 30.6% 拉升到了 86.6%。

SKILL-KD 解决自经验不足与教师轨迹隐式的问题

技能获取的错配:为什么弱模型总是学不会?

大模型智能体要完成多步骤推理、工具调用与环境交互,依赖的不仅仅是静态的参数知识,更包括在环境中如何探索、何时拆解问题、怎样校验中间结果等程序性模式(Procedural Patterns)。近年来,Voyager、Reflexion、Trace2Skill 以及 SkillOpt 等工作证明了外部持久化技能库的价值——无需微调权重,只需将复用性经验拼接入 Prompt,就能增强智能体。

但在实际落地中,从行为证据到“可用指导”的转化存在严重的结构性错配:

如果仅依赖弱智能体自身的反思与经验,它常常“不知道自己不知道什么”。一段失败的 Rollout 固然指出了错误的行动,但并没有给出走向正确路径所需的关键认知;反之,若单纯依赖强教师模型的示范轨迹,将其直接概括成通用规则,这种一揽子概括很容易浮于表面。教师模型的隐含决策逻辑可能与弱模型的实际 Policy 存在严重代沟,导致弱模型读懂了文字,却在真实执行中依然踏入同一条河流。

SKILL-KD 的核心观点在于:技能不应该被看作单向的经验日志或成功的简单总结,而应被视作衡量并弥合模型间能力差距的显式蒸馏载体。 传统知识蒸馏通过 Logits、中间隐藏层或参数更新来实现知识传递,而在推理期固化模型的约束下,最有效的载体恰恰是自然语言编写的、即插即用的文本技能。

对比蒸馏与自适应重跑:把“行为差距”打成可用补丁

为了从行为证据中提取真正有针对性的策略,SKILL-KD 放弃了孤立审视单一轨迹的做法,转而采用同一任务下的对比分析。

SKILL-KD 框架总览

在形式化定义中,给定训练样本 $x \in \mathcal{D}_{\mathrm{train}}$ 与当前的全局技能库 $\mathcal{K}$,学生智能体 $S$ 先执行任务生成初始轨迹 $\tau_S^0 = S(x;\mathcal{K})$ 并获得评分 $r_S^0$。当学生遇到挫折时,教师智能体 $T$ 会在相同条件与技能库支持下运行该任务,生成轨迹 $\tau_T = T(x;\mathcal{K})$ 与评分 $r_T$。

核心的蒸馏动作不是去复刻教师的每一个步骤,而是由整合智能体(Consolidation Agent,记为 $C$)对两份轨迹展开差异诊断:教师在哪个分支做出了不同选择?调用工具的格式有何差异?学生究竟在哪个判断点偏离了主线?基于这种对比,整合智能体生成初步的候选补丁 $p^1$。每个技能补丁包含规则标题、具体内容、生成缘由(why)以及原始轨迹的溯源指针(trace)。

但真正的难点在于:提炼出的规则,学生真的能执行吗?

许多自动化 Prompt 优化框架假设只要强模型给出了诊断,生成的提示词就必然有效,这在实践中屡屡被证伪。SKILL-KD 引入了自适应技能蒸馏(Adaptive Skill Distillation)机制,将技能提炼视为在离散文本空间中的自适应搜索过程。

当生成候选补丁 $p^1$ 后,系统并不急于将其加入技能库,而是立即将补丁挂载给学生模型,并在相同任务上进行重跑:

\[\tau_S^1 = S\bigl(x;\,\mathrm{Apply}(p^1,\mathcal{K})\bigr)\]

如果学生依然失败,失败轨迹、之前的尝试和教师轨迹会构成一条递进的修正记录 $\mathcal{E}^i$。整合智能体得以诊断先前的抽象规则为何失效——是指令不够明确、与已有规则冲突,还是缺少了特定边界条件的说明?随后生成下一代补丁 $p^{i+1}$ 并再次验证。

这一闭环确保了所有进入最终候选池的技能,都经过了学生模型自身行为改变的实证检验。只要在最大容忍轮次 $n$ 内学生未能力挽狂澜,该样本就不会产生任何无效更新,彻底阻断了未经验证的“毒性指令”流入生产库。

防漂移整合:如何避免规则库越来越臃肿?

在 Agent 技能库的演进过程中,频繁的局部更新往往会引发严重的技能漂移(Skill Drift)。智能体在某个具体样例上修复了问题,往往会把带有偶发性、狭隘特例甚至破坏先前知识的规则写进全局库。

研究团队在消融实验中敏锐地捕捉到了三种典型的漂移失效模式:

  1. 特例化漂移(Case-specific drift):例如在 DocVQA 任务中,关于数字抽取的规则起初被修改为“必须保留单位(如 10 mg)”,遇到下一个题目又被改为“去除问题里已包含的单位(如 kg 或 %)”,再遇到题目又被加入货币符号处理。规则的边界随着最新样例摇摆不定,丧失了泛化价值。

  2. 臃肿化漂移(Skill-bloat drift):在表格推理任务 SpreadsheetBench 中,如果直接累积局部修复补丁,技能库会迅速膨胀到 50 条规则、接近 3000 词,甚至大量记录了类似单元格范围 P6:Q6、C4:F6 这种极其具体的坐标级硬编码修正,极大地占用了上下文窗口并增加了模型的选择负担。

  3. 破坏性覆盖漂移(Destructive-update drift):一个早期经过验证的“分层奖金计算与货币解析算法”,由于后续为了修复另一个错误而引入了更宽泛的“请直接输出 openpyxl 可执行代码”规则,导致原有的具体数学截断逻辑被直接覆写删除,造成了能力倒退。

为了从根本上解决这些问题,SKILL-KD 设计了防漂移技能整合(Drift-Aware Skill Consolidation)。系统不仅维护技能条目,还维护着一条完整的结构化编辑历史 $\mathcal{H}$。每个历史条目记录了操作类型与关联技能,并保留指向原始学生失败轨迹与教师成功轨迹的双向指针。

整合智能体被实现为一个具备工具调用能力的多轮推理 Agent,拥有 trace-link 和 patch 两个专用工具。面对一个经过自适应验证的有效补丁,它不会盲目 add(新增),而是通过 trace-link 工具追溯历史相似条目的原始轨迹,进行跨实例的模式比对。

只有在充分考察过往证据后,整合智能体才会使用 patch 工具执行以下四种动作之一:

这种溯源比对使得技能库始终保持极致精简。在 SpreadsheetBench 的实验中,防漂移机制成功将原本可能膨胀至 50 条规则、2930 词的冗长文本,浓缩收敛为仅仅 6 条规则、522 词的高价值经验集。

实验评测:跨架构蒸馏与惊人的环境泛化

论文在涵盖文本推理、结构化数据、多模态解析、代码工具与具身智能的 5 个基准测试上进行了全面验证,包括 SearchQA、SpreadsheetBench、DocVQA、LiveMath 以及交互式模拟环境 ALFWorld。

为了评估方法的通用性,研究设计了两个极具代表性的师生组合:

实验设定中,所有基准测试都严格遵循官方评测指标(精准匹配 Exact-Match 或任务硬成功率),且评测模型在测试集上严格冻结。对比基线包括无技能原版模型(No Skill),以及当前主流的自主经验提炼方法如 EvoSkill、Trace2Skill、SkillGen 和 SkillOpt。

实验数据表明,SKILL-KD 在两个实验组中,面对所有任务族均全面超越了基线方案:

在同构蒸馏下,原本只有 4B 参数规模的 Qwen3.5-4B 展现出了惊人的提升幅度。在考验复合计算与逻辑的 SpreadsheetBench 上,其硬成功率实现了大幅跨越;在 LiveMath 上也有显著长进。尤其引人注目的是在 ALFWorld 具身环境中,该基准测试集完全由训练阶段未见过的全新房间布局与物品组合构成。Qwen3.5-4B 的初始成功率仅为 30.6%,而在注入 SKILL-KD 蒸馏出的紧凑技能库后,成功率直接飙升至 86.6%,净增 56.0 个百分点。

在异构蒸馏设定下,底座本就更强的 Qwen3.6-35B-A3B 同样从 ChatGPT-5.5 身上汲取到了可观的程序性增量。其在 ALFWorld 上的成功率从 59.7% 提升至 96.3%(净增 36.6 个百分点),在复杂的搜索与多模态抽取任务上也打破了瓶颈。

由于知识传递的物理介质是结构化自然语言,而不是依赖特定词表对齐的隐藏层向量,SKILL-KD 证明了跨模型家族的无缝蒸馏完全可行。即便师生双方的预训练数据、Tokenizer 分词方案与推理偏置大相径庭,只要文本表达的程序性逻辑足够精确,弱模型就能将其直接化为己用。

关键消融:为什么“不完美的老师”依然管用?

深入的消融实验为我们提供了更多反直觉的技术启示。

研究团队对比了不同的技能获取模式:单纯依靠教师示范轨迹进行一键总结(Teacher-only)、仅靠学生自身轨迹进行反思(Student-only)、没有重跑验证的单次对比更新(Pairwise),以及批量聚合多条轨迹的单次提炼(Batch)。

结果显示,单纯依赖教师示范或自身反思,获得的综合性能提升非常有限(平均分提升仅在个位数)。而一旦引入针对师生行为落差的对比提炼,提升幅度便开始显现;但最核心的质变,依然发生在自适应重跑验证与防漂移整合同时接入之后。缺乏重跑验证的静态提炼,生成的指令常常“看似合理但学生根本不听”,只有经历实际执行检验的补丁才具备真正的生产力。

更令人深思的一组分析来自于教师信号质量对蒸馏的影响。在实际场景中,强模型也绝非全知全能的 Oracle,教师同样会翻车。

论文统计了学生首次尝试失败的训练实例,发现教师在这些困难样本上的平均成功率仅有 46.1%。这意味着在超过一半的失败场景中,教师自己也没有把任务完全做对。

然而,数据揭示了一个极具价值的结论:

为什么教师失败了还能指导学生?作者团队指出:即便强模型最终由于某一步骤失误导致整个任务告负,但在走向失败之前的探索链路中,教师依然可能展现出了正确的工具调用格式、更合理的问题拆解次序或更稳健的环境感知策略。

将学生的“完全摸不着头脑”与教师的“局部正确但功亏一篑”放在一起对比,依然能照亮那段关键的行为盲区。整合智能体提炼出这部分有价值的局部差异,再经由学生重跑验证其有效性,最终将不完美的经验筛选沉淀为了确定性的有效技能。

总结与展望

SKILL-KD 提供了一种非常符合实际工程诉求的 Agent 演进范式:

这一成果预示着,在未来的智能体系统搭建中,我们或许不再需要为每一个特定垂直领域去费力微调专有的小模型,而是可以通过云端大模型与边缘轻量模型之间的“对比式会话”,持续沉淀一套可解释、可审计、即插即用的外部程序性资产。用最小的推理代际差,换取最高的落地执行力。