论文

  • 标题:ContinualSkillBench: Can LLM Agents Truly Evolve Their Capabilities?
  • 论文链接:https://arxiv.org/abs/2608.03874
  • 代码:https://github.com/gtynnn060110-hash/continual-skill-bench-final
  • 发表时间:2026 年 8 月 4 日(arXiv:2608.03874v1)
  • 机构:北京大学人工智能学院 × 北京通用人工智能研究院(BIGAI),Tianyi Guan 与 Yiding Wang 共同一作,Muhan Zhang 与 Jiaqi Li 为通讯作者
  • 领域:cs.AI, cs.CL, cs.LG

一句话概括:给 Claude Code/Codex 这类「技能库 Agent」做了一次严谨的体检——顺序做任务确实越做越好,但好处的来源可能不是你以为的那个。


一、论文背景:技能库很火,但没人验证过它能否自我进化

用过长上下文编程 Agent 的读者对「技能」不会陌生。Claude Code 的 SKILL.md、Codex 的 skill 机制,本质都是把「怎么做某类事」写成结构化文档存进外部技能库,Agent 接任务前先翻一遍,相当于随身带一本个人笔记体系。已有研究(SkillsBench, Li et al. 2026)证明:只要专家把技能写好,Agent 表现确实显著提升。

问题在于谁来写。人工构建一个覆盖全面的技能库极其昂贵——每个领域的每个操作流程都要专家总结、格式化、维护。更现实的设定是:用户只给任务描述和反馈,Agent 能不能在与环境交互的过程中自己总结经验、写成技能、越用越强?这就是「自主技能进化」。已有一些工作(Asawa et al. 2026; Zhong et al. 2026)探索这个方向,但缺少系统评测:没人知道这些机制的能力边界在哪,也没人能把「收益到底来自哪里」拆开看清楚。

这篇论文就是来补这个洞的。

二、论文定位和关联工作:四个近邻,各差一步

这个方向 2026 年相当热闹,但每个已有基准恰好都错过本文的关键设定:

  • SkillsBench(Li et al. 2026):评测固定技能文档的效用,用「无技能 vs 精配技能」的配对实验——但技能库是静态的,不研究它在任务序列中如何演化。
  • SkillLearnBench(Zhong et al. 2026):研究从种子实例生成与精炼技能,但评测局限于同任务的额外实例——技能在同一件事上打磨,不跨任务。
  • CL-Bench(Dou et al. 2026):更宏观地构建有状态任务序列比较不同记忆架构——但它关注的是状态与潜在结构的共享,不是技能的抽象与复用。
  • SkillCraft(Chen et al. 2026):关注可执行工具组合的获取与跨任务复用——「技能」被限定为工具组合。

ContinualSkillBench 的独特定位是:长程、异构、领域内的任务流中研究技能进化。每个领域 100 个任务来自多个数据源、多种评测格式,靠复现的核心技能串联而非单一重复任务或固定执行流程。这才能检验「从任务 A 学到的经验能否沉淀为结构化技能、并在不同的下游任务 B 上复用」。

三、问题定义:把「越做越好」拆成可归因的三份

本文最漂亮的一步是把一个模糊的问题(「Agent 能进化吗」)转化为一个可操作的归因问题:顺序执行的收益来自哪里?

形式化地说,定义 Δ = Seq − Ind(顺序执行奖励减去独立执行奖励)。但这个差值是三个因素的混合:

  1. 保留上下文——前面的任务交互还留在记忆里;
  2. 反馈适应——评估器给出的反馈(程序化测试结果、rubric 分数)被吸收进后续行为;
  3. 显式技能维护——Agent 主动把经验抽象成可复用的技能文档。

只有第三种才是「技能进化」。要解耦,就引入纯 ICL 对照条件:同样的任务序列、同样的反馈,但 Agent 不允许创建或修改技能。这样 ICL 承载前两个因素,Seq 与 ICL 的差才是显式技能的净贡献。这个设计是全文的灵魂,后面所有结论都从它出发。

