SPT:清华北邮把技能包做进预训练,Agent基准最高提升24.96分

SPT: Skills as Pre-Training Data for Agentic Language Models

论文原文 ↗ 论文发布 解读发布 解读:AI前沿分享

SPT:清华北邮把技能包做进预训练,Agent基准最高提升24.96分 论文图示

长期以来,构建具备工具调用与复杂任务规划能力的大语言模型智能体(Agentic LLM),主流范式始终落在后训练(Post-Training)阶段。无论是监督微调(SFT)还是强化学习(RL),开发者通常依赖大规模的合成函数调用样本或多轮交互轨迹(Trajectories)。然而,交互轨迹的生成高度依赖沙盒环境、执行反馈与结果验证,不仅构建成本高昂,其内容更往往受限于特定单次执行的环境细节,缺乏跨场景复用的泛化能力。

ArXiv URL:https://arxiv.org/abs/2608.26563v1

清华大学与北京邮电大学的研究团队打破了这种“预训练管通用常识,后训练才学工具调用”的惯性思维,提出了名为 SPT(Skill Pre-Training)的中间训练(Mid-Training)范式。该方法的核心思想在于:互联网上正快速积累的大量公开“技能包”(Skill Packages)本质上是人类为 AI 编写的高层复用工作流,完全可以作为因果语言模型(Causal LM)的自回归预训练语料。

研究团队从 ClawHub 等平台构建了包含 38,040 个多文件技能包的 SkillCorpus,并提出了保持跨文件引用上下文局部性的 Reference Insert 组装策略。实验表明,在 1.6B、3B 和 7B 三个尺寸的模型上,经由 SPT 中间训练的模型不仅在多项 Agent 评估基准上大幅超越直接 SFT 以及基于通用语料、轨迹语料训练的对照组,Agent 综合得分最高提升达 24.96 分,同时对通用常识推理能力几乎没有任何负面侵蚀。这为开源社区探索高效、廉价的 Agent 基础模型预训练提供了全新思路。

从“单次轨迹”转向“抽象工作流”:预训练语料的新来源

要理解 SPT 的出发点,首先需要审视当前 Agent 数据生态的结构性缺陷。目前训练工具调用模型主要依赖两类数据:一类是单步的函数调用三元组(Prompt、Tool Schema、Call Response),另一类是包含环境观测、多轮思考与交互动作的 Agent 轨迹(如 ReAct 格式)。

这两类数据虽然提供了直观的行为监督信号,但局限性显而易见。生成有效轨迹必须具备真实的运行时沙盒(如 Docker、浏览器、外部 API 模拟器),且需要复杂的执行校验来过滤死循环与幻觉调用。覆盖成千上万个真实世界的 API 需要极为沉重的工程基建投入。更为关键的是,轨迹数据记录的仅仅是某一特定初始状态下的离散执行路径,它教会了模型“遇到该特定反馈时按这个格式输出”,却没有系统性地教会模型“这一整套工具链背后的依赖逻辑与通用工作流”。

与此同时,开源社区的工具使用形态正悄然转变。随着各类 Agent 框架的兴起,人类开发者在 npm、ClawHub 等平台上发布了海量标准化的“技能包”。仅在 npm 注册表上,技能包的发布数量在短短数月内便经历了数倍的爆发式增长。这些技能包通常包含一个主指令文件(如 SKILL.md)以及相关的引用文档、配置模板和脚本逻辑。

与传统轨迹不同,技能包由人类精心设计,完整定义了任务的前置条件、决策树、参数边界、异常规避以及配套资源引用。此前,业界普遍仅将技能包视作推理阶段注入上下文窗口的 Prompt(即 In-Context Agent Tools)。SPT 的关键洞察在于:技能包本质上是一份高度浓缩、结构严谨的程序化知识文档,将其作为预训练语料自回归读入,能让基座模型在接触具体 SFT 对齐之前,就先在参数中建立起对工具语义和长流程工作流的深层归纳偏置。

SkillCorpus 的清洗与“去污染”防线

将外部社区的代码与技能数据引入预训练,最大的挑战在于噪声过滤与评测基准泄漏。研究团队构建的 SkillCorpus 源自公开技能平台 ClawHub,经过多重筛选后形成了标准化语料。

