← 返回 2026-08-06

SKILL-KD:面向大模型智能体的对比式技能蒸馏 SKILL-KD: Contrastive Skill Distillation for LLM Agents

Qiming Shi, Yibo Dou, Jiawen Zhu, Yulong Tao, Linbo Jin, Zhaolu Kang, Yunfan Zhou, Di Weng 📅 2026-08-04 👍 11 2026-08-11 18:30
LLM智能体 师生对比 技能学习 提示工程 知识蒸馏

对比师生轨迹差异,把行为差距蒸馏成可验证的文本技能,增强冻结的弱学生智能体

前置知识

技能库(Skill Library)

技能库是追加在 LLM 智能体提示词中的结构化文本规则集合,每条技能通常写成「当触发条件 X 时,执行动作 Y」。与微调不同,它不修改模型权重,而是把跨任务可复用的程序性知识(如工具调用步骤、答案格式约定、子任务分解策略)外化为可检索、可编辑的外部状态,在推理时拼接到上下文里指导智能体行为。

本文把技能库重新定义为强教师到弱学生之间的知识蒸馏载体,理解技能的结构与生命周期是读懂其蒸馏机制的前提。

知识蒸馏(Knowledge Distillation, KD)

经典知识蒸馏通过软标签、logits、中间表征或推理链把强模型行为迁移到弱模型,学生通过参数或策略更新吸收知识。在 LLM 智能体场景下,已有工作用轨迹级训练把工具使用行为蒸馏进小模型。SKILL-KD 的关键差异在于:学生权重保持冻结,蒸馏载体不是梯度或 logits,而是一个外部的文本技能库。

理解 KD 的传统载体(参数/logits)才能体会本文把文本技能当作蒸馏载体的范式创新。

冻结智能体(Frozen Agent)

冻结智能体指在适配过程中不更新底层模型权重的 LLM 智能体。常见适配手段包括上下文学习、提示工程、技能库注入、外部记忆检索等。冻结设定在实践中很重要,因为开源小模型常无法承担微调成本,或部署环境只允许黑盒 API 调用,只能通过提示词层面注入新行为。

本文的全部设计都围绕「权重不能动」这一约束展开,蒸馏信号只能通过提示词注入,这是理解方法为何要走文本技能路线的根因。

师生轨迹对比(Teacher-Student Trajectory Contrast)

把同一任务下学生失败轨迹和教师(成功或部分成功)轨迹并置,定位两者在中间决策点上的可操作分歧(actionable discrepancy),再把这个分歧翻译成一条可执行的文本规则。它既不是单纯总结教师行为,也不是单纯反思学生失败,而是抽取出「学生缺的那段行为」作为迁移信号。

这是 SKILL-KD 区别于自反思(Reflexion)和直接模仿教师的本质创新点,决定了学习信号的来源。

技能漂移(Skill Drift)

技能漂移指技能库在反复局部更新后偏离其作为长期程序性知识的初衷,表现为对个别案例过拟合(case-specific drift)、规则冗余膨胀(skill-bloat drift)、或后续编辑覆盖先前有用规则(destructive-update drift)。它会增加检索负担、削弱复用性,是技能库生命周期管理的核心难题。

本文的 Drift-Aware Skill Consolidation 专门解决漂移,理解三种漂移模式才能看懂案例研究和 Table 3 消融。

研究动机

基于技能的提示(skill-based prompting)已成为增强 LLM 智能体的实用范式:把跨任务可复用的程序性知识外化为文本规则注入提示词。但现有技能获取方法几乎都把技能当成「经验总结」「记忆条目」或「成功示范的直接摘要」,这给弱学生智能体带来根本性的信号失配。当学生因为缺乏任务知识或操作策略而失败时,它的失败轨迹本身往往并不包含推断缺失行为所需的证据——失败轨迹只能告诉你「它走错了」,却无法告诉你「它本应该怎么做」。反过来,直接总结教师的成功轨迹同样不可靠:抽象总结往往过于笼统、过于局部,或与学生实际策略不匹配,难以真正改变学生未来行为。论文用 Figure 1 形象说明:自我经验和外部示范提供的是「间接且隐含」的指导,真正可迁移的是师生之间那段「可操作的差距」。此外,技能库反复用片段化轨迹证据做局部更新会引发技能漂移:规则被最新案例牵扯、冗余堆积、互相覆盖,最终破坏技能作为长期可复用知识的定位。

