论文链接:Repo-To-Skill: Distilling GitHub Repositories Into AI4AI Skills 代码仓库:VectorSpaceLab/AREX-Skill 发表时间:2026年9月 机构:北京智源研究院(BAAI)+ 中国科学技术大学 + 中国人民大学 + 香港理工大学(实验室与高校联合,多位作者为 BAAI 实习期间的高校学生) 领域标签:cs.AI / Agent Skills / 自主研究
一、论文背景
先讲三个名词。
- 模型骨干(backbone):就是大语言模型本身,负责理解、推理、规划。比如 GPT-5.5、Qwen。
- Harness(挽具):模型外面那套编排系统——怎么规划步骤、怎么调用工具、怎么记住中间结果、怎么验证输出。同一个模型配上不同 harness,表现可以差出一大截。
- Skill(技能):Anthropic 在 2025 年提出的工程概念,是一个结构化的知识包:一份
SKILL.md说明"这是干什么的、什么时候用、怎么用",加上参考文档和可执行脚本。类比的话,Skill 就像新员工入职时的岗位操作手册——不是教他"如何思考",而是直接告诉他"遇到这种情况按这个流程办"。
自主 ML 研究 agent 是让 AI 端到端做机器学习研究:读比赛题、写训练代码、跑实验、交结果。MLE-bench(OpenAI 的 75 场 Kaggle 竞赛复刻)就是这类能力的考场。
当前的困境:模型在变强,harness 工程在成熟,但研究 agent 依然大量把预算浪费在 trial-and-error 上——它不知道 sentence-transformers 这个库的数据该怎么组织、vLLM 的哪个参数在什么硬件上会出问题、某个 Kaggle 比赛该用什么 trick。这些知识既不在模型的固定参数里,也不归 harness 管。论文把这一层命名为操作知识(operational knowledge)——“知道一个方法"和"能让它跑起来"之间的差距。
这些知识其实大量存在于 GitHub 仓库和论文里,但有两个问题:写给人类读(不是 agent 可直接执行的格式),以及太大(不可能在任务中把整个仓库塞进上下文)。
这就引出本文的核心命题:能不能把散落在开源生态里的操作知识,自动、大规模地蒸馏成 agent 可直接调用的技能?
二、论文定位和关联工作
谱系一:自主 ML 研究 agent
- MLE-bench 系 agent(Famou-Agent 2.0、AIBuildAI、MLEvolve 等):核心思路是设计更强的搜索/进化策略或专用 harness。本文区别:不改 harness、不换模型,只外挂技能层,就能超过这些专用系统。
- AI Scientist / Agent Laboratory 等端到端科研系统:把选题-实验-写作串成流水线。本文补的是它们普遍缺失的"领域 know-how"环节。
谱系二:Agent 技能与记忆
- Anthropic Agent Skills(2025):提出技能的标准格式与渐进披露原则(progressive disclosure:先读摘要,按需展开细节)。本文直接采用该格式,但回答了 Skills 没有回答的问题——技能从哪来、怎么保证质量。
- Reflexion / Voyager / 各类经验记忆:把 agent 自己的轨迹总结成记忆供后续复用。区别:记忆来自自身经验,规模受限于 agent 跑过的任务;本文技能来自整个开源生态,蒸馏在离线完成,成本一次付清。
- 同日的 MASkills(ASU)、SkillGLoW(NUS)、SkillDreamer(川大):分别研究多智能体技能优化、技能库组织形式、技能检索错配。与本文互补:它们优化"技能怎么用/怎么组织”,本文解决"技能怎么规模化生产"。
对比总结
| 维度 | 之前的路线 | 本文的突破 |
|---|---|---|
| 知识来源 | agent 运行时自己摸索(trial-and-error) | 离线从 1000 个开源仓库+论文批量蒸馏 |
| 知识形态 | 自由文本记忆/提示 | 三层结构化技能图,带验证门槛 |
| 质量保证 | 无(记什么用什么) | 每个技能必须通过执行验证才能入库 |
| 架构定位 | 混在 harness 或 prompt 里 | 独立的第三层:模型+Harness+技能知识层 |
| 成本结构 | 每个任务重复付探索成本 | 蒸馏一次付清,运行时只付加载成本 |
定位结论:本文是 Agent Skills 工程从"格式提案"走向"工业化生产"的标志性工作——它第一次证明技能层可以规模化构建,且在严格对照下带来决定性增益。
三、问题定义
具体问题:ML 研究 agent 在解题时不知道该用什么方法、什么库、什么配置,只能试错,预算烧完了还没进入正题。
核心洞察:一个 agent 系统的标准描述是两元组 𝒜 = (M_θ, H)——模型加 harness。但做研究需要第三样东西:操作知识 𝒦,它负责"知道哪些方法和工具适用、什么时候适用、怎么正确使用"。论文把 agent 形式化升级为三元组:
$$\mathcal{A}_{res} = (M_\theta, H, \mathcal{K})$$类比表(Skill 优化 ≈ 企业新人培养):
| 企业新人 | 研究 Agent | 本文的处理 |
|---|---|---|
| 聪明程度 | 模型骨干 M_θ | 不动(固定 GPT-5.5) |
| 工作流程制度 | Harness H | 不动(固定 Codex) |
| 岗位操作手册 | 技能库 𝒦 | 本文要构建的东西 |
形式化定义:研究任务是 τ = (q, D, E, g)——问题陈述、给定材料、环境(含预算约束)、达标标准。求解 = 产出满足 g 的工件(代码/模型/报告)。操作知识的供给方式:把 τ→y 的映射中每一步"该怎么做"的先验,以技能形式注入条件,即 a_t ~ π_θ(a | τ, h_t, H, 𝒦)。
这个抽象的精妙之处:它把"agent 不够聪明"这个模糊抱怨,拆解为一个可独立建设、独立验证、独立替换的组件。技能层与 harness 解耦——同一批技能可以插到任何兼容的 harness 上,这也让后文的对照实验得以成立。
四、问题解法
4.1 技能的三层结构
每个技能是一个自包含目录:
S = ( SKILL.md ← 知识接口:唯一预先读取的入口
references/ ← 知识基底:按需加载的深度材料
scripts/ ← 执行接口:可直接调用的封装脚本 )
SKILL.md说明目标、关键概念、工具用法、已知失败模式——先读这一页就能判断要不要用这个技能;references/装 API 细节、参数配置、算法细节——只在需要时展开(渐进披露);scripts/是定义好输入输出的可执行封装——agent 调用而不是重写。
这个三层结构对应操作知识的两个组成:能力化(scripts + references 把知识变成可调用单元)与使用策略(SKILL.md 说明何时用、为何用、怎么用)。能力没有策略,agent 有工具但不会选;策略没有能力,agent 有建议但无法执行。
由于一个仓库的知识量超过单个技能的合理容量,同源技能组织成技能图 𝒢=(𝒮, ℒ):入口技能概述范围,链接指向组件技能(安装、训练、评测、排障……),agent 沿需打开的路径读,其余不碰。
4.2 四阶段蒸馏流水线
所有蒸馏运行(不管触发源是什么)走同一条流水线:
锚点 z → scope 划定能力范围 𝒬 → ground 收集证据 𝒳 → construct 组装候选技能图 → verify 验证入库 (𝒢, R)
按锚点不同分两种形态:
| 任务无关蒸馏 | 任务导向蒸馏 | |
|---|---|---|
| 锚点 | 一个知识源(仓库/论文) | 一个具体任务 τ |
| 回答的问题 | “这个源能做什么?” | “解这个任务缺什么?” |
| Scoping | 源理解 + 能力识别 | 任务分解 + 能力缺口分析 |
| Grounding | 从源中抽取支持证据 | 主动搜索填补缺口的知识 |
| 产物 | 长期可复用的技能 | 该任务所需(且可跨同类任务复用)的技能 |
| 例 | 蒸馏 sentence-transformers、vLLM | 为某 Kaggle 比赛生成解题技能 |
验证是蒸馏与摘要的分水岭:每个候选技能用断言用例、仓库原生测试、CLI 检查、微型夹具、冒烟脚本等方式验证;失败归因于技能本身则修复重验;验证不了的部分如实记录在构建档案 R 里而不是隐藏。
4.3 Creator 与 Researcher 双模式
同一个 agent(同骨干、同 harness)在两种模式间切换:Creator 模式跑蒸馏、往库里写技能图;Researcher 模式解题时通过库级路由器(20 领域 → 178 能力族 → 仓库技能图)定位相关分支,渐进披露地加载。成本结构刻意不对称:Creator 每个源付一次钱(平均每仓库约 40 美元蒸馏成本),Researcher 只为任务实际打开的部分付费。
4.4 AREX-Skill Library 规模
当前仓库快照:1000 个广泛使用的 ML 仓库 → 5353 个技能,经 LLM 辅助的两级分类体系归纳(20 areas / 178 capability families,2209 条精确归属,700 个仓库横跨多族),外加 153 篇论文蒸馏的 636 个论文衍生技能与各基准的任务导向技能图。
五、评估指标与实验证据
实验设计的精髓在于"控制变量到只剩技能":所有对照双方都用 GPT-5.5 骨干 + Codex harness + 相同的下游执行预算,技能构建在评测开始前完成、构建预算独立核算——运行时唯一差异就是有没有技能。
MLE-bench(75 场 Kaggle 竞赛全量,Any-Medal 得分)
| Agent | 骨干 | Low | Medium | High | 全部 |
|---|---|---|---|---|---|
| 最强公开基线 Famou-Agent 2.0 | Gemini-3-Pro | 80.30 | 64.04 | 42.22 | 64.44 |
| Codex(无技能) | GPT-5.5 | 42.42 | 31.58 | 13.33 | 31.11 |
| Codex + AREX-Skill | GPT-5.5 | 86.36 | 69.30 | 62.22 | 72.89 |
- 全量相对提升 134.3%;High 难度从 13.33%→62.22%(4.67 倍);且原版 Codex 不加任何定制 harness 就超过了所有专用系统(72.89 vs 64.44)。
PaperBench(20 篇 ICML 论文复现,官方评分器)
平均复现分 29.45%→39.59%(+34.4%),20 篇中 18 篇提升;低基线任务收益最猛:ftrl 从 1.50→17.17(11.4 倍)、rice 从 7.94→48.51(6.1 倍)。
FrontierCS(188 个开放算法题,5 小时/题预算)
| 配置 | 得分 | 平均 token |
|---|---|---|
| Codex(无技能) | 70.63 | 2.46M |
| Codex + AREX-Skill | 77.14 | 4.47M |
| Claude Code(Opus 4.8) | 74.5 | 14.72M |
+9.22% 相对提升,配对 bootstrap 95% 置信区间 [3.41, 9.83];47 个低分题(<50 分)均值从 19.43 升至 45.99。以 3.3 倍少的 token、更少的步数与工具调用,帕累托支配 Claude Code 两个配置。
PassNet(图编译器 pass 生成,200 样本)
AS Score 1.343→1.5313(+14.0%),超过 TorchInductor 编译器基线(1.419);失败样本 14→5(-64.3%),正确率 81.35%→90.76%。
这些实验为什么能证明论点:如果增益来自"更强的模型"或"更聪明的流程",在固定骨干与 harness 的对照里增益应当消失——但它没有,且在四个异构基准(Kaggle 竞赛/论文复现/开放算法题/编译器优化)上一致出现。消融还排除了"多花 token 所以赢"的解释:任务级增益与额外 token 用量的 Spearman ρ 仅 0.006–0.015,完全不相关。
六、效果优势的根源解释
Baseline 为什么曾经有效:无技能 Codex 靠模型的通用先验在任务内探索——先猜一个方案、跑、看报错、改。这在简单任务上够用(Low 难度它也有 42.42 分)。
Baseline 的根本瓶颈:探索是有预算的。错误的方法选择、错误的库用法、错误的配置,都要用真实执行(GPU 时间、API 调用、迭代轮次)去试出来,而试错失败的代价不是零——是挤占了本可用于优化目标指标的预算。任务越难,可选的库/实现/优化路径空间越大,无引导搜索撞对的概率越低——这精确解释了为什么 High 难度提升最大(+48.89pp)而简单任务提升有限。
本文方法的机制性改变:
- 把验证从运行时挪到离线。无技能 agent 的"发现"发生在任务内,每次失败都烧预算;技能的"发现"发生在蒸馏期,失败只烧构建预算(一次付清、与任务无关)。运行时的知识到达方式从"试错归纳"变成"直接装载"。
- 改变了解空间进入点。技能图携带的是经过执行验证的工作流与失败恢复动作,agent 起步就处在解空间的"高产区域"附近,把迭代预算集中在真正影响目标指标的实现与调优选择上。FrontierCS 的分层证据直接支持这一点:低分题(<50)平均提升 26.56 分、30 个题跨过 50 分门槛——正是"无引导探索找不到可行实现"的那批任务。
- 渐进披露控制了知识注入的代价。1000 个仓库的知识不可能塞进上下文;三层结构+路由让任意时刻进入上下文的知识严格限于当前任务需要的分支。这解释了为什么收益不是靠堆上下文换来的。
反事实验证:如果增益只是"多读了点材料",那么 (a) 增益应与 token 用量正相关——实际 ρ≈0;(b) 在不调用子 agent 的任务上增益应消失——实际仍 +5.54 分;(c) PaperBench 高基线任务也应大幅提升——实际它们只涨 1-2 分,而两个高基线任务(sample-specific-masks、stay-on-topic)甚至回退 4-5 分,论文如实归因于技能检索的精度-召回权衡:当技能与任务特有的怪癖实现不匹配时,跟随技能反而把 agent 从它本会自己发现的正确路径上拉开。这个回退案例本身就是"知识注入必须匹配任务"机制的旁证。
七、必要知识反推
领域知识层:
- ML 工程实践的完整地图——哪些仓库是事实标准(vLLM、sentence-transformers、AlphaFold)、每个仓库覆盖哪些工作流环节、常见坑在哪。没有这张地图,“选 1000 个仓库"无从谈起。
- 对 ML 研究 agent 失败模式的经验性理解——失败发生在库选择、环境配置、评估陷阱这些环节,而不是推理本身。这决定了技能该封装什么。
方法论知识层:
- Anthropic Agent Skills 的格式规范与渐进披露原则——技能层的载体设计与"上下文经济学”。
- 知识蒸馏的思想迁移:把"从大模型蒸馏到小模型"重构为"从人类可读的声明式知识蒸馏到 agent 可执行的操作性知识"。四阶段流水线(scope-ground-construct-verify)本质是把传统软件工程的需求-实现-测试链条搬到知识生产上。
- 对照实验方法论——如何设计"只变一个因子"的评测来隔离知识层贡献。
工程知识层:
- 大规模 LLM 流水线工程:用 GPT-5.5/GPT-5.6-sol 跑 1000 个仓库的构建、每仓库约 $40 的成本控制、失败修复与重试验。
- 执行沙箱与验证基础设施:断言用例、CLI 检查、微型夹具如何在异构仓库上统一落地。
- 基准运维:MLE-bench/PaperBench/FrontierCS/PassNet 四套评分器的对接与预算核算。
知识融合的关键节点:本文的创造性跳跃发生在"操作知识"这个概念命名上——把模型先验、harness 流程、领域 know-how 三者从直觉上分开,需要同时具备 agent 系统架构经验与 ML 工程实践;而"验证是蒸馏与摘要的分水岭"这一设计原则,则是把软件工程的测试文化注入知识生产,单靠 NLP 或单靠 SRE 背景都提不出来。
八、论文中可以提取的通用性灵感
“模型 + 流程 + 知识"三层解耦
- 核心思想:智能系统的能力瓶颈未必在模型或流程,可能在这两者都不负责的知识层;把它拆成独立组件单独建设、单独验证。
- 论文证据:固定骨干与 harness、只加技能层即获 134.3%/34.4%/9.2%/14.0% 的一致提升。
- 推广场景:企业客服系统(产品知识库独立于话术流程建设);医疗辅助诊断(诊疗规范层独立于模型微调);法律 AI(判例与程序规则层);教育 AI(学科解题法层)。
把验证成本从运行时挪到准备时
- 核心思想:凡是可以预先验证的知识/配置/流程,就不要在任务执行中用昂贵预算去试错;离线付一次,运行时无限复用。
- 论文证据:技能构建每仓库约 $40 一次付清;运行时 High 难度任务从 13.33%→62.22%。
- 推广场景:CI/CD 预检 vs 生产故障排查;数据管线的 schema 预校验;新员工入职培训 vs 上岗试错。
验证是生产与汇总的分水岭
- 核心思想:自动生成的知识/技能/文档,没经过执行验证之前只是"看起来对"的摘要;验证门槛(+失败如实记录)才让它成为可信资产。
- 论文证据:论文反复强调 “verification is what separates distillation from summarization”,入库技能全部通过断言用例或冒烟检查。
- 推广场景:RAG 知识库的自动化抽检;AI 生成代码的测试门禁;经验记忆入库前的回放验证(同族工作 SkillGLoW 的 commit gate 同样印证此原则)。
渐进披露是大规模知识注入的唯一可行解
- 核心思想:知识库规模与单任务上下文预算天然冲突;“入口摘要 → 按需展开"的分层加载让库可以无限增长而上下文成本不变。
- 论文证据:5353 个技能通过路由器+技能图按需加载,FrontierCS 上技能版只多用了 2M token 却多拿 6.5 分。
- 推广场景:企业文档中心的信息架构;IDE 插件的帮助系统;个人笔记系统的"索引页+详情页"设计。
增益与资源消耗不相关是"知识型增益"的判据
- 核心思想:如果一个改进的收益与它多消耗的 token/算力不相关(本文 ρ≈0.006),说明它改变的是搜索路径而非搜索深度——这是区分"知识注入"与"暴力堆料"的可操作判据。
- 论文证据:Spearman ρ(token)=0.006、ρ(steps)=0.014;不调用子 agent 的任务仍 +5.54 分。
- 推广场景:评测任何"提示工程/外挂知识"类改进时,先做增益-用量相关性检验;采购决策中识别"真提效"与"多花钱买分”。