EvoSkill: Automated Skill Discovery for Coding Agents——面向多智能体系统的自动化技能发现

这是一篇关于自进化多智能体框架的论文,核心是让编码智能体自己"复盘失败、沉淀技能"。核心工作循环如下:

文章提出了 EvoSkill ------一个通过"迭代式失败分析"自动发现并精炼**智能体技能(Agent Skills)**​的自进化框架。它不训练模型、不改提示词,而是让智能体在一次次任务失败中,自动沉淀出结构化、可复用的技能文件夹,从而在不更新模型参数的前提下持续提升智能体的领域能力。

1. 研究背景与要解决的问题

  • 编码智能体(如 Claude Code、OpenHands、Codex)已成为通用问题求解器,但"灵活性"不等于"领域专业知识"------面对专门化任务时仍频繁失败。
  • 现有弥补手段有两条路,但都有明显缺陷:
  • 人工编写技能:可复用、领域特定,但成本高、无法扩展;
  • 进化式优化 (如 AlphaEvolve、GEPA):自动优化提示词或代码库,但产物与特定模型、特定任务深度耦合,换一个场景就失效,也谈不上面向用户的可解释、可迁移能力。

EvoSkill 的切入点:把优化的抽象层级从"提示词/代码"抬升到"技能"------即包含触发元数据、程序性指令(SKILL.md)和辅助脚本的标准化技能文件夹,在更高层次上做进化。

2. 核心方法:失败驱动的技能进化循环

框架由三个智能体协作构成(即上图所示):

角色 职责
执行智能体 A 在技能库支持下执行任务,产出轨迹、预测答案
提案智能体 P 对比预测答案与标准答案,诊断失败根因,决定"新建技能"还是"修改旧技能"
技能构建智能体 S 把高层提案物化为标准格式的技能文件夹(指令 + 可选脚本)

运行机制(算法 1):

  1. 维护一个容量为 k 的帕累托前沿 G(得分最高的 k 个智能体程序),每轮轮转选出一个父程序;
  2. 收集训练集中低于阈值样本作为失败集 F,交给提案智能体分析(辅以累积反馈历史 H,防止重复提案、避免重蹈覆辙);
  3. 技能构建智能体产出候选程序,在留出验证集上评估------只有分数超过前沿最弱成员,新技能才被保留,否则丢弃;
  4. 底层模型全程冻结,跨迭代演化的只有技能库。每次失败检测无果则跳过该轮。

配套设计:数据按类别分层划分为训练/验证/留出测试三部分;每个程序用独立 git 分支管理,谱系、分数、提示词全部可复现。

3. 实验设置与结果

在 Claude Code + Opus 4.5、仅用 5%--15% 小型训练子集的条件下:

  • OfficeQA (基于美国财政部公报约 8.9 万页的严谨文档推理,246 题):
    精确匹配准确率 60.6% → 67.9%(+7.3%);且技能在 10% 训练量后收益递减,说明少量数据即可提炼有效技能。
  • SealQA (噪声检索下的搜索增强问答,111 题):
    准确率 26.6% → 38.7%(+12.1%) 。进化出的"搜索持续性协议"技能,强制智能体在收敛答案前做术语扩展、三来源核验和完整性检查------与 OfficeQA 所需的文档解析技能性质完全不同,说明框架能按任务领域自适应地产出不同类型的技能。
  • 零样本迁移 :将在 SealQA 上进化的技能原封不动迁移到 BrowseComp,准确率 43.5% → 48.8%(+5.3%) ,证明技能级优化产出的是可迁移的通用能力,而非对训练任务的过拟合。

4. 结论与意义

  • 核心贡献 :提出"技能级进化"这一新范式------相比提示词/代码级优化,其产物结构化、可解释、可复用、可跨任务迁移;
  • 实证贡献:在两个差异很大的基准上均以极小训练量取得大幅提升,并首次给出技能零样本跨任务迁移的直接证据;
  • 展望方向:更广领域的通用性刻画(哪些技能是领域通用 vs 领域特定)、多模态任务扩展、社区共享技能库,以及跨模型/框架的迁移性系统研究。

这项工作实际上把"经验沉淀"这一人类学习机制搬进了智能体系统------失败不再只是失败,而是被自动转化为下一位"同事"可复用的操作手册;帕累托前沿 + 冻结模型的组合也保证了改进是真实泛化而非记忆噪声。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