本文的目标是本文的目标是在不更新学生权重、不做任务专属微调、推理时不重放完整轨迹的前提下,把强教师智能体的程序性知识高效迁移给冻结的弱学生智能体。具体地,作者希望:(1) 把同任务下师生轨迹之间的「可操作行为差距」显式蒸馏成学生可遵循的文本技能补丁;(2) 让每条候选技能都通过「学生重跑」这一行为级验证,只有真正改变学生行为的技能才被写入技能库;(3) 在技能库级别维护一条链式的编辑历史与轨迹溯源,使专门的整合智能体能判断每个补丁该新增、修改、删除既有规则还是直接跳过,从而在保持技能库紧凑稳定的同时抑制漂移。最终目标是在 5 个智能体基准、2 种师生配置上,对无技能基线和已有技能学习基线取得一致且显著的提升。

与已有工作不同的是,已有工作要么从智能体自身轨迹/反思/执行反馈中蒸馏(Reflexion、ExpeL、Trace2Skill),要么从更强模型给出的示范、理由、轨迹中蒸馏(Distilling Step-by-Step、AgentDistill)。前者完全依赖学生自反馈,但学生失败时恰恰缺少「正确做法」的证据;后者直接迁移教师行为,但教师轨迹对学生而言太隐含,且与学生策略不对齐。SKILL-KD 抓住了一个被两边忽视的中间地带:信号源既不是单一方轨迹,也不是泛化执行分数,而是师生在同一任务上中间决策点的对比差异;载体不是参数更新,而是被学生行为反复验证的文本技能。这个视角把技能从「记忆/经验总结」重新定义为「能力异构智能体之间的蒸馏介质」。

核心方法

直觉上,SKILL-KD 像一位资深工程师给新手改作业的过程:新手(学生)交了跑不通的作业,老师(教师)给出自己跑通的过程,导师(整合智能体)不照抄老师的解法,而是把「新手差的那一步」提炼成一条可复用的口头规则(技能补丁),让新手拿这条规则重做一遍验证——若还做错,导师再针对新错误改一版规则,如此迭代直到做对或达到上限。技术路线上有三个智能体:学生 $S$、教师 $T$、整合智能体 $C$,共享一份结构化 Markdown 技能库 $K$。每条技能表示为四元组 $p=(\text{title},\text{content},\text{why},\text{trace})$,其中 title/content 渲染给学生和教师看,why/trace 仅作内部审计。学生权重冻结,优化目标是改进外部技能库 $K$。对每个训练样本 $x$,学生先用当前 $K$ 尝试,任务评估器 $r(x,\tau)\in[0,1]$ 评分;若 $r(x,\tau_S^0)=1$ 则无需更新,否则调用教师产出 $\tau_T=T(x;K)$,再把师生对比交给整合智能体生成补丁,进入自适应验证循环。

核心创新是把技能蒸馏建模成在文本技能空间上的「自适应搜索」过程,而不是一次性总结或固定步数编辑。这有两层本质区别。第一,学习信号是师生轨迹对比的可操作分歧,而非学生自反馈或教师直接模仿——Teacher-only 消融只拿到 58.3 分、Student-only 拿到 60.1 分都印证了单边信号不足。第二,每个候选补丁 $p$ 不是靠语义合理性入选,而是靠 $\text{Apply}(p,K)$ 后学生重跑 $\tau_S=S(x;\text{Apply}(p,K))$ 是否成功来决定去留,即用「学生行为是否真改变」作为技能有效性的唯一判据。只有被成功行为验证的补丁才提交进 $K$。这种「行为级验证」把抽象师生差距锚定到学生实际策略上,避免把一段教师讲解当成万能迁移信号。累积证据记为 $E_i=\{(\tau_{S,j},p_j,r_S^j)\}_{j=1}^i$,第 $i{+}1$ 轮补丁 $p_{i+1}=C(K,H,(\tau_{S,0},r_S^0),(\tau_T,r_T),E_i)$ 针对原始 $K$ 提出并取代此前所有候选,最多迭代 $n=3$ 轮。

方法步骤详情

