论文 : SKILL-DISCO: Distilling and Compiling Agent Traces into Reusable Procedural Skills作者 : Zhongxin Guo, Danrui Qi, Hanwen Gu, Peng Cheng, Yongqiang Xiong机构 : Microsoft Research & Beijing Foreign Studies UniversityarXiv : 2606.26669整理时间 : 2026-07-29
🤔 AI 遇到了什么问题? 想象你是一个聪明的小机器人 🤖
你每天都要做很多家务:
🍳 热牛奶 → 去厨房 → 打开冰箱 → 拿出牛奶 → 放微波炉 → 加热
📖 找书 → 去书房 → 打开抽屉 → 翻找 → 拿到书
但是! 每次做类似的事情,你都要从头想一遍,就像从来没做过一样!
前后对比
😫 以前的样子
😊 有了 SKILL-DISCO 后
每次找东西都要重新想:”去这里… 然后打开… 然后找…” 又慢又累!
记住了一个万能公式:“找东西 = 去房间 → 翻找 → 拿到” 以后直接套用!
🧠 三个重要的”魔法概念” 📍 概念 1:任务就像走迷宫(FSM) 大人说: FSM(有限状态机)是一个数学模型,描述任务由有限的状态和确定性的转移组成。
🧒 小朋友理解: 想象你在玩一个闯关游戏!每个房间就是一个”状态”,你做的每个动作(开门、拿东西)就是从一个房间走到另一个房间。只要你知道规则和路线,就能顺利通关!
🎮 游戏闯关 = 状态机 1 起点 🏠 → 找房间 🔍 → 拿东西 📦 → 完成 🎉
🎭 概念 2:万能公式(PFSM) 大人说: PFSM(参数化有限状态机)把具体的状态和动作抽象为带参数的状态和算子,使得不同轨迹可以实例化为相同的执行模式。
🧒 小朋友理解: 就像你学会了一个万能句型:”去__[地方]拿 [东西]__”。不管是”去冰箱拿牛奶”还是”去抽屉拿铅笔”,用的都是同一个句型!只是里面的”地方”和”东西”换了一下。
📝 万能公式示例 万能技能:找东西 🔍
1 去 [地方] → 翻找 [东西] → 拿到 [目标] 🎯
实例
地方
东西
动作
🥛 找牛奶
厨房
牛奶
拿起来
📖 找书
书房
书
捧起来
🧸 找玩具
卧室
玩具熊
抱起来
都是同一个”找东西”技能!
🎭 深入理解 PFSM:像玩”填空题”一样
🧒 最最最简单的理解: PFSM 就像一个你最喜欢的**”填空题游戏本”** 📔! 每一页都印着同一个故事模板,只是有些地方是空白的,需要你填上不同的答案。 填不同的答案,就变成了不同的故事,但讲故事的方法是一样的 !
📖 故事模板(PFSM 技能)
从前,有一个小机器人要去 _____ 找 _____ 。 它先去了第一个房间,打开门看了看。 如果找到了,就 _____ 。 如果没找到,就去下一个房间继续找。 最后,小机器人开心地完成任务!🎉
故事
地方
东西
动作
故事 A:找牛奶
厨房
牛奶
拿起来
故事 B:找故事书
书房
故事书
捧起来
故事 C:找小熊
卧室
玩具熊
抱起来
💡 发现了吗? 三个故事虽然讲的事情不同(找牛奶、找书、找玩具熊),但是讲故事的套路完全一样 ! 就像你学会了唱一首歌的旋律 🎵,只要换一换歌词,就能唱出很多首不同的歌! PFSM 就是这个”旋律”,参数就是可以换的”歌词”!
🏗️ PFSM 就像”乐高积木”
🧱 以前的方法
🏰 PFSM 方法
每次都要造一座全新的房子
先造一个”万能城堡模板”
📝 “去厨房拿牛奶”
🧩 “去__[地方]拿 [东西]__”
📝 “去书房拿铅笔”
一个模板,千变万化!
📝 “去卧室拿袜子”
填什么就是什么!✨
每句话都是独立的!
🧒 小朋友想一想: 如果你有 100 个不同的小玩具要找,用以前的方法要写 100 句不同的话。 但是有了 PFSM 的万能公式,你只需要一句话 + 100 种填空答案 ! 就像你有一个魔法印章 🪄,只要在空格里盖不同的图案,就能变出不同的东西!这就是 PFSM 聪明的地方 —— 用一个”空框框”装下无数种可能!
🚦 PFSM 还有”红绿灯” PFSM 不只是填空,它还能根据情况做不同的选择 !就像过马路要看红绿灯 🚦
🎮 小游戏:找东西的”智能路线”
1 2 3 🏁 开始 → 去房间 🚪 → 🔍 找到了吗? → ❌ 没有 → 去下一个房间 ↓ ✅ 找到了! → 拿走它 🎁 → 🎉 完成任务
🧒 看这个”红绿灯”路线: 小机器人不是傻傻地一条道走到黑,它会一边走一边看 : “找到了吗?” → 如果红灯(没找到),就换条路继续找 🔄 “找到了吗?” → 如果绿灯(找到了),就拿走完成任务 ✅ PFSM 就是包含了这些”红绿灯判断”的万能路线图!
🧪 概念 3:技能工厂(SKILL-DISCO) 大人说: SKILL-DISCO 是一个蒸馏-编译框架,从成功轨迹中蒸馏可复用的 PFSM 子图,并将其编译为可调用、可执行、可验证的程序性技能。
🧒 小朋友理解: 想象你有一个”聪明药水工厂” 🏭!你把以前成功做过的事情(比如成功找到过牛奶、成功找到过书)倒进工厂里。工厂会自动找出这些事情中相同的部分,做成一个个”技能药丸” 💊。以后遇到类似的事情,直接吞一颗药丸就知道怎么做了!
⚙️ SKILL-DISCO 是怎么工作的? 整个框架就像一座**”技能工厂”**,有两个大车间:
🔥 第一车间:蒸馏(Distillation)
🔧 第二车间:编译(Compilation)
把成功经验”煮”出精华
把精华做成可用的工具
⚗️
🛠️
📋 详细步骤 步骤 1:📝 记录成功故事(轨迹规范化) 把 AI 做过的事情整理成清晰的步骤清单。
🧒 就像你写日记,把”今天我做了什么”一步一步写清楚,不能漏掉任何一个动作!
步骤 2:✂️ 切成小片段(子目标提取) 把一个长故事切成几个可以单独使用的小故事。
🧒 就像把一本厚书分成几个章节,每个章节讲一个小主题。这样你可以单独看任何一个章节!
示例:
1 2 3 4 5 长故事:去厨房 → 开冰箱 → 拿牛奶 → 关冰箱 → 去客厅 → 放微波炉 → 加热 → 拿出来 切成: [找东西]:去厨房 → 开冰箱 → 拿牛奶 [用电器]:放微波炉 → 加热 → 拿出来
步骤 3:🧩 找出相同的拼图块(技能整合) 看看哪些小片段在不同故事里反复出现。
🧒 你有很多次”找东西”的经历,虽然找的东西不同,但步骤都差不多!工厂就把这些相似的步骤打包成一个”找东西”技能包。
🎯 聪明之处: 只保留那些在很多次成功中都出现过的步骤组合,这样技能才可靠!
步骤 4:📋 写说明书(技能规范) 给每个技能写一个详细的说明书:叫什么名字、需要什么、能做什么、不能做什么。
🧒 就像乐高积木的说明书,告诉你这个积木块是什么形状、可以拼在哪里、能用来做什么!
步骤 5:🧪 考试验证(合成与验证) 把技能写成真正的程序代码,然后在新的任务上测试,看看是不是真的好用。
🧒 就像你学会了一个新游戏技巧,要在真正的游戏里试一试,看是不是真的好用!不好用就再改一改,直到好用为止!
🔬 技术深入:FSM、PFSM 与合并机制 📍 从 FSM 到 PFSM:从”精确地图”到”万能模板” 大人说: FSM(有限状态机)记录的是具体执行路径,而 PFSM(参数化有限状态机)通过引入参数空间 Θ,将具体状态/动作抽象为参数化状态/算子,使得不同轨迹可以实例化为相同的执行模式。
🧒 小朋友理解: 想象你有两张藏宝图 🗺️:
图 A(FSM) :”从家出发 → 走到第3棵橡树 → 向左转 → 挖开泥土 → 找到金币”
图 B(FSM) :”从家出发 → 走到河边 → 向右转 → 搬开石头 → 找到银币”
这两张图看起来完全不同!
但是 PFSM 把两张图变成了同一个万能模板: “从家出发 → 走到[地标] → [转向] → [移动障碍] → 找到[宝藏]”
填上不同的参数,就是不同的寻宝路线!
🗺️ FSM vs PFSM 对比
📍 FSM:精确地图
🎯 PFSM:万能模板
🏠 → 🌳橡树3 → ⬅️左转 → ⛏️挖土 → 🪙金币
🏠 → [地标] → [转向] → [移障碍] → [宝藏]
🏠 → 🌊河边 → ➡️右转 → 🪨搬石头 → 🪙银币
每条路线都是独立的!
一个模板,千变万化!
🔗 不同 Trace 的合并机制 大人说: Stage 3(Procedural Skill Consolidation)通过语义聚类将共享相同参数化控制流结构的子目标操作归为一类。合并判断基于参数绑定下的子图匹配,而非表面文本相似性。
🧒 小朋友理解: 想象你是一个拼图大师 🧩。你有很多张不同任务的完成照片,你要找出哪些照片拍的是同一个”套路” 。
判断标准不是”照片里有什么东西”,而是**”做事情的方法是不是一样”**:
照片 A:小明去厨房翻冰箱找牛奶 ✅
照片 B:小红去书房翻抽屉找铅笔 ✅
照片 C:小刚直接坐在沙发上看电视 ❌
A 和 B 虽然找的东西不同,但是方法一样 (去地方 → 翻找 → 拿到),所以可以合并! C 的方法完全不同,不能合并。
📐 合并的数学判断公式 每个候选聚类得到一个**”可复用性评分”**:
意思是:这个”套路”在多少条成功轨迹里出现过?
出现得越多,评分越高,越值得做成一个技能!
🧩 合并效果对比
📚 不合并(ASI 方法)
🎯 合并后(SKILL-DISCO)
ALFWorld: 110 个技能
ALFWorld: 5 个技能
WebArena: 146 个技能
WebArena: 20 个技能
每个轨迹一个技能,重复太多!
相似的合并成一个,精简 5~22 倍!
⚗️ 蒸馏(Distillation):三步煮出精华 大人说: 蒸馏阶段通过 Trace Normalization → Subgoal-level Operation Extraction → Procedural Skill Consolidation 三个阶段,将原始轨迹提升为可复用的 PFSM 子图。每个阶段由 LLM 驱动,逐步抽象参数化控制流结构。
三步流水线
阶段
名称
作用
📝 Stage 1
轨迹规范化
把杂乱的执行日志变成整齐的程序
✂️ Stage 2
子目标提取
把长程序切成可复用的小块
🧩 Stage 3
技能整合
把相似的小块打包成万能技能
示例:
1 2 3 4 5 输入:原始日志 "嗯...让我想想...先去厨房吧...哦冰箱在那...打开它..." 输出:规范化程序 go_to(厨房) → open(冰箱) → take(牛奶)
🧒 小朋友理解”蒸馏”: 想象你在煮一锅超级浓缩汤 🍲: 1️⃣ Stage 1 :先把所有食材(原始轨迹)洗干净、切好 2️⃣ Stage 2 :把食材按种类分开(肉放一起、菜放一起) 3️⃣ Stage 3 :把相同的食材合并,做成”万能汤底”
最后你得到的是一小碗超级浓缩的精华汤底 ,只要加一点水就能变出一大锅汤!
🔧 编译(Compilation):把图纸变成真工具 大人说: 编译阶段通过 Skill Specification → Synthesis and Verification 两个阶段,将 PFSM 子图转化为可调用、可执行、可验证的 Python 程序。规范定义调用接口和行为约束,合成生成代码,验证在 held-out 任务上检验正确性。
Stage 4: 技能规范 给技能写”身份证”和”说明书”:
属性
内容
🆔 名字
search_and_take
📥 输入
地点 l,对象 o
📤 输出
是否找到(True/False)
⚠️ 前提
对象必须在某个地方
✅ 保证
如果成功,对象被拿到
⭐ 置信度
0.95(95%可靠)
Stage 5: 合成与验证 LLM 合成 Python 代码:
1 2 3 4 5 6 7 def search_and_take (l, o ): go_to(l) if can_open(l): open (l) if found(o): return take(o) return False
在新任务上测试 ✅ → 通过!
🧒 小朋友理解”编译”: 想象你要做一把真真正正能用的玩具锤子 🔨:
Stage 4(写说明书) : 先画图纸,写清楚:锤子长什么样?用什么材料?能钉多大的钉子?
Stage 5(做锤子 + 考试) : 按照图纸做出真锤子,然后去钉钉子试试:
能钉进去?✅ 通过!
钉不进去?❌ 重做!
最多重做 R 次,还不行就扔掉
最后只有真正好用的锤子 才会放进工具箱里!
🎯 完整流水线总览 1 2 3 4 5 6 7 8 9 📥 输入:N 条成功轨迹 ↓ 📝 规范化 → ✂️ 提取 → 🧩 整合 【🔥 蒸馏:煮出精华】 ↓ 📋 规范 → 🧪 合成验证 【🔧 编译:做成真工具】 ↓ 📤 输出:可调用技能库
🏆 效果怎么样? 科学家在两个测试场地上做了实验:
🏠 ALFWorld :文字版的家务任务
🌐 WebArena :真实的网页浏览任务
📊 实验结果
指标
数值
说明
ALFWorld 成功率
99.3%
之前 96.3%
平均交互轮数
3.2
之前 3.6 轮
小模型性能提升
+85%
Qwen3.5-4B
学到的技能数
5
对手需要 110 个
🎉 最厉害的地方: 用 GPT-4o 学到的技能,可以直接给更小的模型(比如 Qwen3.5-9B)使用,小模型用了之后成功率从 54.5% 飙升到 98.5%!就像学霸的笔记借给学渣,学渣也能考高分!
🌟 一句话总结
🧒 SKILL-DISCO 就像一个”聪明药水工厂” 🏭
它把 AI 以前成功做过的事情 提炼成一个个”万能技能药丸” 💊
以后遇到类似的事情 直接吞一颗药丸就知道怎么做又快又准! 🚀
📄 论文信息
项目
内容
论文标题
SKILL-DISCO: Distilling and Compiling Agent Traces into Reusable Procedural Skills
作者
Zhongxin Guo, Danrui Qi, Hanwen Gu, Peng Cheng, Yongqiang Xiong
机构
Microsoft Research & Beijing Foreign Studies University
发布时间
2026年6月
arXiv
2606.26669
整理:A梦 (turbineyan) 来源:HTML 文件转换 原文:skill_disco_explained.html