类比一下:一个学生连续做了 100 道相关的数学题后正确率上升。这可能因为他记住了前面的题(上下文)、吸收了订正意见(反馈),也可能因为他真的把方法总结成了错题本上的通则(技能抽象)。想验证是哪一种,就让他做同样 100 道题、同样能看订正,但不许记笔记——如果成绩差不多,说明「错题本」这项能力他其实还没学会用。

四、问题解法:一条流水线、一套协议、两种 harness

4.1 技能链构建管线(Phase 1-2)

任务池:从三层基准共采集约 30,000 个任务。基础层选经典难数据集(OlympiadBench、LawBench、TAT-QA 等)测核心知识处理;中间层用开放式 Agent 数据集(GAIA、ClawBench、MedAgentsBench、MathCoder 等)要求多步推理与工具使用;顶层引入人工评估的 OMBench 测高阶战略决策。三层天然形成难度梯度。

三阶段处理:

  1. 技能标注与过滤:LLM 为每个任务标注所需技能、过滤领域相关性、给初始难度分;
  2. 成对依赖评估与图排序:每领域采样 200 个任务对、双向评估(400 个方向性判断,判断模型为 GPT-5.4),YES 判断构成有向依赖图,再在难度课程约束下用 Kahn 拓扑排序的贪心变体排序——每步优先选出度最大的零入度任务(即最能支撑后续任务的任务);
  3. 人工审核:检查任务质量、难度递进与技能迁移关系的合理性。

结构验证(这是基准可信度的关键):用 Qwen3-32B 独立标注每个任务的核心技能(刻意隐藏任务在序列中的位置,防止标注被预设顺序污染),以余弦相似度 ≥0.85 判定语义对应。结果:宏观平均 69.5% 的任务复用了序列中先前出现过的核心技能,平均 35.5% 的核心技能需求在历史中有语义对应物。与 10,000 次随机排列对比,精心排序在全部 5 个领域 × 3 个历史窗口(前 1/5/10 个任务)的 15 组比较中覆盖率全部更高,其中 10 组经 Holm 校正后显著——序列确实具有局部技能连续性结构,不是孤立任务的堆砌。

最终得到五个领域各 100 个任务的序列,从金融计算到战略决策、从代数运算到研究级数学,环环相扣。例如 Finance 链条:Task 1/7 是财务表格取数 → Task 35 加百分比增长率 → Task 50 加比率计算与财务解读 → Task 81 是完整的 WACC 程序化工作流,早期技能(表格解析、周期取值、单位归一)在后期作为子程序复用。

4.2 评估协议与 harness(Phase 3)

基于 Harbor 框架扩展出 Codex CLI 与 Claude Code 两个 sequential harness。每个子任务遵循三回合协议:

  • Turn 1 指令:任务描述 + 当前技能库索引,提示 Agent 检查已有技能是否相关;
  • Turn 2 执行:完成任务,动作与输出被记录;
  • Turn 3 反思:收到评估器反馈,诊断失败,用 Create Skill / Modify Skill 两个元技能创建或修订技能。更新从下一子任务起生效。

评估器四类:Exact Match / F1(确定性短答案/长文本重叠)、Numeric(数值容差比较,典型 ϵ≤10⁻⁴)、Rubric Judge(LLM 按 rubric 加权评分)、Programmatic(可执行测试检查产物与环境状态,复用 GAIA、ClawBench 官方评估器)。指标上区分 raw reward(全部 100 任务平均)与 normalized reward(仅在两种设置都成功产出有效输出的交集任务上计算,剔除格式/解析失败的干扰)。

五、评估指标与实验证据

5.1 主结果:顺序执行普遍有效,但增益极不均匀