项目地址在这里,如下所示:

摘要

编码智能体(coding agent)正日益被用作通用问题求解器,但其灵活性本身并不能赋予其在专门化任务上所需的领域专业知识。近期工作通过"智能体技能"(agent skills)来解决这一问题:即可复用的工作流与代码,用以增强智能体的领域特定能力。目前大多数技能是手工编写的,而现有的进化方法所优化的是与特定模型和任务紧密耦合的低层构件(例如提示词与代码)。我们提出了 EvoSkill------一个自进化框架,它通过迭代式失败分析自动发现并精炼智能体技能。EvoSkill 分析执行失败,提出新技能或对现有技能的修改,并将其物化为结构化、可复用的技能文件夹。一个智能体程序的帕累托前沿控制着选择过程,仅保留那些能提升留出验证集性能的技能,而底层模型保持不变。我们在两个基准测试上评估了 EvoSkill:OfficeQA------一个基于美国财政部数据的严谨推理基准,它将精确匹配准确率提升了 7.3%(60.6% → 67.9%);以及 SealQA------一个具有噪声检索的搜索增强问答基准,它带来了 12.1% 的提升(26.6% → 38.7%)。我们还研究了在一个任务上进化的技能向另一个任务零样本迁移的能力;特别是:从 SealQA 进化得到的技能可以零样本迁移到 BrowseComp,无需修改即可将准确率提升 5.3%,这证明了技能级优化能够产生超越训练任务的可迁移能力。

1 引言

编码智能体(例如 Claude Code 5、OpenHands 14、Codex 9)已成为跨广泛领域解决问题的主导范式。这一趋势源于代码作为灵活中间表示的日益广泛使用,使编码智能体能够调用复杂抽象,并作为通用问题求解器运作。然而,尽管这种灵活性使智能体能够与多样的工具和领域交互,但它本身并不能赋予智能体以持续高水平执行专门化任务所需的领域专业知识。

为弥合这一差距,近期工作探索了智能体技能:可复用、领域特定的能力,通过结构化工作流、指令和配套代码来增强通用编码智能体。如今大多数技能都是以临时方式手工编写的,既需要领域知识又需要大量人力;随着目标任务数量的增长,这一过程的可扩展性很差。

诸如 AlphaEvolve 8 和 GEPA 2 等进化方法通过迭代搜索来优化智能体构件:代码库或提示词,提供了一个有前景的替代方案。然而,这些方法运行在构件层面:优化后的提示词或代码与特定模型和任务配置紧密耦合,无法自然产生可跨设置迁移的可复用组件。

在本工作中,我们提出了 EvoSkill------一个在更高抽象层次上运作的自进化框架:EvoSkill 不直接优化提示词或代码,而是通过失败驱动的文本反馈迭代地发现和精炼智能体技能。EvoSkill 维护一个智能体程序的帕累托前沿,并在每次迭代中分析执行失败,以提出新技能或精炼现有技能。被提出的技能被物化为结构化、可复用的技能文件夹,包含指令、触发元数据和辅助脚本;只有当它们能提升留出验证集上的性能时才会被保留。技能跨迭代不断积累,在底层模型保持冻结的同时,逐步扩展智能体的能力。

我们在两个基准测试上验证了 EvoSkill。在 OfficeQA 11(一个基于美国财政部数据的严谨推理基准)上,EvoSkill 仅使用小型训练子集,就将配备 Opus 4.5 的 Claude Code 的精确匹配准确率从 60.6% 提升到 67.9%(+7.3%)。在 SealQA 10(一个具有噪声检索的搜索增强问答基准)上,EvoSkill 带来了 12.1% 的提升(26.6% → 38.7%)。此外,在 SealQA 上进化的技能可以零样本、无需任何修改地迁移到 BrowseComp 15,将准确率提升 5.3%,这直接证明了 EvoSkill 发现的技能能泛化到其训练任务之外。

我们的贡献如下:

  1. 我们提出了 EvoSkill------一个通过迭代失败分析自动发现和精炼可复用智能体技能的框架,它运行在技能抽象层面,而非提示词或代码库等低层构件上。
  2. 我们证明 EvoSkill 在两个不同的基准测试上带来了显著提升:OfficeQA 11(严谨文档推理)上 +7.3%,SealQA 10(搜索增强问答)上 +12.1%,且仅使用小型训练子集。
  3. 我们展示了 EvoSkill 进化的技能可以零样本迁移到未见任务:在 SealQA 上发现的技能无需修改即将 BrowseComp 的准确率提升了 5.3%;这证明了技能级优化能够产生可迁移的能力。

