EvoSkills: 通过协同进化验证实现智能体技能的自我进化

原文链接: arXiv:2604.01687 PDF

摘要

Anthropic 提出了技能 (Skills) 的概念,用于让 LLM 智能体处理多步骤的专业任务——这些任务无法通过简单的工具调用来解决。与单一、自包含的工具 (Tools) 不同,技能是一个结构化的多文件工件包,包含领域特定的指令、可执行脚本和参考材料。

然而,当前技能生成面临两大挑战:

  1. 标注成本高:依赖人工编写
  2. 认知不对齐:人机认知差异导致智能体性能下降

EvoSkills 通过协同进化验证框架解决了这些问题,实现了智能体技能的自主生成和迭代优化。


核心问题

工具 vs 技能

维度 工具 (Tool) 技能 (Skill)
复杂度 单一函数 多文件工件包
功能 原子操作 多步骤工作流
示例 文件读取、API 调用 数据分析管道、安全审计流程
生成难度 单次生成 需要迭代优化

现有方法的局限

  • 人工编写:成本高、难以规模化
  • 单次自生成:缺乏验证反馈,质量不稳定
  • 简单提示工程:无法处理复杂的多文件依赖

EvoSkills 框架

架构概览

┌─────────────────────────────────────────────────────────────────┐
│                     EvoSkills 协同进化框架                        │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────┐         ┌─────────────────┐              │
│   │   Skill         │         │   Surrogate     │              │
│   │   Generator     │◄───────►│   Verifier      │              │
│   │   (技能生成器)   │  反馈   │   (替代验证器)   │              │
│   └────────┬────────┘         └────────┬────────┘              │
│            │                           │                        │
│            ▼                           ▼                        │
│   ┌─────────────────┐         ┌─────────────────┐              │
│   │   生成技能包     │         │   生成测试用例   │              │
│   │   (代码+文档)    │         │   (结构化断言)   │              │
│   └────────┬────────┘         └────────┬────────┘              │
│            │                           │                        │
│            └───────────┬───────────────┘                        │
│                        ▼                                        │
│   ┌─────────────────────────────────────────┐                  │
│   │           执行 & 验证循环                │                  │
│   │  • 生成器执行技能 → 产生输出            │                  │
│   │  • 验证器评估输出 → 提供诊断反馈        │                  │
│   │  • 迭代优化直到 surrogate 测试通过      │                  │
│   └───────────────────┬─────────────────────┘                  │
│                       │                                         │
│                       ▼                                         │
│   ┌─────────────────────────────────────────┐                  │
│   │        Ground-Truth Oracle Test         │                  │
│   │        (真值验证 - 仅返回 Pass/Fail)     │                  │
│   └───────────────────┬─────────────────────┘                  │
│                       │                                         │
│         ┌─────────────┴─────────────┐                          │
│         │                           │                          │
│         ▼                           ▼                          │
│    [Pass]                      [Fail]                          │
│       │                           │                            │
│       ▼                           ▼                            │
│   部署技能                    测试升级 + 技能优化               │
│                               (新一轮协同进化)                  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

关键组件

1. Skill Generator (技能生成器)

  • 功能:迭代生成和优化多文件技能包
  • 输入:任务指令、上一轮技能、验证反馈
  • 输出:改进后的技能包 (代码 + SKILL.md)
  • 策略:基于 LLM 的上下文学习,持续积累验证反馈
# 技能生成迭代公式
S^(i+1) ~ π_θ(· | S^(i), C^(i+1))
C^(i+1) = C^(i)  F^(i,j)

# S^(i): 第 i 版技能
# C: 对话上下文
# F^(i,j): 验证器提供的失败诊断

2. Surrogate Verifier (替代验证器)

  • 功能:作为真值验证的代理,提供密集反馈
  • 独立性:完全独立的 LLM 会话,避免确认偏误
  • 可见信息:仅任务指令和输出文件,不可见生成器代码
  • 输出:结构化测试断言 + 失败诊断

关键设计:信息隔离确保验证器不会继承生成器的偏见

# 替代奖励函数
R̃(x, V) = (1/|V|) Σ 1[e_k(x)]

# x: 技能执行输出
# V = {e_1, ..., e_|V|}: 测试断言集合
# 1[e_k(x)]: 断言 e_k 是否通过

3. Ground-Truth Oracle (真值验证)

  • 功能:最终验证技能质量
  • 特点:仅返回 Pass/Fail,不透露测试内容
  • 目的:防止生成器过拟合到测试集

协同进化循环

迭代过程 (Algorithm 1):

初始化: S^(0) ~ π_θ(· | I, S_meta)  # 基于元技能生成初始技能
        V^(0) = ∅                      # 空测试套件

