跳转到内容
输入关键词后按 Enter 打开第一个结果。

EvoSkills 深度精读:Agent 如何自主进化自己的技能?

EvoSkills 深度精读:Agent 如何自主进化自己的技能?

Section titled “EvoSkills 深度精读:Agent 如何自主进化自己的技能?”

论文: Self-Evolving Agent Skills via Co-Evolutionary Verification (EvoSkills) 作者: Hanrong Zhang, Shicheng Fan 等(UIC, MBZUAI, McGill, Columbia, UBC 等) 链接: arXiv:2604.01687


问题定义:这篇论文要解决什么问题?

Section titled “问题定义:这篇论文要解决什么问题?”

Anthropic 提出了 Agent Skills 的概念——与简单的 tool(单一自包含函数)不同,skill 是一个结构化的多文件包,包含工作流指令、可执行脚本和领域参考材料,用于指导 LLM Agent 完成复杂的多步专业任务。

核心痛点有两个:

  1. 手工编写 skill 成本高且难以扩展:当前 skill 主要靠人类专家编写,劳动密集型,且无法保证质量一致性。
  2. 人机认知错位(Human-Machine Cognitive Misalignment):这是一个非常有趣的观察——SkillsBench 评估显示,人类编写的 skill 在某些领域(如 Natural Science)不仅没有提升性能,反而降低了 Agent 的表现。论文假设原因是:人类设计的 workflow 和抽象方式符合人类直觉,但与 LLM Agent 实际处理上下文、推理和执行的方式不匹配。

为什么重要? 这篇论文触及了一个根本性问题:Agent 需要的”技能”应该由谁来定义?是人类专家根据自己的认知模型,还是 Agent 自己根据实际执行经验来构建?如果 Agent 能自主进化出高质量 skill,那就意味着我们可以实现 Agent 能力的自主扩展,而不再依赖人类手动维护 skill 库。


核心思想:协同进化验证(Co-Evolutionary Verification)

Section titled “核心思想:协同进化验证(Co-Evolutionary Verification)”

EvoSkills 的核心是一个双组件协同进化框架:

Skill Generator(技能生成器)

  • 维护一个持久的对话上下文 C,初始化为任务指令 I + 一个领域无关的 meta-skill(教 Agent 如何创建 skill)
  • 每次迭代中,Generator 读取当前 skill 版本 + 累积的验证反馈,生成改进版本
  • 执行 skill 获得输出,交给 Verifier 评估

Surrogate Verifier(替代验证器)

  • 运行在完全独立的 LLM session 中,只能看到任务指令和输出文件,看不到 Generator 的推理过程和 skill 内容
  • 这种信息隔离防止了确认偏差(confirmation bias)——verifier 不会继承 generator 的盲点
  • 生成代理测试断言套件,提供密集的结构化反馈(而非 ground-truth 的 opaque pass/fail)
Generator 生成 skill → 执行 → Verifier 评估
如果失败:返回结构化诊断反馈 → Generator 修复 skill
如果通过:Ground-Truth Oracle 重新执行
如果 Oracle 通过:完成
如果 Oracle 失败:Verifier 升级测试套件 → 重新循环

关键设计点:

  • Ground-Truth Oracle 只返回二元 pass/fail 信号,不泄露测试内容,防止 overfitting
  • Test Escalation 机制:当 surrogate 通过但 ground-truth 失败时,verifier 独立升级测试(更多样、更全面、更有挑战性的测试用例)
  • 上下文管理:设置 β=0.7 的上下文使用比例上限,防止 LLM 上下文溢出
  • 进化预算:最多 N=5 次 oracle 轮次,M=15 次 surrogate 重试

论文将任务环境建模为 POMDP(部分可观测马尔可夫决策过程),因为 Agent 永远不知道 held-out ground-truth 测试实际在检查什么。优化目标是最大化 skill 条件下的期望终端奖励 J(S)。


  1. Skill ≠ Tool:明确区分了 tool(单文件函数)和 skill(多文件结构化包),并设计了首个针对 skill 的自进化框架。现有 self-evolving 方法(Voyager, LATM 等)都是为 tool 设计的,无法处理多文件依赖。

  2. 人机认知错位的实证发现:论文用数据证明了人类编写的 skill 在某些领域会降低 Agent 性能,这是一个被忽视但至关重要的问题。自进化 skill 在 9/11 个领域超越人类 skill。

  3. 信息隔离的 Surrogate Verifier:验证器运行在独立 session 中,只能看到输入/输出,看不到 Generator 的内部状态。这比 self-verification 更可靠。

  4. 无 Ground-Truth 依赖:通过协同进化机制,Agent 在不知道真实测试内容的情况下也能持续改进 skill,这在实际场景中非常关键。

  5. 跨模型迁移性:Claude Opus 4.6 进化出的 skill 可以迁移到 GPT-5.2、Qwen3、DeepSeek 等 6 个模型,且提升幅度达 36-44pp。