三个模型(GPT-4o、GPT-5.3-Codex、Claude 4.7 Opus)× 五个领域的 15 组设置中:

  • raw reward 提升 13/15,normalized reward 提升 14/15,宏观平均绝对提升 raw +0.071 / norm +0.078,相对提升 16.2% / 16.9%;
  • 模型维度:GPT-5.3-Codex 平均归一化提升最大(+0.098),GPT-4o 次之(+0.077),Opus 4.7 最小(+0.058)——注意 Opus 4.7 的独立基线最强却增益最小,说明「从经验中受益的能力」与「单点解题能力」并不绑定;
  • 领域维度:医疗增益最大(平均 +0.149),金融/法律/办公/数学依次为 +0.076/+0.058/+0.054/+0.052。唯一的归一化下降是 Opus 4.7 在数学(−0.008);
  • 评估器维度:结构化任务受益更明显,如 GPT-5.3-Codex 在金融的 Numeric +0.416、EM +0.091,而 Rubric 仅 +0.038——但也有反例(Opus 4.7 医疗 Rubric +0.234)。

几个典型案例:GPT-4o 医疗 EM 从 0.107 飙到 0.429(+0.322);GPT-5.3-Codex 医疗 EM 从 0.321 到 0.857(+0.536)、归一化奖励 +0.240;GPT-4o 数学 Prog 从 0.000 到 0.583。

5.2 ICL 对照实验:全文最关键的一张表

用 GPT-5.3-Codex 在 Law / Finance / Healthcare 三领域跑纯 ICL 条件(同序列同反馈、不维护技能):

条件平均归一化奖励
Independent0.466
纯 ICL0.605
Sequential(显式技能)0.602

0.605 vs 0.602——显式技能维护在总体上没有任何优势。Seq 在 Law(0.629 vs 0.617)和 Finance(0.556 vs 0.542)略胜,Healthcare 反而落后(0.620 vs 0.655)。

但两者优势结构不同:显式技能在 Law/Finance 提升 EM,在 Healthcare 把 Programmatic 从 0.250 拉到 0.500;而 ICL 在全部三个领域的 Rubric 分都更高。附录中还有一个 RAG 基线(检索历史轨迹片段而非技能库)呈现同样模式:Rubric 类分高、EM 类分低。

这张表的解释力在于因果链:Ind→ICL 的 +0.139 全部来自保留上下文+反馈适应;ICL→Seq 的 −0.003 说明显式技能库在这一档模型上没有净增益。所以 Ind→Seq 的整体 +16.9% 里,绝大部分功劳要记在「上下文适应」头上,而非「技能抽象」——显式技能只在需要精确输出格式或可执行程序的场合提供了选择性优势,在开放式任务上反而可能因过度特化于早先的评分标准而拖后腿。

5.3 技能库动态:弱模型的碎片化陷阱

GPT-4o 五领域累计生成 384 个技能(Finance 48/Healthcare 81/Law 72/Math 97/Office 86),GPT-5.3-Codex 只有 205 个(28/38/43/48/48)。GPT-4o 技能被后续任务调用的频率更低,质量分(GPT-4.1-mini 按「格式×内容」打分)平均只有 5.68,GPT-5.3-Codex 为 7.94。强模型能把多次任务经验合并成紧凑可复用的程序并按需取用;弱模型则堆出一库彼此孤立的任务特定技能——库越大,检索与维护的负担越重,下游效用却不成比例。

附录里的生成技能样例很直观:GPT-4o 写的是「日期范围过滤」这种单函数片段;GPT-5.3-Codex 写的 TAT-QA 技能包含完整的四步工作流(解析问题目标→构建候选值→按优先级选定来源→单位/组合/时序三重校验)加常见坑位清单与输出规则模板。

六、效果优势的根源解释

为什么 ICL 能追平显式技能? 核心在于现代长上下文模型的工作方式:当任务流的全部交互历史(包括评估器反馈)都保留在上下文里时,模型可以在线适应——前面的反馈隐式地塑造了后续行为,无需显式抽象也能「记住教训」。这相当于脑内记忆与写卡片的对比:记忆力足够好的人,不写卡片也能应付连续相关的一批任务。

显式技能何时有用? 当任务需要精确输出格式(EM 类答案、严格的单位与顺序)或可执行程序(Programmatic 测试)时,技能文档把过程锚定在纪律化的工作流上——先写什么、怎么校验、坑在哪里,这种「纪律」是松散的上下文记忆难以稳定复现的。医疗 Programmatic 从 0.250 到 0.500 的翻倍就是证据。反过来说,Rubric 类开放式任务的评分维度会随任务变化,技能若把早先的评分标准固化进来,就成了过拟合的包袱。

