Repo-To-Skill:给 Agent 补上第三层

BAAI 把 1000 个 GitHub 仓库蒸馏成 5353 个技能,只补知识层就让 Codex 的 MLE-bench 成绩翻 2.3 倍

Repo-To-Skill: Distilling GitHub Repositories Into AI4AI Skills · arXiv 2609.02749 · BAAI × USTC × RUC × PolyU · 2026-09
一句话:研究 agent = 模型 × harness × 操作性知识。BAAI 提出 DisCo,把声明式的仓库与论文自动蒸馏成三层结构的已验证技能(SKILL.md / references / scripts),库内 5353 个技能全部过验证关。固定 GPT-5.5 + Codex 只换 K:MLE-bench +134.3%,High 档 4.67 倍,PaperBench +34.4%,FrontierCS 以 1/3 token Pareto 支配 Claude Code。
Repo-To-Skill: Distilling GitHub Repositories Into AI4AI Skills · arXiv 2609.02749
BAAI(北京智源)+ 中科大 + 人大 + 港理工 · Zheng Liu(BGE 作者)团队

一个被忽略的缺口

自主研究 agent 的架构叙事一直是两层:模型给理解和推理,harness 给规划、记忆、验证。WHALE 论文刚把这两层的联合优化讲完,BAAI 这篇就指出:还有一个第三层,两层都不管它。

他们叫它 operational knowledge(操作性知识)——「知道一个方法」和「把它跑通」之间的距离。选哪个包、数据要什么格式、哪个参数组合是合理的、哪些坑会让一次训练白跑。模型的先验够广但是冻结的,harness 控制流程但不携带领域内容。没有这一层,agent 在任务内靠试错烧预算,任务间记不住任何发现。

于是研究 agent 的公式从两项变三项:A = (M, H, K)。harness 决定 agent 怎么研究,K 决定研究开始时它已经知道什么。

intro
图1 | 操作性知识是缺失的第三层。(a) 模型 + harness 之外,skills 把无引导的试错变成有引导的执行;(b) 固定骨干与 harness、只加技能后的四项基准增益

DisCo:边造技能、边用技能

论文的解法叫 DisCo,同一个 agent、同一副骨架,两种模式。Creator 模式做蒸馏:把声明式来源(仓库、论文)改造成可执行的技能。Researcher 模式做研究:从技能库里取用。Creator 的成本每个来源只付一次,摊到之后所有任务上——这个成本不对称是整个方案能规模化的关键。

蒸馏流水线四段,两种形态共用:

任务无关形态(锚点是来源):理解仓库 → 识别值得暴露的能力 → 抽取证据 → 封装工具、打包技能 → 验证。Run 在 sentence-transformers、AlphaFold、vLLM 这类仓库上,产出可跨任务复用的技能。

任务导向形态(锚点是任务):分解任务 → 找能力缺口 → 主动搜索来源补缺 → 生成技能 → 验证。Kaggle 竞赛、开放式算法问题适用。

两种形态的共同底线是一句话:验证是蒸馏和总结的分界线。没有跑过断言检查的技能不许入库,验证不过就局部修复,修不完的缺口如实记录而不是藏起来。

method
图2 | DisCo 的双模式:creator 模式执行 scope → ground → construct → verify 四段蒸馏,产出经验证的 skill graph 存入库;researcher 模式只加载任务相关的分支作为操作上下文 K

技能的三层结构

每个来源蒸馏成一个 skill graph:入口技能声明范围,链接承载路由、依赖、组合关系,agent 按需展开。单个技能三层:

**SKILL.md** — 知识接口,唯一被预先读取的层,写清适用条件和操作流程

