公开记录显示,自 2025 年 10 月以来已有超过 60 万个 skill 可供调用。skill 把领域知识、操作流程和脚本等资源封装起来,但把文档放到模型面前,并不等于模型就会识别何时该用、怎样遵守约束、如何把多个 skill 串成工作流。
SKT 把训练重点放在“使用 skill”上:从 2,000 个公开 skill 生成可验证任务,再筛出真正完成任务且按要求使用 skill 的轨迹。用这批轨迹微调 Qwen3.5-9B 与 Gemma 4 E4B-IT 后,论文报告的 16 组模型-harness-基准配对比较全部提高,增幅为 3.20 至 18.91 分。
[图1:SKT 是用于 skill 使用任务和轨迹的多 agent 数据合成流水线] 使用 SKT 合成数据训练,可以提升 agent 使用 Agent Skills 的能力。

skill 文档为什么还不够
一个可用的 skill 通常包含指令、元数据以及脚本或模板等资源。有效使用它需要模型同时完成几件事:识别任务与 skill 的关联,理解操作限制,在多 skill 任务中分配角色,并按文档调用工具。已有工作常聚焦 skill 检索、把 skill 知识压入模型参数,或让 skill 协助 agent 改进;SKT 关注的是模型面对外部 skill 时的实际使用行为。
这一区分会直接影响训练数据。只有最终答案正确的轨迹,可能完全没有用到指定 skill;只打开过文档的轨迹,也不代表文档参与了后续决策。SKT 因此把“任务可验证”和“skill 被忠实使用”都设为数据进入训练集的条件。
[图2:SKT 概览] 基于规则的筛选器选择单 skill 与多 skill 配置,模板驱动合成生成可执行任务包;任务经过规则、agent 和难度检查,失败任务经反馈循环修复。被接收的任务由模型-harness 组合求解,第二轮验证只保留正确且忠实使用 skill 的轨迹用于监督微调。

2,000 个 skill 如何变成可训练轨迹
SKT 允许单 skill、双 skill 和三 skill 任务。它先筛选能够支撑可执行、可客观评分任务的 skill;多 skill 配置还要通过工作流连贯性检查,确保每个 skill 有不同角色。随后,模板会把任务指令、隔离运行环境、执行设置、可执行评估器和参考方案组装为任务包。
任务包先过规则检查:组件与路径必须完整有效,参考方案要能在干净工作区得到满分,任务材料不能把答案或关键规则泄露到 skill 文件以外。接着由 agent 检查指令是否完整、环境信息是否足够,并用“提供 skill”与“不提供 skill”的成对运行确认前者得分更高。过于容易的任务会返回修改,超过修复预算的候选会被丢弃。
[表3:SKT 数据构建的高层配置] 表中列出 skill 数量、任务侧模型组件、难度控制器、教师模型和轨迹 harness;任务配置使用单、双、三 skill 组合,轨迹由 DeepAgents 与 OpenCode 收集。

通过这些环节后,2,000 个 skill 产出 4,000 个合成任务。强模型在 OpenCode 与 DeepAgents 中执行任务,规则验证器检查结果、工具调用和 skill 访问,模型验证器再判断 skill 是否实质影响了决策或产出。最终留下 27,164 条验证轨迹,作为两种 9B 级模型的监督微调数据。
16 组配对比较都出现提升
评测覆盖 SkillsBench、MolBench-Bind、AgentSkillOS-bench 与 SkillEval。前 3 个来自已有评测,SkillEval 由一批不与训练 skill 重叠的保留 skill 构建;四个基准的任务都会提供指定 skill 文件。每个分数是 0 至 100 的四次完整运行均值及样本标准差。
[表1:外部提供 skill 时的匹配 harness 性能] 表中报告 Qwen3.5-9B 和 Gemma 4 E4B-IT 在四个基准上的均值与样本标准差,每个模型-harness 配对完成四次完整运行,粗体表示该配对中更高的均值。