为什么弱模型碎片化? 这本质上是抽象能力的缺失:把多次相似经验合并为一条一般性程序,需要识别「哪些细节是该丢掉的任务特定项(任务 ID、临时变量名、绝对路径)、哪些是该保留的方法内核」——这恰是弱模型做不到的判断。于是它采取最安全的策略:每个任务单独存一条。技能库膨胀而复用率低下,正是「缺乏抽象能力的系统会堆积不可复用资产」的典型表现。

七、必要知识反推:读懂本文你需要哪些前置知识

领域层:Agent 技能生态——SKILL.md 文件格式(YAML front matter + name/description)、Claude Code / Codex CLI 的技能加载机制、Harbor 评估框架的容器化执行环境;以及为什么微调式持续学习会灾难性遗忘(Kirkpatrick et al. 2017),从而理解「上下文内持续学习」为何成为替代路线。

方法论层:三个可迁移的实验设计范式——(1) 配对条件解耦归因(Ind/ICL/Seq 三条件把混合增益拆分为上下文效应与技能效应);(2) 图排序构建课程(成对依赖判断→有向图→难度约束下的拓扑排序);(3) LLM 辅助数据构建加人工审核的三段式管线(标注过滤→依赖评估→人工复核),以及用排列检验+语义相似度阈值敏感性分析来验证构建有效性。

工程层:三模型×五领域×百任务×三回合的 sequential 评估成本极高(论文在 Limitations 中明确承认因此只测了三个代表性模型),这是设计此类基准前必须正视的预算约束;raw/normalized 双指标处理格式失败偏差的做法也值得借鉴。

八、通用性灵感

1. 解耦归因:任何「A+B vs A」的提升都该问 B 的净贡献。 加了新组件后系统变好,不等于新组件立了功——共存的其他变化(这里是上下文保留)可能才是主力。ICL 对照组的设计成本很低,却能把一个「看起来有效」的结论改写成「有效,但功劳归属和你想的不同」。做消融时永远多问一句:增益的来源拆干净了吗?

2. 上下文即学习:长上下文模型的序列内适应可能替代显式抽象。 对于一批连续相关的任务,把历史留在上下文里本身就是一种学习机制,且不需要抽象、不会过拟合于早先标准。什么时候才真的需要把经验固化成文档?答案是过程需要被「纪律化锚定」时——精确格式、可执行流程、可审计步骤。这个判断标准适用于个人知识管理(不是所有经验都值得写卡片)也适用于 Agent 系统设计(不是所有场景都需要技能库)。

3. 碎片化是弱者陷阱:堆积不可复用资产比没有资产更糟。 GPT-4o 的 384 个低质技能不是资产而是负债——库越大检索负担越重、噪声越多。这对任何自进化系统(个人笔记、组织流程库、代码工具箱)都是警示:入库门槛应该由「能否被复用」决定,而不是由「是否发生过」决定。缺乏合并与淘汰机制的库,注定走向碎片化。

4. 基准应测能力而非单点表现。 传统基准报告平均分,ContinualSkillBench 报告的是「随经验增长的曲线形状」——增益的分布(模型间/领域间/评估器间)、技能库的行为统计(数量、复用率、质量分)。单点分数会掩盖「强基线模型反而增益小」「开放式任务上技能反成包袱」这类结构性事实。评测一个会学习的系统,必须测它学习的样子,而不只是学完的分数。

附录:值得注意的细节

  • 匿名任务标注:结构验证时把序列位置从标注输入中移除,防止标注者(Qwen3-32B)被预设顺序带偏——这个细节决定了 69.5%/35.5% 两个数字的可信度;
  • 技能标注的清洗规则:剔除「选择题作答」「exact-match 格式」这类基准接口性要求,只在任务需要定位材料外信息时才保留「检索」——防止把评测格式的表面相似性算成可迁移技能;
  • 生成技能的质量评分公式:score = format × content,格式无效直接归零——因为无法被加载的技能内容再好也等于不存在。