**references/** — 知识基底,API 细节、算法细节,用到才加载

**scripts/** — 执行接口,定义好输入输出的可执行封装,agent 调用而不是重写

这就是 progressive disclosure 的工程化:agent 可以持有几千个技能,但任何时刻只有当前任务需要的那几条进入上下文。AREX-Skill Library 目前从 1000 个主流 ML 仓库蒸出 5353 个已验证技能,组织成 20 个领域、178 个能力族,由库级 router 导航。每仓库平均成本约 40 美元。

library
图3 | AREX-Skill Library:1000 个主流 ML 仓库蒸馏出 5353 个已验证技能,组织为 20 领域 × 178 能力族,由库级 router 按 progressive disclosure 导航

结果:只换 K,别的全冻住

评测设计很干净:Codex 做 harness,GPT-5.5 做骨干,执行预算对齐,唯一变量是有没有技能。

MLE-bench(75 场竞赛):Any-Medal 31.11% → 72.89%,相对提升 134.3%。更狠的是 High 难度档:13.33% → 62.22%,4.67 倍。加了技能的 vanilla Codex 直接越过所有公测定制 agent(此前最强 64.44%)。

Agent骨干LowMediumHigh全量 (n=75)
Famou-Agent 2.0Gemini-3-Pro80.3064.0442.2264.44
AIBuildAIClaude-Opus-4.677.2761.4046.6763.11
MLEvolveGemini-3-Pro80.3057.8942.2261.33
Codex(无技能)GPT-5.542.4231.5813.3331.11
Codex + AREX-SkillGPT-5.586.3669.3062.2272.89

表1 | MLE-bench 全量 75 竞赛 Any-Medal 得分(%)。加技能的 vanilla Codex 在所有难度档全面领先公测定制 agent

PaperBench(20 篇论文复现):29.45 → 39.59,相对提升 34.4%。18/20 任务改善,基线越低的任务相对增益越大(ftrl 11.4 倍,rice 6.1 倍)。

FrontierCS(188 题):70.63 → 77.14。47 道低分题(<50 分)从均值 19.43 拉到 45.99,30 道跨过 50 分线。同分数下 token 只用 Claude Code + Opus 4.8 的 30%,Pareto 支配。

Agent骨干Score平均 Steps平均 Tokens
Claude CodeOpus 4.874.5355.414.72M
Gemini CLIGemini 3.1 Pro60.274.32.00M
Codex(无技能)GPT-5.570.6355.92.46M
Codex + AREX-SkillGPT-5.577.1488.74.47M

表2 | FrontierCS Agent Track 188 题。同分之下 token 只用 Claude Code 的 30%,Pareto 支配

PassNet(编译器 pass 生成):AS Score +14%,失败样本 14 → 5,aggregate 分数超过 TorchInductor 本身。

三个细节值得单独记住。其一,增益和资源消耗不相关(Spearman ρ ≈ 0.006-0.015)——不是技能让 agent 烧了更多 token,是技能把它导进了高产区。其二,任务越难增益越大——难题暴露的库、实现、配置空间更大,试错成本更高,操作性知识的溢价更高。其三,20 篇里有 2 篇复现倒退,作者归因于检索精度失败:检索来的技能把 agent 从它本来能自己找到的窄路上拽开了,解法是更好的路由 + 检索不匹配时回退到无引导推理。

对做 agent 的人意味着什么

这篇和 nanobot 这类系统做的事是同一件事的系统化版本:SKILL.md + references + scripts 的三层结构、progressive disclosure、验证后入库——你在实践里手搓的技能规范,这篇论文给出了规模化的流水线和消融证据。

更有意思的是和 WHALE 的对位:WHALE 说模型和 harness 要协同进化,这篇说在两者都冻结的前提下,第三根轴 K 单独拉起来的收益就有 134%。三条轴的优先级问题现在有了第一个数据点——如果你只能改一件事,先补知识和它的验证闭环,性价比可能高于换模型或改 harness

边界也要说清楚:构建成本是另算的(每仓库 40 美元、每任务单独预算),2 个倒退任务说明检索精度是真实瓶颈,而整个体系压在「来源是声明式的、可验证的」这个前提上——换个领域,验证信号不一定这么好造。

论文:arXiv 2609.02749