完整流程分四步。(1) 学生首跑:对训练实例 $x$,学生用当前技能库 $K$ 生成轨迹 $\tau_S^0=S(x;K)$,评估器给分 $r_S^0=r(x,\tau_S^0)$;满分则跳过。(2) 教师跑同任务:若学生失败,调用教师产出 $\tau_T=T(x;K)$,即使教师也不一定满分,但其部分正确决策仍可作为对比证据。(3) 自适应技能蒸馏:整合智能体结合师生对比与评分生成初始补丁 $p_1=C(K,H,(\tau_{S,0},r_S^0),(\tau_T,r_T))$,用 $\text{Apply}(p,K)$ 写回 $K$ 后让学生重跑 $\tau_S^1=S(x;\text{Apply}(p_1,K))$;若成功则接受补丁进 $K$,否则把新失败轨迹纳入累积证据 $E_i=\{(\tau_{S,j},p_j,r_S^j)\}_{j=1}^i$,再生成修订版 $p_{i+1}=C(K,H,(\tau_{S,0},r_S^0),(\tau_T,r_T),E_i)$,最多 $n=3$ 轮;若全程无成功轨迹则该实例不更新技能库,中间失败补丁不写入 $K$ 也不写入持久编辑历史 $H$,只留在实例级精炼记录里。(4) 漂移感知整合:$H=\{h_1,\dots,h_m\}$,每条 $h_j=(\text{op}_j,p_j)$,$\text{op}\in\{\text{add,modify,delete,skip}\}$;整合智能体是带工具调用的多轮智能体,先用 trace-link 工具按索引取回历史轨迹原文,再用 patch 工具提交操作,最终才决定增/改/删/跳,从而在每个补丁上参考其历史背景做出有依据的编辑决策。

技术新颖性

技术新颖性集中在三点。其一,蒸馏载体是 prompt 时的文本技能而非 logits、隐表征或梯度,因此能跨模型家族迁移——Group 2 用 Qwen3.6-35B-A3B 作学生、ChatGPT-5.5 作教师,分属不同 tokenizer 与预训练数据,仍取得一致提升。其二,技能获取不是 one-shot 总结而是行为级自适应搜索,与 TextGrad/GEPA 的文本梯度、SkillOpt 的有界编辑、Trace2Skill 的归纳合并都不同:它要求每个补丁被学生重跑验证,把师生对比转成「策略对齐的指导」。其三,漂移感知整合用 trace-linked 编辑历史做全局治理,而非依赖验证集覆盖或轨迹批次选择,能在仅 38 条规则、3010 词的紧凑库里达到 66.8 的平均分,远胜 Student-only 的 96 条规则。这把技能生命周期治理从「按批次/按验证集」推进到「按编辑溯源」的粒度。

SKILL-KD 总览
Figure 2: SKILL-KD 总览

实验结果

主实验(Table 1)覆盖搜索问答、表格操作、多模态文档问答、数学推理、具身交互五类任务,两种师生配置下 SKILL-KD 在所有基准上均取得最佳。Group 1(Qwen3.5-4B 学生 / Qwen3.7-plus 教师)平均分从无技能的 43.5 提升到 66.8,比最强基线 SkillOpt(63.5)高 3.3 分;其中 ALFWorld 从 30.6 跃升至 86.6(+56.0),LiveMath 从 22.4 升至 54.8,SpreadsheetBench 从 9.3 升至 24.3。Group 2(Qwen3.6-35B-A3B 学生 / ChatGPT-5.5 教师)即便无技能基线已更强(57.9),SKILL-KD 仍把平均推到 74.6,ALFWorld 达到 96.3(+36.6),SpreadsheetBench 49.3,LiveMath 54.8。消融一(Table 2)证明信号源不等于效果:Teacher-only 仅 58.3,Student-only 60.1 却用了 96 条/6821 词,Batch 59.4、Pairwise 59.0,而 SKILL-KD 用 38 条/3010 词达到 66.8,说明自适应验证比单纯增加证据更关键。消融二(Table 3)移除编辑历史与轨迹溯源后,SpreadsheetBench 从 24.3 跌到 14.6,LiveMath 从 54.8 跌到 27.4,证明漂移感知整合在多步骤工具与数学任务上不可或缺。Table 4 的教师诊断显示教师仅在 46.1% 的学生失败案例上成功,但其中仍有 38.5% 的接受补丁来自教师失败案例,说明即使非完美教师,其部分正确决策也能贡献有效信号。自适应轮数分析(Table 6)显示首轮把训练成功率从 58.9% 提到 67.7%,是主要增益来源,$n=3$ 时达 72.7%,呈边际递减,支持 $n=3$ 的有界设定。

留出测试集主结果(百分比,平均为五基准宏平均)
Table 1: 留出测试集主结果(百分比,平均为五基准宏平均)
Group 1 技能获取变体的影响(含平均分、平均增益、最终规则数与词数)
Table 2: Group 1 技能获取变体的影响(含平均分、平均增益、最终规则数与词数)
Group 1 漂移感知整合的影响(百分比)
Table 3: Group 1 漂移感知整合的影响(百分比)
Group 1 学生失败训练实例上的教师结果诊断(百分比)
Table 4: Group 1 学生失败训练实例上的教师结果诊断(百分比)
Group 1 中连续自适应轮次的边际百分点增益
Figure 3: Group 1 中连续自适应轮次的边际百分点增益
查看结构化数据
任务指标本文基线提升
ALFWorld(具身交互,4B 学生) hard-success 86.6 No Skill 30.6 +56.0
LiveMath(数学推理,4B 学生) exact-match 54.8 No Skill 22.4 +32.4
五基准平均(4B 学生) macro-avg 66.8 最强基线 SkillOpt 63.5 +3.3
SpreadsheetBench(表格操作,4B 学生) hard-success 24.3 No Skill 9.3 +15.0
ALFWorld(具身交互,35B 学生) hard-success 96.3 SkillOpt 82.1 +14.2