Benchmark: SkillsBench(87 个任务,约 20 个专业领域,确定性验证器)

Baselines:

  • No-Skill Baseline:无 skill
  • Self-Generated Skills:单次生成,无进化
  • CoT-Guided Self-Generation:结构化 CoT 提示 + 单次生成
  • Skill-Creator:Anthropic 官方 skill-creator 的自主化版本
  • Human Curated Skills:SkillsBench 的人类编写 skill

评估指标: Pass Rate(所有测试通过的二元指标)

模型: Claude Opus 4.6 + Claude Code(主要),GPT-5.2 + Codex(次要),跨模型迁移测试 6 个模型


主实验(Claude Opus 4.6 + Claude Code)

Section titled “主实验(Claude Opus 4.6 + Claude Code)”
方法Pass Rate
No-Skill30.6%
Self-Generated32.0% (±3.1)
CoT-Guided30.7% (±5.2)
Skill-Creator34.1%
Human Curated53.5%
EvoSkills71.1%

关键观察:所有单次生成的方法(Self-Generated, CoT-Guided, Skill-Creator)几乎都没有提升(30-34% vs 30.6% baseline)。这说明 skill 生成的质量完全取决于迭代验证,而非生成提示词的质量。

  • 去掉 Surrogate Verifier:71.1% → 41.1%(-30pp),说明结构化诊断反馈是核心
  • 只给背景上下文不加进化:48.6%,说明领域知识有用但不够
  • 完全无 skill:30.6%

Opus 进化的 skill 迁移到 6 个模型,均提升 36-44pp。有趣的是 GPT-5.2 用自己的模型进化 skill(69.8%)比用 Opus 迁移的(65.0%)高 4.8pp,说明 model-matched evolution 有微小但一致的优势。

自进化 skill 在 9/11 领域超越人类 skill,最大优势在 Finance(+56.9pp)和 Cybersecurity(+23.2pp)。人类 skill 已经很好的领域(Energy, Robotics)进化收益递减。

  • Round 0(无验证):≈ baseline
  • Round 2:44%
  • Round 3:超越人类 skill(63%)
  • Round 5:75%(收敛)
  • 平均每任务 4.1 次 verification cycle,2.4 次 oracle round

  1. 计算成本极高:每个 task 需要 5 次进化迭代,每次都有完整的 skill 执行 + verifier 评估 + 可能的 oracle 重执行。论文没有详细报告总 token 消耗和成本。

  2. 依赖前沿模型:进化 Agent 使用 Claude Opus 4.6 或 GPT-5.2 等最强模型。用弱模型来进化 skill 的效果如何?论文没有探索。

  3. Ground-Truth Oracle 的现实可用性:虽然论文强调不需要 GT 测试内容,但仍然需要 GT oracle 进行二元评估。在真实开放场景中,这种确定性 oracle 通常不存在。

  4. Benchmark 局限:只在 SkillsBench 上评估,且只有 87 个任务。泛化性有待验证。

  5. 没有探索 skill 组合:每个 skill 独立进化,但实际 Agent 场景可能需要 skill 的组合和复用。

  6. 收敛不保证:约 10 个任务始终未收敛,增加进化轮次是否能解决还是根本性困难?


1. 这是最有价值的发现:人机认知错位

Section titled “1. 这是最有价值的发现:人机认知错位”

论文最打动我的不是方法本身,而是那个观察:人类专家写的 skill 在 Natural Science 领域让 Agent 性能下降了。这暗示了一个深刻的洞察——我们对 LLM 的认知模型可能是错的。我们以为给 Agent 提供清晰的 workflow 和结构化指导会帮助它,但实际上这些”指导”可能与 LLM 的推理模式冲突。

这让我想到一个更广泛的问题:在 Agent 系统设计中,skill/prompt 的编写者(人类)和执行者(LLM)之间也存在类似的认知错位。我们写的 prompt 是否真的最优?

Skill-Verifier 的协同进化模式不仅适用于 skill 生成,也可以用于:

  • 测试用例自动生成:自动进化更全面的测试套件
  • Prompt 优化:用替代验证器来指导 prompt 的迭代改进
  • Agent 系统设计:让 Agent 自主优化自己的工作流配置

虽然方法在学术上很 elegant,但实际应用有几个障碍:

  • 成本太高:每次进化需要多次强模型调用
  • 收敛性不确定:10/87 的任务未收敛
  • 需要确定性验证器:真实世界任务很少有完美的 binary evaluator

EvoSkills 提出了一个在概念上很有吸引力的框架:让 Agent 自己来进化自己的技能包,而不是依赖人类专家。核心贡献在于(1)识别并量化了人机认知错位问题,(2)设计了信息隔离的协同进化验证机制,(3)实证证明了自进化 skill 可以超越人类编写的 skill 且跨模型迁移。但方法的实际应用还面临成本、收敛性和 ground-truth 依赖等挑战。