2 方法论

EvoSkill 背后的核心思想是将文本反馈下降(textual feedback descent)6 应用于当前智能体失败的样本,从而迭代地发现和精炼智能体技能。EvoSkill 假定存在一个支持技能文件夹的编码智能体框架(例如 Claude Code、Codex、OpenCode)以及一个能够利用此类技能的模型。底层模型始终保持冻结;跨迭代演化的只有技能仓库和智能体元数据。

2.1 框架概述

EvoSkill 由三个协同工作的智能体组成:

  1. 执行智能体(A):在当前智能体程序的管理下执行任务。基础程序将执行智能体初始化为无技能状态。
  2. 提案智能体(P):分析执行智能体的输出轨迹、预测答案和标准答案,以诊断失败并提出高层技能描述。提供标准答案是为了实现根因诊断,类似于监督学习错误分析中检查被错误分类样本的过程;这些标准答案不会传播到生成的技能本身。提案智能体决定是创建新技能还是精炼现有技能。
  3. 技能构建智能体(S):将提案智能体提出的高层提案物化为具体的技能文件夹,包括触发元数据、程序性指令(SKILL.md)以及可选的辅助脚本(Python 或 TypeScript 代码)或参考资料。技能构建智能体通过一个元技能(meta-skill)进行引导,该元技能将技能编写的最佳实践编码其中。

所有智能体都对基础智能体的仓库拥有读权限;只有技能构建智能体对技能目录拥有写权限。提案智能体还维护一个累积反馈历史 H,记录所有先前的提案、其结果和分数增量。这有两个目的:一是防止冗余提案,二是使提案智能体能够精炼先前部分有效的方案并避免重蹈覆辙,使其上下文跨迭代逐步丰富。

**图 1:EvoSkill 循环概览。**​

迭代 0

Q:"证券发行收入(seigniorage,以百万名义美元计)的连续复利年均增长率是多少......?"

基础智能体输出:final_answer = 7.8% ✗ 0.0

标准答案:−6.3%

技能目录:(空)

提案技能:创建 data-extraction-verification ------ 一个用于从财政部公报表格中提取数值数据的严谨协议。

// 智能体消息轨迹

TextBlock("我找到了 1955 年的数值并核对了表格条目。")

TextBlock("来自表 5 -- 白银证券发行收入(自 1935 年 1 月 1 日起累计)")

公式:r = ln(V1955 / V1945) / 10

→ final_answer = 7.8%

迭代 1

Q:"总负债的算术平均值是多少......?"

智能体可用的技能:

复制代码
skills/
└─ data-extraction-verification/
   ├─ SKILL.MD
   └─ scripts/
      └─ data_extraction.py

智能体输出:🔧 已加载 data-extraction-verification 技能 📦 final_answer = 990822.83 ✓ 1.0

标准答案:990822.83

// 智能体消息轨迹

TextBlock("我找到了相关表格:第 I 节 --- 对外国人的负债......")

ToolUseBlock(name='Skill', input={ skill: 'data-extraction-verification' })

→ final_answer = 990822.83

2.2 EvoSkill 循环

EvoSkill 通过在文本反馈引导下进行迭代式技能变异来优化智能体程序(算法 1)。一个程序封装了智能体的系统提示词和累积的技能。该循环维护一个固定容量的前沿 G,包含 k 个得分最高的程序。

在每次迭代 t 中,通过轮转循环(round-robin)从前沿 G 中选择一个父程序 p,确保每个前沿成员在任何一个被重复访问之前都得到探索。父程序在无放回采样的训练批次上进行评估,在所有样本重复之前循环遍历全部样本。回答使用任务特定的评分函数与标准答案进行比对。得分低于固定阈值的样本被收集到失败集 F 中;如果未发现失败,则跳过本次迭代。

算法 1:EvoSkill------通过文本反馈进行迭代式技能归纳

python 复制代码
Require: 执行智能体 A,提案智能体 P,技能构建智能体 S,评估集 V,前沿容量 k,最大迭代次数 T