Qwen3.5-9B 与 Gemma 4 E4B-IT 分别在 OpenCode、DeepAgents 下评测,共形成 16 个原始模型与 SKT 模型的配对。最小提升是 Gemma 4 E4B-IT + OpenCode 在 SkillsBench 上从 7.08 到 10.28,增加 3.20 分;最大提升是 Qwen3.5-9B + DeepAgents 在 SkillEval 上从 51.62 到 70.53,增加 18.91 分。
SkillEval 的结果特别适合检验训练是否只记住了具体文档:它使用的 skill 与训练池没有重叠。这里的提升为 10.25 至 18.91 分,说明这批数据至少在该保留 skill 池上训练出了可迁移的使用模式;它不代表已经覆盖 60 万个公开 skill,也不能替代真实生产环境的泛化验证。
[图3:Qwen3.5-9B 在任务指定 skill 被移除或提供时的原始模型与 SKT 分数] 图中比较 OpenCode 和 DeepAgents 下指定 skill 缺失与正常提供两种条件的绝对得分。

验证环节比单纯增加合成数据更关键
当指定 skill 被移除时,SKT 的优势缩小到 0.53 至 5.69 分;正常提供 skill 时,优势为 8.68 至 18.91 分。这个对照显示,分数增益主要依赖模型在运行时读取和使用外部 skill,模型参数中保留的 skill 内容只贡献了较小部分。
另一项对照更直接。用未验证的合成任务和轨迹微调 Qwen3.5-9B + OpenCode,四个基准的均值都低于原始模型,降幅为 1.9 至 19.5 分;SKT 数据则让四项均值上升,两者之间的差距为 11.91 至 24.61 分。对这种需要工具、环境和多步执行的训练,能否验证任务与轨迹比扩大样本数量更值得先检查。
[图4:未验证轨迹或 SKT 轨迹微调后相对原始模型的分数变化] 图中比较 Qwen3.5-9B + OpenCode 微调后四个基准的四次运行均值;未验证数据降低四项均值,SKT 数据提高四项均值。

harness 迁移只保留一部分收益
轨迹中还包含 harness 的交互协议,因此在一个 harness 中收集的数据未必能完整迁移到另一个。在 Qwen3.5-9B 的跨 harness 测试中,从 DeepAgents 训练迁移到 OpenCode 的 SkillsBench 分数由 5.80 升到 11.60,保留匹配训练收益的 58.1%;反向迁移保留 50.1%。SkillEval 的两种迁移设置保留 49.1% 与 52.1%。
混合 OpenCode 和 DeepAgents 轨迹训练一个 checkpoint 后,8 个基准-harness 比较都高于原始模型,与各自匹配 harness 专用模型的均值差最多 2.71 分。训练 skill 数从 100 扩到 2,000 时,Qwen3.5-9B + OpenCode 的 SkillEval 分数从 55.24 持续升至 72.48。
[表2:Qwen3.5-9B 的混合 harness 训练] Original 为原始 checkpoint,Specialist 使用评测 harness 的轨迹,Mixed 使用两个 harness 的轨迹;分数是四次完整运行的均值与样本标准差。

训练 skill 的覆盖度也会影响保留 skill 上的表现。论文将 Qwen3.5-9B + OpenCode 的训练 skill 预算从 100 逐步扩展到 2,000,并在同一 SkillEval 设置中观察分数变化。
[图6:Qwen3.5-9B + OpenCode 的 SkillEval 随训练 skill 预算变化] 图中报告四次运行的均值与样本标准差;训练 skill 预算从 0 增至 100、500、1,000 和 2,000。

依赖条件
SKT 的前提是 skill 能形成客观可评分、可在隔离环境运行的任务,且有稳定的参考方案和执行 harness。任务质量检查、强模型执行轨迹与验证过程共同构成训练数据成本;对于缺少可执行评估器、难以客观判断结果或运行环境不稳定的 skill,原文没有给出同等验证证据。
结论在实验范围:它展示了如何为外部 skill 的使用行为构造可验证合成数据,并在 Qwen3.5-9B、Gemma 4 E4B-IT、两种 harness 与四个基准中得到稳定提升。更大 skill 库、不同模型规模和真实线上任务的效果仍需各自评测。
📄 原文标题
SKT: Skill-Use Training at Scale via Verified Synthetic Data Generation
🔗 原文链接
https://arxiv.org/abs/2608.02287
夜雨聆风