Trace2Skill 深度解读:把 agent 的试错,蒸馏成可迁移的「手艺」
> 一句话总结:与其让 agent 记住每次失败的细节(检索式经验库),不如让它从几百次试错中提炼出几条通用「手艺规则」——就像老师傅带徒弟时,不会讲"上次第三颗螺丝拧错了",而是说"拧这种螺丝要先用手带三圈"。Trace2Skill 证明,35B 小模型提炼出的手艺,能让 122B 大模型提升 57 个百分点。
---
一、从一个具体的场景开始理解
想象你在教一个实习生用 Excel 处理表格。他第一次做,公式写完后忘了重新计算,导致所有单元格显示为空。你纠正他:"写公式后必须运行 recalc.py"。
第二次,他用 pandas 保存文件,结果所有公式被静默转成静态值。你再次纠正:"改表格要用 openpyxl,pandas 会破坏公式关系"。
第三次,他删除行时从下往上删,结果索引错乱。你又得纠正...
如果你每次都只说"上次你错在这里",实习生永远学不到系统的方法。但如果你把这三条教训加上"写完后要重新打开文件验证""先备份再编辑"等规则,整理成一份《Excel 处理规范》——这就是 skill。
Trace2Skill 做的,就是让 agent 自动完成这个「从试错到规范」的提炼过程。
---
二、Trace2Skill 的本质:不是记住错误,而是提炼规律
论文的核心洞察很简单:经验的价值不在于记住每次失败的具体细节,而在于发现失败背后的通用模式。
现有方法的问题有两类:
第一类:检索式经验库(如 ReasoningBank)——把每次轨迹的教训存进数据库,用时检索。问题是,检索依赖表面相似度,测试查询和训练查询措辞不同时,检索失效。而且 agent 拿到的是碎片化的局部建议,不是系统性的全局指导。
第二类:顺序在线编辑(如 AutoSkill、EvoSkill)——来一条轨迹,改一次 skill。问题是,顺序编辑会让 skill 过早收敛到早期观察到的模式,后期的多样性被忽略。就像写书时,每读完一章就改一次大纲——最后一章的洞察永远进不了前几章的结构。
Trace2Skill 的解法:
三阶段流水线
Stage 1:轨迹生成 让 agent 在 200 个任务上执行,产生成功轨迹和失败轨迹。200 条轨迹用 122B 模型跑,不到 2 个 GPU 小时。
Stage 2:并行多智能体补丁提议 不是让一个 LLM 顺序看所有轨迹,而是派出 128 个并行的「分析师子 agent」——每个只看一条轨迹:
- Error Analyst(A⁻):用 ReAct 多轮循环,能查看文件、对比 ground truth、验证修复,直到找到真正的根因。质量门槛很严:找不到验证过的根因,这条轨迹就 discard。
- Success Analyst(A⁺):单轮调用,提取成功轨迹中的通用有效模式。
Stage 3:冲突免费合并 把所有补丁同时合并,而不是顺序应用。合并是分层进行的(类似锦标赛):
- 第一层:32 个补丁一组,合并成一个中间补丁
- 第二层:再把中间补丁合并...
- 直到生成最终的统一补丁
这就是归纳推理——从具体观察中提炼普遍规律。不是记住"第47号任务失败了",而是发现"公式写入后必须重新计算"这条通用规则。
---
三、关键设计:为什么并行合并优于顺序编辑?
论文做了直接的对比实验(表4):
| 方法 | 122B Vrf | 35B Vrf | 时间 |
|---|---|---|---|
| 顺序 B=4 | 59.00 | 26.17 | ~15 min |
| 顺序 B=1 | 61.83 | 26.00 | ~60 min |
| 并行(ours) | 65.83 | 27.00 | ~3 min |
为什么并行更好?
顺序编辑的问题在于漂移:每次编辑都改变了 skill,后续分析师在已修改的 skill 上工作,导致补丁之间的依赖和干扰。并行编辑让所有补丁都从同一个 frozen 初始 skill 出发,消除了顺序漂移。然后分层合并通过归纳推理,选择跨轨迹复发的模式——这些模式更可能是系统性的、可迁移的。
---
四、实验结果:35B 教 122B,效果还更好
这是最反直觉的发现。
表1的核心结果(Avg 列,跨模型+跨任务平均):
Skill Deepening(从人类 skill 开始改进):
- 122B 作者 +Combined: +9.19 pp
- 35B 作者 +Combined: +14.78 pp(35B 改进后的 skill,比 122B 自己改进的还好!)
- 35B 作者 +Error: +18.26 pp(最佳整体表现)
- 其中 WikiTQ(OOD)提升 +57.65 pp——从 23.73% 提升到 81.38%
这意味着:skill 提炼能力 和 任务执行能力 是两个不同的维度。35B 模型执行 DocVQA 不如 122B,但它提炼出的 skill 却能让 122B 大幅提升。说明归纳推理(从具体中提炼通用)是一种可被小模型掌握的独立能力。
---
五、诚实面对局限:31% 失败率去哪了?
论文花了大量篇幅分析失败案例。200 个查询中 62 个(31%)失败,三类原因:
1. 导航失误(38 次,61%):LLM 在顶层技能选择时走错了路 2. 过度检索(19 次,31%):LLM 找到了正确主题,但顺带抓了一堆无关文档 3. 合成错误(3 次,5%):LLM 误读条件性指令
这和 Corpus2Skill(上篇论文)的失败模式几乎一致——顶层分类的粒度是瓶颈。但 Trace2Skill 的诚实态度值得肯定:他们不掩盖失败,而是分析失败并从中提炼改进方向。
---
六、费曼式追问:这真的是「技能」吗?
让我用费曼的镜片审视一下。
问题1:命名 ≠ 理解
论文把产物叫 "skill"——但 skill 到底是什么?是一个格式化的 Markdown 文件?是一套操作步骤?还是真正的「手艺」——那种老师傅用了二十年、内化到骨髓里的直觉?
从论文的描述看,Trace2Skill 产出的是高度结构化的标准操作程序(SOP):明确的步骤、检查清单、工具选择规则。这和人类专家的手艺有本质区别——人类专家的 skill 包含大量的隐性知识(tacit knowledge):什么时候该灵活变通,什么时候该严格遵守规则。
所以更准确地说,Trace2Skill 产出的是可执行的程序规范,不是完整的技能。但对于 agent 来说,这已经够用了——agent 不需要「手感」,它需要明确的指令。
问题2:这是不是 cargo cult?
论文的形式非常完整:三阶段流水线、并行 agent swarm、分层合并、归纳推理... 听起来很像「科学方法的正确形式」。但核心问题是:这些形式是否真的带来了实质的改进,还是只是让过程看起来更专业?
数据给出了诚实的答案:
- 并行合并确实优于顺序编辑(表4)
- agentic error analysis 确实优于单 LLM 调用(表6,Avg +12.2 pp)
- 单一 skill 文档确实优于检索式经验库(表5,+13.8 pp Vrf)
问题3:反自欺——有没有选择性报告?
论文的一个潜在盲区:所有实验都用 Qwen3.5 系列(122B 和 35B)。没有在其他模型族(如 Llama、GPT)上验证。skill 的跨模型迁移只在同一家族内测试,跨家族的迁移性未知。
此外,"Avg" 指标的设计(等权重跨数据集和模型)有利于展示全面性,但也可能掩盖某些设置下的显著失败。比如 122B-authored Deepening +Success 在 Avg 上是 -0.9 pp,论文如实报告了这个负数。
---
七、落地启示:谁适合用这个?
适合的场景:
- 有明确的任务领域(如 Excel 处理、文档问答)
- 能收集大量执行轨迹(至少几十到几百条)
- 需要可迁移、可共享的 skill(不需要每个模型都重新训练)
- 任务领域快速变化(skill 需要频繁更新)
- 无法获取 ground truth 来验证失败根因
- 需要毫秒级响应(多轮 agent 分析和合并是耗时的)
---
八、结语
Trace2Skill 最有价值的贡献,是把「agent 自我进化」从在线的顺序编辑范式,转变为离线的并行归纳范式。
它证明了一件事:经验的价值不在于记住更多,而在于提炼得更深。几百条轨迹的并行分析,比顺序处理每条轨迹的局部教训,能产生更可迁移、更通用的技能。
而且,35B 小模型就能完成这个提炼——这意味着 skill 进化不需要依赖昂贵的专有模型。开源模型 + 大量轨迹 + 正确的提炼流程,就能产出高质量的可迁移技能。
> "先积累,后提炼"——未来的 agent 也许不再是"边做边学"的终身学习者,而是"做完一批任务后,坐下来写本手册"的专家。
---
📄 论文:arXiv:2603.25158 🏢 作者:Jingwei Ni, Yihao Liu, Xinpeng Liu, Yutao Sun, Mengyu Zhou 等(ETH Zurich / PKU / ZJU / Alibaba) 🔗 代码:https://github.com/trace2skill/trace2skill
#每日论文 #PapersCool #Trace2Skill #Agent技能 #经验蒸馏 #RAG