初始化
1: H ← []          ▷ 反馈历史
2: G ← {A}         ▷ 前 k 个程序的前沿
3: s_A ← EVAL(A, V) ▷ 基线分数

进化循环
4:  for t = 1 to T do
5:    i ← (t mod |G|); p ← G[i]   ▷ 轮转选择父程序
6:    F ← COLLECTFAILURES(p)      ▷ 收集分数 < τ 的样本
7:    if F = ∅ continue
8:    endif
9:    π ← P(F, H)                ▷ 提出新技能或修改方案
10:   p̃ ← S(p, π)                ▷ 构建候选程序

前沿更新
11:   s̃ ← EVAL(p̃, V)            ▷ 留出集分数
12:   if |G| < k 或 s̃ > min_{q∈G} SCORE(q)
13:     G ← G ∪ {p̃}             ▷ 更新前沿
14:     if |G| > k  G ← G \ {argmin_{q∈G} SCORE(q)}
15:   endif
16:   endif
17:   APPENDFEEDBACK(H, π, s̃)   ▷ 更新历史日志
18: end for

输出
19: return argmax_{q∈G} SCORE(q) ▷ 返回性能最佳的程序

EvoSkill 维护一个包含 k 个最佳程序的前沿 G。每次迭代:从 G 中轮转选择父程序,提案智能体诊断其失败,技能构建智能体产生候选程序;若候选程序得分超过前沿中最弱成员,则进入前沿。

提案智能体 P 接收 F 与反馈历史 H,并进行结构化失败分析:审查执行轨迹、识别能力差距、审计现有技能。然后产生一个文本提案 π,指明是创建新技能还是修改现有技能。

技能构建智能体 S 接收当前父程序 p 和提案 π,并将提案物化为候选程序 p̃:即用新技能或修订技能增强后的父程序配置。候选程序在留出验证集 V 上使用相同的评分函数进行评估。

若候选程序的得分超过前沿中最弱成员的得分,则它进入前沿 G 并取而代之;否则候选程序被丢弃。无论结果如何,提案、其得分和选择裁决都会追加到 H 中,确保提案智能体能够引用哪些策略成功或退步以及原因。经过 T 次迭代后,循环返回 G 中得分最高的程序。

2.3 实现细节

2.3.1 数据设置

给定监督数据集 D = {(x_i, y_i)}(i = 1 到 N)和一个评分函数,我们首先使用 LLM 作为分类器将数据集聚类为 K 个类别,将每个样本分配到一个单一类别。然后我们进行分层划分,得到三个互不相交的子集:一个用于进化过程中失败检测的训练集,一个用于对候选程序评分(前沿选择)的验证集,以及一个由所有剩余样本组成的留出测试集------它在进化过程中从不暴露,仅用于最终评估。划分比例可配置,默认设置确保无论类别规模大小,每个类别在训练和验证划分中都有代表。训练数据被组织为以类别为键的池,以支持进化过程中使用的类别感知采样。划分过程的完整细节见附录 C。

2.3.2 环境设置

EvoSkill 在一个代码库固定的 git 仓库中运行。每个智能体程序表示为一个分支,它仅在技能文件夹和元数据(系统提示词、谱系信息、验证分数)上与其父分支分歧。这一设计确保程序间的性能差异可完全归因于其进化的技能,同时保持程序分支的轻量。仓库配置的完整细节见附录 D。

3 实验

我们从三个维度评估 EvoSkill:(1)迭代式技能进化是否能提升智能体在具有挑战性的基准测试上的性能;(2)训练设置的哪些属性会影响技能质量;(3)进化的技能是否能零样本迁移到未见任务。此外,我们还展示了所发现技能的定性示例,以说明 EvoSkill 产生的能力的本质。

3.1 OfficeQA

3.1.1 基准测试

OfficeQA 是一个基于美国财政部公报(U.S. Treasury Bulletins)构建的严谨推理基准------一个跨越五十年、约 89,000 页的月度与季度出版物语料库。每期公报包含 100--200 页的散文、复杂表格、图表和图片,描述财政部运作。该基准由 246 个问题组成,分为简单和困难两个难度级别。问题需要在平均两份公报文档之间定位并综合信息,在密集的表格数据中导航,并进行基础定量推理。人类求解者平均每题耗时 50 分钟,大部分时间花在从语料库的表格和图片中定位相关信息上。