局限与改进

作者承认的局限主要有:教师本身不是预言机,在学生失败的训练实例上仅 46.1% 成功,因此框架必须能从不完美教师信号中获益(Table 4 部分验证了这一点);自适应搜索受 $n=3$ 上界约束,作者自己观察到首轮之后增益递减,说明少数硬例仍需更多轮次但未做扩展实验。我自己观察到的局限包括:(1) 成本不低——每个失败实例至少触发一次学生首跑、一次教师跑、最多 3 次学生重跑,以及整合智能体的多轮工具调用,论文未报告 token 消耗与墙钟时间,难以评估部署经济性;(2) 评测仅 5 个基准且每个基准独立训练一份技能库,跨基准共享技能的能力未被检验;(3) 推理时把整份技能文件塞进提示词(附录 A 明确说明未做检索/路由),技能库一旦增大就会挤占上下文、放大延迟,38 条尚可但缺乏上限分析;(4) 所有结果基于单次评测运行,缺少方差与显著性报告,3 分左右的提升(vs SkillOpt)需要多种子复跑确认。

独立分析的弱点

独立分析来看有五个弱点及改进方向。第一,技能获取的成本/收益不透明:论文未给出每次蒸馏的平均 token 数与调用次数,实际部署难以预估——改进方向是引入「预算感知」的自适应停止(如学生重跑置信度达阈值即停)。第二,技能库无检索机制,整库注入提示在技能数上界处会失效,建议借鉴 Graph-of-Skills 的依赖感知检索或 SkillsVote 的生命周期治理,按任务动态选子集。第三,跨基准零迁移未验证:每个基准单独训练,技能是否真正「类型级」可复用还是依赖基准内分布存疑,可设计 leave-one-benchmark-out 评估。第四,对整合智能体的强依赖:整合智能体用的是教师同款大模型(Group 2 用 ChatGPT-5.5),其多轮工具调用本身就是成本与延迟大头,也带来风格偏置;可探索用轻量整合器或规则化启发式替代部分决策。第五,单次评测缺方差,关键 3 分左右的提升(vs SkillOpt)需要多种子复跑确认显著性。

未来方向

作者层面,论文指出首轮自适应贡献最大、后续轮次边际递减,暗示可探索更智能的轮数调度而非固定 $n=3$;并提到模型无关性为跨家族迁移打开空间。基于成果可延伸的方向有:(1) 把 trace-linked 编辑历史升级为持续学习机制,支持技能库在部署后增量进化与遗忘管理;(2) 引入技能检索/路由,使单一技能库能跨基准共享,验证技能的真正可迁移性;(3) 把师生对比泛化为多教师集成或多学生协作蒸馏,降低对单一教师质量的依赖;(4) 探索用强化学习或元学习替代整合智能体的多轮工具调用,降低蒸馏成本;(5) 把技能补丁的可解释审计(why/trace 字段)用于安全合规场景,形成可追溯的智能体行为治理。

复现评估

复现门槛中等偏上。开源与数据方面,论文正文未给出代码/技能库的公开链接(写作时点),但所用五个基准(SearchQA、SpreadsheetBench、DocVQA、LiveMath、ALFWorld)均为公开数据集,附录 A 给出了切分(默认 2:1:7,种子 42)与各部分规模(Table 5,如 ALFWorld 仅 39 条训练实例,SearchQA 400 条)。算力方面,学生模型在 4× NVIDIA A100 80GB 上本地部署,教师与整合智能体走官方 API,单基准训练集规模不大,蒸馏阶段计算量主要来自学生重跑与教师 API 调用。复现难点在于:整合智能体的多轮工具调用与 prompt 模板(附录 B 已给)需要仔细还原,自适应循环的状态机(精炼记录 $E_i$、编辑历史 $H$、提交/回滚)工程量不小;另外 Teacher/Consolidation 用的是闭源商业模型,跨家族结果(Group 2)受 API 版本波动影响,纯本地复现 Group 1 更可控。