Strategy Gene:让 Agent 真正学会而不是记住

May 10, 2026

aipaper

写于 2026 年 5 月 | 基于 arXiv:2604.15097(2026.04.16)


做 Agent 系统的工程师几乎都经历过这个过程:

发现 Agent 在某个场景反复犯同一类错误,然后把应对方法写进 Skill 文档,期待它下次表现更好。结果不太理想,于是把文档写得更详细,加了更多示例,补了更多注意事项……然后发现强模型的表现反而变差了。

这不是你写文档的方式有问题。这是问题本身的设定方式有问题。

EvoMap 团队(Infinite Evolution Lab × 清华大学)的论文《From Procedural Skills to Strategy Genes》做了 4,590 次受控实验,给了这个困惑一个系统性的解释,同时提出了一套新的解决方案。


问题出在哪里

先看实验数据。论文在 Gemini Pro 和 Gemini Flash 两个模型上测试了不同的经验注入方式,以沙盒执行通过率为指标:

注入方式Flash 模型Pro 模型
无指导基线41.8%60.1%
完整 Skill 文档(~2,500 token)+7.2pp ↑-9.4pp ↓

这个结果很反直觉:同样一份 Skill 文档,对弱模型有帮助,对强模型是负担。

进一步把 Skill 文档拆开做消融实验,结果更清晰:

Skill 文档是为人类工程师写的——完整、有背景、可读性好。但注入给模型时,有价值的控制信号被大量解释性材料稀释了,模型在有限的推理预算里很难提取真正关键的执行策略。

论文把这个问题的核心定义为:经验对象的「控制密度」,是影响模型行为的一阶因素。


Gene:换一种经验表示方式

Strategy Gene(策略基因)是论文提出的核心解决方案。设计原则只有一条:以「控制密度」为目标,而非「文档完整性」

一个标准 Gene 包含四个字段:

字段作用
keywords触发信号:决定在什么任务场景下召回这个 Gene(支持子串、正则、多语言别名)
summary上下文对齐:简洁描述 Gene 的适用范围
strategy核心控制:有序的可执行步骤列表,直接指导下一步行动
AVOID负向约束:明确告知模型必须避免的错误路径

来看一个真实的 Gene 示例(论文原文,UV-vis 紫外可见光谱分析场景):

Domain keywords: uv-vis, peak detection, FWHM, unit conversion

Summary: Detect peaks and compute wavelength-domain peak properties correctly

Strategy:
  1. Detect peaks with prominence-based criteria
  2. Convert min_distance into sample-index units before peak detection
  3. Compute peak_widths using scipy.signal.peak_widths

AVOID: Report FWHM only after converting peak_widths outputs back to wavelength units
AVOID: Pass min_distance as wavelength value directly to scipy.signal.find_peaks

这个 Gene 约 230 token。对应的完整 Skill 文档约 2,500 token,包含 overview、workflow、pitfalls、API notes、examples 等全部子章节。

实验结果:在控制条件完全相同的情况下,Gene 稳定优于 Skill。


关键实验结论

1. Gene 的优势不来自”更短”,来自”不同的组织形态”

把 Skill 截短到和 Gene 一样的 ~230 token 后,Skill 不再出现负贡献,但表现仍远低于等长的 Gene。同样的字数,组织成「摘要」没用,组织成「策略」才有用。

2. Strategy 字段不可省

消融实验:

keywords + summary 只是定位了 Gene 的位置,真正把表现拔起来的是 strategy 这一层。

3. 失败经验的最优形态是 AVOID 警告,不是日志

失败经验的附加方式效果
附加到 Skill 文档负贡献,低于基线
附加到自由文本负贡献,低于基线
追加到 Gene正贡献,但弱于纯 Gene
蒸馏为独立 AVOID 警告最强,优于所有其他方式

对 Agent 真正有用的失败经验,不长成”日志”,而长成简洁的”AVOID xxx”警告。失败经验的积累应该是选择性压缩,而不是加法式堆叠。

4. Gene 在结构上鲁棒,在语义上挑剔

论文测试了不同类型的”受损 Gene”:

有效条件是”保留任务相关的控制框架”,不是”写得多新”。


GEP 协议:让 Gene 能进化

Gene 只是表示层的改进。让这套方法真正有价值的,是 GEP(Genome Evolution Protocol,基因组进化协议)。

GEP 解决的不是”格式”问题,而是更根本的问题:怎么让 Agent 的经验对象在不更新模型参数的前提下,持续进化?

协议由六个阶段构成闭环:

Detect(检测)→ Scan(扫描)→ Select(选择)→ Mutate(变异)→ Validate(验证)→ Solidify(固化)

每个 Gene 对象有基于 SHA-256 的内容寻址哈希(asset_id),每次进化产生新的 asset_id,完整保留演化链路,可溯源,不可篡改。

一个重要设计:GEP 是模型无关的。 Gene 是行为描述,不是模型权重。一个由 GPT Agent 发布的 Gene,可以被 Claude Agent 或 Gemini Agent 直接继承使用。


三层对象架构

除了 Gene,EvoMap 还定义了另外两层对象:

层级对象含义
策略层Gene(基因)可复用的策略模板,来源于经验蒸馏
执行层Capsule(胶囊)被验证过的任务级执行路径 + 审计记录
日志层Event(事件)不可变的进化日志,记录每次变异或修复

这三层一起,构成了 Agent 经验的完整生命周期——从执行,到验证,到沉淀,到复用。


CritPt 基准上的端到端验证

理论层面的实验结果很好,但真正说服人的是 CritPt 上的验证。

CritPt(Complex Research using Integrated Thinking - Physics Test)是专为测试 LLM 前沿物理研究推理能力设计的基准,由全球 30+ 机构的物理学研究者共同创建。难度参照是物理系博士研究生入门级研究任务——顶级 LLM(GPT-5 high)的基线准确率只有约 5.7%,配备代码工具大约 10%。

Evolver(GEP 的参考实现引擎)在 CritPt 上的结果:

版本基模准确率Gene 进化后提升
2026-02-16(Gemini 3.0)9.1%18.57%+9.47pp
2026-03-26(Gemini 3.1)17.7%27.14%+9.44pp

不更新一个参数,不做任何 SFT/RL,只通过经验对象层的持续进化,实现了约 +9.4pp 的稳定提升。

同时,Token 消耗从 100 美元降至不到 1 美元。性能提升,成本降低约 100 倍。


它和现有技术路线的关系

两个容易混淆的对比值得讲清楚:

Gene vs. RAG:RAG 召回的是内容(文档片段),Gene 是控制结构(执行策略)。两者不对立,但解决的是不同问题——RAG 回答”模型应该知道什么”,Gene 回答”模型应该怎么做”。

GEP vs. MCP:MCP 解决的是”模型与工具的连接问题”(类比 USB-C 接口标准),GEP 解决的是”Agent 成功行为的生命周期管理问题”。Skill 文件是运行时输入(run 开始之前带进来的知识),GEP Capsule 是运行时输出(run 完成后提取出来的可继承知识)。两者在不同层次运作,可以互补。


局限性

实话实说,目前这套方案还有几个明显的边界:


一个更大的命题

Gene 和 GEP 指向了一个更根本的问题:在 Agent 时代,“知识”的流通单元是什么?

当前主流答案是模型参数。GEP 提出了另一条路径——行为描述性的、可审计的、跨模型流通的结构化经验对象。

如果这个方向走通,每个 Agent 的成功经验都能以标准化、可验证的 Gene 形式被其他 Agent 继承,AI Agent 生态的集体进化速度将是另一个量级的问题。


把这篇论文的核心浓缩成一句话:

让 Agent 持续变强的捷径,不是把提示词写得更完整,而是把执行经验做成一个更紧凑、更可控、更可进化的对象。

下一阶段的竞争,不只是更大的模型和更长的上下文,更是谁能率先在「智能算力的利用效率」上找到更好的通解。


参考来源:arXiv:2604.15097 | Evolver 开源引擎:github.com/EvoMap/evolver | CritPt Benchmark:critpt.com | EvoMap 平台:evomap.ai

← Back to blog