3.1.2 设置

所有实验均使用配备 Opus 4.5 的 Claude Code 作为底层模型。按照 2.3.1 节描述的数据设置,我们将基准划分为三个互不相交的划分:一个用于进化过程中失败检测的训练集,一个包含 17 个样本(约 7%)的验证集用于前沿选择,以及一个由剩余问题组成的留出测试集------它在进化过程中从不暴露。我们评估三种训练集规模:5%(12 个样本)、10%(24 个样本)和 15%(36 个样本);每个进化 1.5 个 epoch。我们还评估了一种技能合并配置,它将独立运行中发现的独特技能合并为单一技能库;当技能重叠时(通过匹配名称或描述识别),我们保留来自表现最佳运行的版本。除非另有说明,所有报告的准确率均在留出测试划分上计算。我们使用 OfficeQA 提供的模糊评分函数,它计算跨五个容差级别的加权匹配,偏向精确匹配。评分的完整细节见附录 C。

3.1.3 结果

表 1 展示了所有配置和容差级别下的结果。EvoSkill 在所有设置下都一致地优于基线²。在精确匹配(0% 容差)下,使用 5% 的数据训练将准确率从 60.6% 提升至 63.4%(+2.8%),而 10% 的训练数据则达到 65.8%(+5.2%)。性能在 10% 之后趋于平稳:15% 的划分达到 64.5%,略低于 10% 的运行,表明随着训练数据增长,收益递减或存在轻微过拟合。