for n in range(N):  # 最多 N 轮进化
    
    # 1. 执行技能
    x^(i) = Φ(S^(i), E)  # 在环境 E 中执行技能 S^(i)
    
    # 2. Surrogate 验证
    R̃^(i,j) = R̃(x^(i), V^(j))
    
    if R̃^(i,j) < 1:  # 测试未通过
        # 生成失败诊断
        F^(i,j) ~ π_θ^V(· | I, x^(i), V^(j))
        # 反馈给生成器优化技能
        S^(i+1) ~ π_θ(· | S^(i), C ⊕ F^(i,j))
        continue
    
    # 3. 真值验证 (仅当 surrogate 通过时)
    x̂^(i) = Φ(S^(i), E')  # 在全新环境 E' 中重新执行
    R^(i) = R(x̂^(i))      # 真值验证
    
    if R^(i) == 1:
        return S^(i)  # 完美通过,返回技能
    
    # 4. 测试升级
    # 真值失败但 surrogate 通过 → 验证器需要更强的测试
    V^(j+1) ~ π_θ^V(· | I, x^(i), V^(j))

实验结果

数据集:SkillsBench

  • 任务数:87 个任务
  • 领域:约 20 个专业领域
  • 评估方式:确定性验证器,二元 Pass/Fail

RQ1: 技能质量对比

方法 Pass Rate 相比无技能 相比人工
无技能基线 30.6% - -
Self-Generated Skills 32.0% +1.4pp -
CoT-Guided Self-Generation 30.7% +0.1pp -
Skill-Creator 34.1% +3.5pp -
人工编写技能 53.5% +22.9pp -
EvoSkills (本文) 71.1% +40.5pp +17.6pp

关键发现

  • 单次自生成方法几乎无改进
  • EvoSkills 的增益来自迭代验证循环,而非提示工程

RQ2: 消融实验

配置 Pass Rate 下降
完整 EvoSkills 71.1% -
移除 Surrogate Verifier 41.1% -30.0pp
仅使用背景上下文 48.6% -22.5pp

结论:迭代验证和结构化打包都是必需的

RQ3: 跨模型迁移性

技能从 Claude Opus 4.6 迁移到其他模型:

目标模型 无技能 有技能 提升
Claude Opus 4.6 30.6% 71.1% +40.5pp
GPT-5.2 29.6% 69.8% +40.2pp
Claude Sonnet 4.5 28.3% 64.8% +36.5pp
Claude Haiku 4.5 27.1% 63.5% +36.4pp
Qwen3-Coder-480B 26.9% 67.0% +40.1pp
DeepSeek V3-671B 25.8% 65.2% +39.4pp
Mistral Large 3-675B 24.6% 68.9% +44.3pp

关键发现

  • 所有模型都获得显著提升 (+36–44pp)
  • 技能编码的是可复用的任务结构,而非模型特定产物
  • 模型匹配进化有微弱优势 (GPT-5.2 自进化 69.8% vs 迁移 65.0%)

RQ4: 领域级分析

EvoSkills 在 11 个领域中的 9 个超越人工编写技能:

领域 提升最大
Finance +56.9pp
Cybersecurity +23.2pp
Natural Science 人工技能反而降低性能,自进化技能显著提升

模式:人工技能表现好的领域 (Energy, Robotics) 进化增益小;人工技能无效的领域进化增益大。

进化动态

进化轮次 vs Pass Rate:

Round 0 (单次生成):  ~30%  (与无技能基线持平)
Round 2:             ~44%
Round 3:             ~63%  (超越人工技能)
Round 5:             ~75%  (收敛)

平均每个任务: 4.1 次验证循环,2.4 次进化迭代

与神经符号 AI 的关联

结构化知识表示

EvoSkills 生成的技能包本质上是一种结构化知识表示

  • 符号层面:SKILL.md 中的指令、脚本中的代码逻辑
  • 神经层面:LLM 生成的内容、上下文学习

可解释性

  • 每个技能都有清晰的文档 (SKILL.md)
  • 验证器提供结构化的失败诊断
  • 进化过程可追溯

与 Shirui 研究的关联

🔬 神经符号 AI:EvoSkills 展示了如何将神经网络 (LLM) 与符号结构 (技能包、测试断言) 结合,实现可解释、可验证的自主系统。

🔬 具身 AI:技能可以被视为智能体的”程序性记忆”,类似于人类的专业技能。


局限与未来方向

当前局限

  1. 计算成本:平均 4.1 次验证循环,需要多次 LLM 调用
  2. 收敛性:少数困难任务无法收敛
  3. 领域依赖:某些领域 (Energy, Robotics) 人工技能已足够好

未来方向

  1. 更高效的验证:减少验证循环次数
  2. 技能组合:多个技能的组合和协调
  3. 在线学习:部署后持续进化
  4. 多智能体协作:多个智能体共同进化技能

结论

EvoSkills 通过协同进化验证框架实现了智能体技能的自主生成,核心创新包括:

  1. Skill Generator:迭代生成多文件技能包
  2. Surrogate Verifier:独立提供密集反馈,避免确认偏误
  3. Ground-Truth Oracle:最终验证,防止过拟合

实验结果

  • SkillsBench 上达到 71.1% pass rate