数据筛选流程首先剔除了未认证发布者以及缺少完整性审计的包,保留下来的每个技能包平均包含 5.74 个文件,由一个主指令文件和若干辅助资源文件组成。为了清洗低质内容,研究团队采用迭代式的人工审计与规则挖掘策略:先抽取样本归纳出自动生成垃圾文本、近重复包、死循环脚本等典型缺陷模式,编写启发式规则筛除约 2% 的包,并在多轮反馈中持续收敛过滤规则。

更关键的一环在于对评测基准的严格“去污染”(Decontamination)。现代 Agent 研究领域常被指责存在隐性数据泄漏风险。研究人员联合人工审计与高效模型筛查,针对主流评测集(包括 API-Bank、MetaTool、APTBench、ToolEyes 等 Agent 评测集,以及 OLMES 通用评测集)进行了细粒度对比。凡是包含基准所涉特定 API 架构、定制任务模板、改写变体或衍生代码的技能包均被彻底清除(约占候选包的 0.3%)。最终进入训练的 SkillCorpus 包含 38,040 个纯净技能包,共计 218,277 个文本文件。

多文件组装的玄机:为什么需要 Reference Insert?

如果直接将技能包内的多个文件按文件夹字典序或者随机顺序串联成一个 Token 序列输入 Transformer,会引发严重的表征断层。

一个典型的多文件技能包中,主指令文件 SKILL.md 在描述某一步骤时,可能会写明“关于样本量估算,参见 refs/size.md;关于配置模板,参见 config/template.yaml”。若采用简单的文件拼接,主文件中出现引用的位置与被引用文件的具体内容之间可能隔了数千个 Token。在自回归因果语言模型的目标下,当模型读到主文件的引用位置时,注意力机制无法在较小的局部窗口内紧密捕捉主旨与细节之间的因果映射。

为了解决这一问题,SPT 设计了 Reference Insert(引用感知插入)策略。该机制不改变文件内部的任何文字和代码,但在对技能包进行序列化时,会动态解析主指令文件中首次提及某个辅助文件的位置,并将该被引用文件的完整内容直接就近插入在首次提及处。对于那些未在主文件中显式引用但属于该包的剩余文件,则统一附在末尾。

这一改动虽然形式简洁,但在因果自回归建模中带来了本质区别:它将跨文件的高层流程调用与底层的具体实现、参数范例在 Token 距离上直接拉近。消融实验也证实了这种物理布局的价值。研究团队对比了随机文件拼接(Random File)、添加文件元数据标签(Metadata)、代码领域常用的中缀补全模式(Skill-FIM)以及 Reference Insert。结果显示,添加额外的结构性元数据标记或通用的代码补全转换并不能让模型有效理解工作流,而 Reference Insert 凭借对人类引用语义的局部化对齐,在各个工具调用与规划基准上均取得了最均衡、最优越的性能。

跨尺寸、跨流程的系统性验证

为了全面评估预训练技能知识的有效性,研究团队采用了严格控制变量的对比实验,涵盖三个不同量级的开源基座模型:MeCo-1.6B、Instella-3B 与 OLMo-3-7B。值得注意的是,这些基座均处于一阶段基础预训练完成的节点,未经历任何领域退火或对齐阶段,从而消除了以往混合训练带来的干扰。

在相同的训练 Token 预算下,研究对比了三种中间训练条件:基于通用语料的 Dolmino、基于多步交互轨迹语料的 AgentBank,以及基于技能包的 SkillCorpus;同时以完全不做中间训练直接进行后训练的模式作为基线。中间训练完成后,模型分别进入两种不同的后训练分支:通用的指令微调(基于 Tulu 3)以及面向函数调用的微调(基于 xLAM-FC)。

最终的评测涵盖了两大维度:利用 API-Bank、MetaTool、APTBench 和 ToolEyes 四个高难度基准评估 Agent 能力,利用涵盖常识推理、科学问答的 OLMES 六项任务评估通用语言能力。实验结果呈现出极其一致的规律:

在所有测试的基座尺寸和所有后训练路径下,使用 SkillCorpus 进行中间训练的 SPT 方案在 Agent 综合得分上均名列榜首。在 24 个细分 Agent 基准比拼中,SPT 拿下了 23 项第一。相较于跳过中间训练直接微调的基线,SPT 在 1.6B 模型上带来了 9.11 至 11.55 分的提升;在 3B 模型上带来了 13.28 至 16.99 分的提升;而在 7B 模型上,综合得分提升幅度高达 19.33 至 24.96 分。