² 基线是独立运行并与作者最新结果交叉核对得出的(见:https://github.com/databricks/officeqa/issues/10#issuecomment-3719842269)。

**图 2:EvoSkill 在 OfficeQA 基准上不同训练划分和容差级别下的性能。**​ 技能合并配置(将独立运行中的独特技能合并)取得了最高的精确匹配准确率(67.9%),比基线(60.6%)高出 7.3 个百分点。

**表 1:不同训练数据划分下跨容差阈值的准确率。**​

添加到对话

训练划分 / 容差 0.00% 0.10% 1.00% 5.00% 10.00%
base 60.6 66.3 72.8 77.2 79.7
5% 63.4 67.4 74.3 77.6 80.1
10% 65.8 69.9 76.4 80.5 82.5
15% 64.5 69.9 75.6 79.3 81.3
merge-unique 68.1 70.8 77.1 80.5 82.4

容差 = 允许的相对误差。蓝色 = 列中最佳。

技能合并配置取得了最强的结果,精确匹配达 67.9%(比基线 +7.3%),优于每一次单独运行。这表明从独立运行中发现的技能是互补的:每次运行都会浮现不同的失败模式和相应的能力,将它们结合起来会产生更完整的技能库。改进模式跨容差级别保持一致,在更严格的容差下增益范围为 2.7--4.5%。³

³ 我们注意到,由于在进化循环中运行 Opus 4.5 的计算成本,每种配置仅评估了一次。跨多个随机种子的方差分析留待未来工作。

3.1.4 所发现技能的定性分析

为说明 EvoSkill 发现的技能的本质,我们重点介绍进化技能库中两个代表性示例:

**数据提取验证(Data Extraction Verification)。**​ EvoSkill 发现了一个技能,强制实施从财政部公报表格中提取数值数据的严谨协议。该技能在智能体从解析的表格中提取任何值时触发,并针对进化过程中识别的具体失败模式:相邻单元格误读、错误指标选择和不正确的时间粒度。该技能直接源于提案智能体对智能体从相邻单元格取值或混淆相似发音指标的案例的分析。

**定量分析方法论(Quantitative Analysis Methodology)。**​ 第二个技能为定量金融分析提供结构化方法论指导,包括风险计算、预测、货币转换和统计推断。该技能在计算前强制设置验证检查点,防止因错误数据转换、日期错位或混淆样本与总体统计而产生的系统性错误。

这些示例说明 EvoSkill 发现的是可解释、领域相关的技能,针对具体失败模式,而非产生不透明的优化。附录 A 提供了更多所发现技能的示例。

3.2 SealQA

3.2.1 基准测试

SealQA 10 是一个用于评估搜索增强语言模型的挑战性基准,针对的是网络搜索返回冲突、噪声或无益结果的事实寻求型问题。与 OfficeQA 不同(后者测试在固定文档语料库上的严谨推理),SealQA 评估智能体在对抗性检索条件下导航开放网络的能力。这使其成为 EvoSkill 的互补试验台:所需的技能有本质不同,以搜索策略和来源验证为中心,而非文档解析和数值提取。

3.2.2 设置

我们在 SealQA 的 seal-0 划分(111 个问题)上运行 EvoSkill,使用配备 Opus 4.5 的 Claude Code 和 10% 的训练划分,遵循 2.3.1 节描述的分区方法。未用于训练或前沿选择的剩余问题构成留出测试集。进化运行 1.5 个 epoch。

3.2.3 结果

EvoSkill 将 SealQA 上的准确率从 26.6% 提升至 38.7%,绝对增益为 12.1%。在所发现的技能中,EvoSkill 产生了一个"搜索持续性协议"(search-persistence-protocol),在智能体确定答案之前强制实施穷尽式搜索策略。该技能要求术语解释扩展、多来源验证和完整性检查,直接针对该基准的核心挑战------当初始结果嘈杂或具有误导性时过早终止搜索。这一结果表明 EvoSkill 不仅能泛化到文档基础推理,还能泛化到搜索密集型任务,发现适合目标领域的、性质上不同的技能。

3.3 技能的零样本迁移

EvoSkill 的一个关键设计目标是:进化的技能由于是结构化且可解释的,应当无需修改即可跨任务迁移。我们通过将 SealQA 上进化的"搜索持续性协议"技能零样本(不做任何编辑)应用到 BrowseComp 15 来测试这一点:BrowseComp 是一个评估浏览智能体处理具有简短、唯一正确答案的挑战性事实寻求型问题的基准。我们在 128 个样本的分层抽样上进行评估。

尽管该技能是在一个具有不同问题和难度特征的不同基准上进化的,迁移后的技能将准确率从 43.5% 提升至 48.8%,绝对增益为 5.3%。这直接证明了 EvoSkill 发现的技能并未过拟合到其训练任务:"搜索持续性协议"捕捉到了一种通用能力------在确定答案之前进行穷尽式搜索------这对于事实寻求型任务广泛有用,无论具体基准为何。这一结果支持了以下假设:在技能级而非提示词或代码级进行优化,能产生更可迁移的改进。

4 相关工作

4.1 智能体技能

用可复用、模块化的能力增强智能体的思想,根植于具身 AI 和软件工程两个领域。Voyager 13 为一个由 LLM 驱动的 Minecraft 智能体引入了不断增长的可执行代码技能库,其中技能作为程序存储在向量数据库中,并通过语义相似性检索。Voyager 中的技能通过自动课程和借助环境反馈的迭代提示被发现,实现了无需参数更新的终身学习。更近期的 Agent Skills 规范 1 将技能形式化为一种可移植的开放格式:每个技能是一个文件系统目录,包含一个带有元数据和程序性指令的 SKILL.md 文件,可选择性地捆绑辅助脚本和参考资料。这种格式已被多个智能体框架采用,包括 Claude Code、Claude API 和第三方工具 43。这一范式中的技能利用渐进式披露(progressive disclosure):元数据在启动时加载,指令按需读取,脚本执行时不进入上下文窗口,使智能体能够以最小的上下文开销维护大量技能。尽管技能基础设施已趋成熟,如今的技能大多仍是人工编写的。EvoSkill 通过迭代失败分析自动发现和精炼技能来填补这一空白,产生符合相同结构化技能格式的构件。

4.2 文本反馈与进化优化

越来越多的研究探索使用自然语言反馈(而非标量奖励)来指导 LLM 生成构件的迭代改进。Self-Refine 7 证明单个 LLM 可以通过"生成-批评-精炼"循环改进自身输出,在多样任务上无需额外训练即取得持续增益。然而,Self-Refine 作用于单个输出,且不在迭代间积累知识。

Feedback Descent 6 将这一直觉形式化为一个通用优化框架,表明来自评估器的丰富文本反馈可以驱动跨领域(包括分子设计、SVG 优化和提示词工程)的持续改进。Feedback Descent 维护一个表现最佳候选者的前沿并积累反馈历史,使编辑器 LLM 能够做出越来越知情的修订。EvoSkill 直接建立在这一范式之上,将文本反馈下降应用于技能发现问题,而非构件优化。

在进化方面,AlphaEvolve 8 使用 LLM 集成通过由自动评估支撑的进化循环来进化整个代码库,在 Google 取得了算法发现和基础设施优化的突破。GEPA 2 在 DSPy 框架内对提示词优化采取了类似的进化方法,使用反思式变异和基于帕累托的候选选择来进化复杂系统的文本组件。两种方法都展示了 LLM 驱动变异与进化搜索结合的力量,但它们优化的是与特定任务和模型紧密耦合的低层构件(代码或提示词)。

EvoSkill 与这些方法的区别在于其抽象层次。EvoSkill 不直接进化代码或提示词,而是进化技能:结构化、可复用、跨任务持久存在的能力模块。这一区别有实际意义:进化的技能是可解释、可组合的,并且如我们所展示的,可无需修改迁移到新任务。

4.3 LLM 智能体中的迁移学习

迁移学习在神经网络微调语境下已被广泛研究,但其在基于 LLM 的智能体中的应用仍处于起步阶段。在具身设置中,Voyager 13 表明在一个 Minecraft 世界中学到的技能库可以应用于在新世界中解决新任务,为代码型技能可跨环境迁移提供了早期证据。更广泛地,关于提示词迁移的工作探索了优化后的提示词是否能跨任务或模型泛化,结果喜忧参半------为一种设置优化的提示词在模型或任务分布发生偏移时往往会退化。

EvoSkill 为迁移提供了一个不同的角度:由于技能被构造为具有显式触发条件和程序性指令的自包含文件夹,它们与训练任务和底层模型都解耦。我们的实验为此提供了直接证据:在 SealQA 上进化的搜索持续性技能零样本迁移到 BrowseComp,无需任何修改即带来 5.3 个百分点的提升。这表明技能级优化可能比提示词级或代码级优化提供更自然的迁移单元,尽管需要在更多样的任务对上进行更广泛的调查研究。

5 结论

我们提出了 EvoSkill------一个通过迭代失败分析自动发现和精炼可复用智能体技能的自进化框架。通过在技能级而非优化低层构件(如提示词或代码库)上运作,EvoSkill 产生结构化、可解释的能力,这些能力跨迭代积累并跨任务迁移。我们的实验在两个不同基准上证明了一致的改进:OfficeQA(+7.3%)和 SealQA(+12.1%),且仅使用小型训练子集;我们还提供了从 SealQA 到 BrowseComp(+5.3%)零样本技能迁移的直接证据。

未来工作有若干方向。首先,我们计划在更广泛的领域范围内评估 EvoSkill,以更好地理解进化技能的通用性,并刻画哪些技能是领域通用的(如搜索持续性、验证协议)与领域特定的(如财政部表格提取)。其次,将 EvoSkill 扩展到多模态任务------其中技能可能需要协调视觉、代码和语言------是自然的下一步,因为编码智能体越来越多地处理异构输入。第三,进化技能的模块化结构开辟了构建共享技能库的可能性,在一个任务上发现的技能可被其他智能体和用户浏览、组合和复用。最后,对技能跨任务、模型和智能体框架迁移性的更深入研究,对于实现技能级优化作为改进编码智能体的范式的全部潜力至关重要。

相关推荐
积流成海2 小时前
Agent演化史(九):多智能体的暗面,当一次 prompt 注入可以横向移动
prompt·agent·智能体·大模型应用
lucas_AI5 小时前
给 Claude Code 挂上代码地图:token 省了 39%,但先看你的瓶颈在哪
llm·agent
ZhengEnCi15 小时前
GUI Agent 打转死循环怎么解决:四个「防打转失效」根因与完整修复方案
agent
大大大大晴天17 小时前
ReAct Agent 从原理到实现:让大模型学会思考、行动与观察
大数据·agent
ZhengEnCi19 小时前
Agent 评测体系是什么:从三层评测到十一个维度的完整评估框架
agent
武子康21 小时前
语音聊了十分钟,为什么不能拿转写分钟算费用?
人工智能·深度学习·agent
武子康1 天前
图片删了,为什么旧链接还能打开、后台还能生成回来?
人工智能·agent
znyin1 天前
dsh源码解析 - Cordis 如何启动:插件树与热更新
agent
柒和远方1 天前
从「存一条记忆」到「管一段记忆」——Mem0 与自建 psql+向量长期记忆的取舍
agent