把技能文件塞进提示词,模型不一定找得到、也不一定照着做。上海AI实验室的一篇新论文给出了另一条路:用验证通过的技能运行轨迹来训练模型,让它本身变成一个更好的智能体,即便手上没有技能文件。
论文的核心发现是,提示词层面的技能依赖检索和指令遵循两个环节,任何一环掉链子,技能就白给了。而在经过验证的技能运行轨迹上做微调,能降低这种依赖。
把技能文件变成一道有判分的题
SkillGym 的做法是把每一份技能文件转成一个沙箱任务,再配一个通过或失败的检查器。模型跑这些任务,只有跑通的那部分运行轨迹会被拿来当训练数据。
这套流程解决的是一个老问题:技能文件通常躺在提示词里,只有被智能体找到并遵循,它才起作用。找不到、不照做,技能就等于不存在。
训练数据来自"跑对了"的运行,而不是来自技能文件本身。模型学到的是完成任务的过程,不是一段需要被检索的说明。
Claude Code 里的成绩单
在 Claude Code 环境中,Qwen3.5-35B-A3B 在 Terminal-Bench 2.1 上的成功率从 39.33% 提升到 58.43%,涨了 19.10 个百分点。
更值得注意的是没有技能文件时的表现:在 SkillsBench 上,它拿到 26.81%,超过了带技能的基座模型的 23.34%。也就是说,训练之后模型不靠外部技能文件,也能打赢原来那个拿着技能的版本。
技能文件并没有因此变得没用。在训练后的模型上再加载技能,成绩还能继续往上走,达到 51.47%。
技能该放在提示词里,还是放进权重里
这条路线给出的答案偏向后者。技能文件放在提示词里,效果受限于检索和遵循;把验证过的运行轨迹喂进训练,能力就沉到了模型本身。
两种方式并不互斥。加载技能仍然能带来额外提升,说明训练后的模型对技能的利用效率也变了——它不再是"能不能找到"的问题,而是"找到之后能叠加多少"的问题。
对做智能体的人来说,这个结果指向一个具体的操作:与其反复打磨提示词里的技能描述,不如先造一个能判定对错的沙箱,把跑通的轨迹收集起来。数据从哪来,可能比数据怎么写更关键。
热门跟贴