尤为值得关注的是与 AgentBank 的对比。AgentBank 充斥着完整的单步工具调用轨迹,直觉上它与下游评测形式更为接近。然而实验数据显示,仅学习单次执行轨迹的 AgentBank 在下游评估中显著落后于学习抽象技能包的 SkillCorpus。这一差距揭示了一个深层机理:在预训练阶段,模型更需要的是对工具组织拓扑、前置约束与参数逻辑的概念性理解,而非对特定环境交互输出格式的生硬记忆。

与此同时,通用评测基准的结果打消了“领域过拟合”的担忧。在涵盖 MMLU、ARC-Challenge、HellaSwag 等通用任务的 OLMES 评测中,SPT 模型的得分波动仅在 $-0.85$ 至 $+0.51$ 之间,证明摄入结构化的技能包语料并没有损害模型原有的常识理解与通用推理能力。

技能知识与工具微调的互补效应

论文中另一项极具启发性的发现,体现在不同后训练方案与 SPT 的协同效果上。

对比通用指令微调 Tulu 3 与专注函数调用的微调 xLAM-FC 可以发现:模型在经历了 SPT 之后,再接受 xLAM-FC 微调所获得的增益,显著大于接受 Tulu 3 后的增益。在 1.6B 规模下,SPT 为 xLAM-FC 带来的增益比 Tulu 3 高出 2.44 分;在 7B 规模下,这一差距扩大到了 5.63 分(增益分别为 24.96 分与 19.33 分)。

这说明 SPT 赋予模型的抽象工作流先验,与 SFT 阶段教给模型的严格 JSON 格式调用与 API 语法形成了高度互补。传统的函数调用微调容易让小模型陷入“强行匹配语法模板却缺乏全局工具规划”的困境;而经历过技能预训练的模型,已经在内部参数中建立起了清晰的工具生态表征,后训练的格式引导能迅速激活这些隐式知识,激发出更强大的端到端多步调用能力。

数据配比原则与强化学习阶段的鲁棒性

在实际的模型研发管线中,中间训练通常不会单独使用某一垂直领域的语料,而是采用混合退火(Annealing)的形式。研究团队进一步探讨了在固定的计算 Token 预算下,技能数据与通用数据应当如何配比。

通过在 Dolmino 与 SmolLM 两种通用数据源上进行的配比扫描实验,结果给出了明确的工程指导:技能数据绝不应孤立使用,而必须与通用语料按比例混合。 在曲线两端,纯通用语料与纯技能语料的表现均弱于居中的混合条件。适量的通用语料提供了语法多样性与广泛的基础常识,而技能语料则注入了密集的程序化思维,二者协同才能最大化激发下游的 Agent 效能。

此外,当前主流 Agent 训练已普遍演进为“SFT 之后接强化学习(RL)”。为了验证 SPT 学到的能力是否会在后续策略优化中被冲刷殆尽,研究团队在 SmolLM2-360M 上设计了完整的链路检验:在经历无中间训练、Dolmino 训练与 SkillCorpus 训练后,三组模型分别完成 Tulu 3 微调,进而使用基于数学和复杂指令约束的 GRPO(Group Relative Policy Optimization)算法进行策略对齐。

尽管该 RL 阶段使用的奖励完全针对数学与约束遵循,未包含任何工具调用与 Agent 奖励信号,但经历过 SPT 的模型在 RL 之后依然对通用退火模型及基线保持着清晰的 Agent 性能优势。这表明通过自回归目标预先沉淀在模型底层的技能表征具有很强的稳定性,能够在多次跨分布的下游策略迭代中持续保留。

总结与展望

清华与北邮这项关于 SPT 的工作,其核心价值不仅在于提出了一个切实有效的数据工程技巧,更在于重新定义了开源技能资源的效用边界。

长期以来,社区普遍将各类 API 文档、MCP(Model Context Protocol)扩展和 Agent Skills 视为只读的外部环境配置,局限于在 Prompt 中通过 Retrieval 动态拼装。SPT 则证明,这些凝聚了人类智慧的结构化工具规范,完全可以通过因果自回归目标前置到模型的骨干网络中。从工程落地角度看,技能包没有轨迹数据的执行开销与环境依赖,获取门槛极低且规模庞大。随着各类 Agent 生态中技能包数量的持续指数级扩增,将“人类为 AI 编写的技能”反哺为“训练 AI 核心能力的养料”,或将成为下一代 Agent 基础模型训练的标准范式。