论文标题: Self-Play Meets Skill Evolution: Self-Evolving Search Agents that Pose, Solve, and Remember
论文地址: https://arxiv.org/abs/2607.29468
项目地址:https://github.com/Zenghuang-Fu/SESA-Self-Evolving-Search-Agents
作者单位: University of Chinese Academy of Sciences, Institute of Automation (CASIA), Peking University, Mininglamp Technology, Tsinghua University, Qilu University of Technology
发表时间: 2026年7月31日


背景知识

在深入解读 SESA 之前,有必要先厘清几个核心概念。

什么是 Zero-Data Self-Play(零数据自博弈)? 自博弈是一种无需外部标注数据、让 Agent 通过自我对抗来生成训练信号的方法。在搜索 Agent 场景中,一个"出题者"(Proposer/Challenger)根据目标答案自主构造需要多跳检索才能回答的问题,一个"解题者"(Solver)则通过调用搜索工具来尝试回答。解题结果通过可验证奖励(如与目标答案的精确匹配)进行评判,形成完整的"出题→解题→评判→优化"闭环。由于整个过程不依赖人类编写的问题库,因此称为零数据自博弈。

什么是 Skill Memory(技能记忆)? 技能记忆是将 Agent 的执行经验(尤其是失败经验)蒸馏为结构化、可检索、人类可读的策略单元,并存储在外部非参数化记忆库中的机制。每个技能通常包含触发条件、问题描述、避免陷阱的提示、可复用的查询模板以及使用元数据。与单纯存储原始轨迹不同,技能记忆强调"程序性知识"的抽象——不仅记录"发生了什么",更记录"下次遇到类似情况应该如何做"。

什么是 Asymmetric Self-Play(非对称自博弈)? 非对称自博弈是指出题者和解题者由独立的参数化策略扮演,且两者拥有不对称的信息访问权限。在 SESA 中,关键的不对称性体现在:解题者可以检索技能记忆库获取解题策略,而出题者无法直接访问这些技能。这防止了出题者"偷看答案"而生成与技能过度耦合的问题,确保出题者只能通过解题者的成功率反馈来感知难度边界,从而维持一个健康的对抗性学习环境。


一、背景:自博弈的"遗忘"与技能记忆的"僵化"

1.1 为什么需要 SESA?

LLM Agent 的训练正从固定语料监督学习转向基于自身经验的自主进化。当前两条主流路线各自面临结构性困境:

  • 自博弈路线(SSP、Multi-Agent Evolve、Tool-R0 等):Agent 能够自主生成训练问题并根据解题成功率动态调整难度,但其经验通常是瞬态的——一次失败的解题轨迹只贡献一个策略梯度,随后便被丢弃。Agent 不断重复相似的搜索错误,却无法将"从失败中学到的策略"显式保存和复用。这就像一个学生做了大量习题,但从不整理错题本。
  • 技能增强路线(SkillRL、SkillGraph、ARISE 等):Agent 能够将经验蒸馏为可检索的技能并存储在外部记忆库中,但这些技能通常是从固定数据集或人工设计的课程中学到的,而非来自 Agent 自身在自博弈中暴露的弱点。这就像一个学生整理了错题本,但错题本的内容来自别人的试卷,而非自己真实做错的题目。

SESA 的核心定位正是弥合这两条路线的鸿沟:让 Agent 既能自主决定练习什么(自博弈的适应性),又能持久保留从练习中学到的策略(技能记忆的累积性),并且让这两者形成双向耦合的共进化闭环。

1.2 现有方法的结构性盲区

现有工作可分为两类,但都存在镜像般的局限:

  • 纯自博弈方法(Search Self-Play、Agent0、EvolveR 等):任务生成是内生的,能够自适应难度,但解题经验被消费后即丢弃。失败影响梯度,却不显式塑造未来的练习。Agent 在相同类型的搜索陷阱上反复跌倒。
  • 固定数据集技能增强(SkillRL、Voyager、Reflexion 等):能够保存和复用程序性知识,但技能通常从外部固定任务分布或人工课程中学习,而非来自 Agent 自身在自博弈前沿暴露的真实失败。技能库与任务生成脱节。

这些方法的共同盲区是:任务生成与程序性记忆之间缺乏耦合。自博弈决定了"练什么"但忘了"怎么练更好";技能记忆记住了"怎么练"但练的是别人指定的题目。SESA 的目标正是让 Agent 能够"自己出题、自己犯错、自己总结、自己进步"——一个完整的自我进化闭环。


二、核心创新:非对称自博弈 + 前沿塑造 + 失败蒸馏的双向进化

SESA 的技术精髓可以概括为:将在线技能进化嵌入工具增强搜索自博弈中,通过解题者独占技能检索、出题者受前沿难度驱动、失败被蒸馏为可复用策略并写回记忆,形成任务生成与技能记忆的协同进化
在这里插入图片描述

2.1 四阶段闭环:记忆初始化 → 非对称自博弈 → 前沿塑造 → 失败蒸馏

SESA 的训练循环由四个算法阶段构成,形成一个自我强化的飞轮:

阶段一:Memory Priming(记忆初始化)

SESA 以 157 条初始技能启动记忆库 B0\mathcal{B}_0B0,包括 15 条人工编写的覆盖常见搜索模式的种子技能,以及 142 条从早期自博弈启动阶段挖掘并去重后的技能。这些初始条目提供了检索底物和模式锚点,决定了后续技能蒸馏的粒度基准。

阶段二:Asymmetric Self-Play(非对称自博弈)

出题者策略 πp\pi_pπp 和解题者策略 πs\pi_sπs 由独立参数化模型扮演。出题者根据目标答案和指定的跳数要求,通过搜索工具构造一个简洁且答案唯一的问题。解题者则接收问题,并从记忆库中检索相关技能作为上下文,通过搜索工具执行多跳推理并给出最终答案。

关键的不对称性在于:技能检索仅对解题者可见。出题者只能通过解题者的成功率反馈来间接感知问题难度,而无法直接阅读技能内容。这防止了出题者生成与现有技能过度耦合的问题,确保对抗游戏的公平性和有效性。

阶段三:Frontier Shaping(前沿塑造)

并非所有自生成问题都同样有用。解题者全对的问题不提供学习信号;解题者全错的问题通常是噪声(超出当前能力范围),其失败经验若被固化会污染技能库。SESA 通过塑造出题者的奖励函数,使其专注于生成位于解题者"能力边界"附近的问题。

具体地,SESA 使用一个钟形、端点惩罚的奖励函数:

rp(x)={−λ,p^s(x)∈{0,1}4(ℓ+p^s(x))(h−p^s(x)),otherwiser_p(x) = \begin{cases} -\lambda, & \hat{p}_s(x) \in \{0, 1\} \\ 4(\ell + \hat{p}_s(x))(h - \hat{p}_s(x)), & \text{otherwise} \end{cases}rp(x)={λ,4(+p^s(x))(hp^s(x)),p^s(x){0,1}otherwise

其中 p^s(x)\hat{p}_s(x)p^s(x) 是解题者在问题 xxx 上的成功率,ℓ=0,h=1\ell=0, h=1=0,h=1,端点惩罚 λ>0\lambda > 0λ>0。该奖励在中间成功率处达到峰值,同时惩罚过于简单(p^s=1\hat{p}_s=1p^s=1)和过于困难(p^s=0\hat{p}_s=0p^s=0)的问题。随着解题者能力提升,同样的奖励机制自动推动出题者向新的更难前沿移动。

阶段四:Failure Distillation(失败蒸馏)

这是 SESA 区别于纯自博弈的核心机制。失败的解题轨迹不被丢弃,而是被蒸馏为结构化技能并写回记忆库。具体执行三阶段生命周期:

  1. 检索(Retrieval):解题者在尝试问题前,通过稠密编码器从当前记忆库 Bt\mathcal{B}_tBt 中检索 top-k 最相似技能,作为解题策略的参考上下文。
  2. 失败收集(Failure Collection):奖励计算后,失败的解题轨迹被汇总为紧凑记录(问题、目标答案、预测答案、检索到的技能标识)。只有来自前沿分布的信息性失败进入容量为 300 的待处理队列。
  3. 固化(Consolidation):每 10 步,当队列中积累至少 20 条失败记录时,Judge 将选中的失败抽象为新的技能条目(触发条件、区分证据、避免陷阱提示、查询模板)。新技能需通过与现有记忆库的相似度阈值(E5-base-v2 cosine similarity ≤0.93\leq 0.930.93)去重后才能入库。记忆库维护上限为 800 条,非种子技能在至少被检索 3 次后,若"帮助计数 - 伤害计数"为负则被驱逐。

2.2 技能表示与双向耦合机制

每个技能被表示为一个五元组:

s=(u,c,a,z,m)s = (u, c, a, z, m)s=(u,c,a,z,m)

  • uuu:技能描述(人类可读的策略说明)
  • ccc:触发条件(何时应该检索到此技能)
  • aaa:避免陷阱提示(常见混淆或反模式)
  • zzz:可复用查询模板(具体的搜索查询模式)
  • mmm:使用元数据(检索次数、帮助计数、伤害计数,用于维护)

双向耦合的核心逻辑

  • 自生成的失败暴露了解题者的弱点;
  • 这些弱点被蒸馏为技能写入记忆库;
  • 更新后的记忆库改变了解题者的行为和成功率;
  • 成功率的变化改变出题者的奖励信号;
  • 出题者因此被推向新的问题前沿;
  • 新前沿产生新的失败,再次改写记忆库。

这个闭环使得任务生成和程序性记忆成为同一学习过程的两个耦合部分,而非独立的模块。

2.3 双路径技能复用:参数化携带与推理时检索

由于技能在训练期间参与了解题者的 on-policy 轨迹,SESA 支持两种形式的复用:

  • SESA-Off(记忆禁用):仅使用训练后的模型参数进行推理,不检索技能库。这测试技能是否已通过训练内化为模型能力。
  • SESA-On(记忆启用):在推理时继续使用最终技能库进行检索增强。这测试外部记忆库的残余价值。

比较 SSP(无记忆)→ SESA-Off(参数携带)→ SESA-On(参数+检索),可以精确分解技能增益的来源:是训练机制改变了策略学习,还是仅仅是推理时的提示工程?


三、实验验证:跨模型家族与基准测试的自我进化增益

3.1 主实验:持续技能进化显著提升自博弈效果

论文在 7 个 held-out 基准测试上评估,包括 3 个开放域事实检索(NQ、TriviaQA、PopQA)和 4 个多跳组合搜索(HotpotQA、2WikiMultiHopQA、MuSiQue、Bamboogle),共 3,125 个问题。

在有限预算协议下(基线 + 5 次干预,每次约原实验 10% 预算),论文评估了多个骨干模型:

骨干模型 Base + SSP + SESA SESA 提升 (vs SSP) SESA 提升 (vs Base)
Qwen3-4B 45.3 53.9 56.2 +2.3 +10.9
Qwen3-4B-Instruct 46.1 55.2 57.9 +2.7 +11.8
Qwen3-8B 52.5 56.3 59.5 +3.2 +7.0
Qwen2.5-7B-Base 22.3 48.7 50.8 +2.1 +28.5
Qwen2.5-7B-Instruct 41.5 49.5 51.0 +1.5 +9.5
LLaMA-3.1-8B 36.7 46.3 47.5 +1.2 +10.8
Search-R1-7B 53.9 55.7 57.5 +1.8 +3.6

关键发现:

  • SESA 在所有骨干模型上均显著提升 SSP:提升幅度 1.2–3.2 分,表明持久技能进化对自博弈的增益具有跨规模、跨家族的普适性。
  • 基模型越弱,绝对增益越大:Qwen2.5-7B-Base 从 22.3 提升至 50.8(+28.5),说明技能记忆对基础能力较弱的模型尤为关键。
  • 指令微调模型同样受益:Qwen3-4B-Instruct 和 Qwen2.5-7B-Instruct 均获得显著增益,说明技能进化不依赖于预训练后的原始分布。
  • 搜索专用模型仍有提升空间:即使在 Search-R1-7B 这种已针对搜索优化的初始化上,SESA 仍带来 1.8 分提升,证明技能闭环在专门化基线之上仍有价值。

3.2 双路径消融:技能增益既在参数中,也在记忆库中

Table 2 展示了 Qwen3-4B 和 Qwen3-8B 上的双路径分解:

模式 Qwen3-4B Avg. Qwen3-8B Avg. 说明
SSP (无记忆) 53.9 56.3 纯自博弈基线
SESA-Off (禁用记忆) 55.7 58.5 参数化携带增益:+1.8 / +2.2
SESA-On (启用记忆) 56.2 59.5 推理检索增益:再 +0.5 / +1.0

关键洞察:

  • 大部分增益来自参数化携带:即使禁用技能库,SESA 训练过的解题者仍比 SSP 强 1.8–2.2 分。这说明技能检索在训练期间重塑了 on-policy 轨迹分布,使策略梯度计算基于更高质量的探索,从而将技能优势内化为模型参数。
  • 外部记忆库提供额外补充:启用最终技能库带来额外 0.5–1.0 分,但效果因数据集而异(有时相关指导有帮助,有时无关上下文会分散注意力)。
  • 技能增强自博弈不是提示技巧:如果技能只是推理时的提示工程,SESA-Off 应与 SSP 持平。实际差距证明了技能参与训练过程改变了策略学习的本质。

3.3 组件消融:四个模块缺一不可

Table 3 在 Qwen3-4B 上进行了 leave-one-out 消融:

变体 NQ TQA PQA HQA 2Wi MSQ BBL Avg.
SESA (完整) 56.2 80.4 55.2 57.8 51.8 27.2 64.8 56.2
− memory priming 59.2 76.4 56.0 58.0 47.8 26.4 59.2 54.7 (−1.5)
− frontier shaping 53.2 76.4 57.2 55.8 51.4 25.6 58.4 54.0 (−2.2)
− failure distillation 56.4 75.8 57.2 55.4 50.0 23.8 56.0 53.5 (−2.7)

关键洞察:

  • 失败蒸馏是最关键组件:移除后平均下降 2.7 分,直接支持"持久化失败经验比纯自博弈更新更有价值"的核心论断。
  • 前沿塑造是第二关键组件:移除后下降 2.2 分,说明将学习和固化集中在可解决的前沿失败上至关重要。没有前沿塑造,记忆库会被噪声污染。
  • 记忆初始化仍有价值:移除后下降 1.5 分,表明即使在线技能开始增长后,初始检索底物和模式锚点仍然有用。

3.4 训练动态:自我精炼的记忆而非无界累积

Figure 3 展示了 Qwen3-4B 训练过程中的三个关键动态:

  • (a) 验证性能:早期快速上升,随后在高水平稳定波动,表明解题者能力持续提升并趋于收敛。
  • (b) 提取成功率:出题者生成可用问题的成功率稳步上升,说明随着解题者进步,出题者也在学习构造更合理、格式更规范的问题。
  • © 活跃技能数:先快速扩张(新技能被不断蒸馏),随后在去重和负效用驱逐下收缩,最终稳定在约 190 条左右。这证明了 SESA 的记忆库是自我精炼的——它会遗忘无用内容,而非无界膨胀。

3.5 与技能增强 RL 的对比:内生前沿 vs 外生分布

在统一评估协议下(相同搜索后端、解码方式和语义评判),SESA 与 SkillRL-Search-7B 在 Qwen2.5-7B-Instruct 上对比:

方法 NQ TQA PQA HQA 2Wi MSQ BBL Avg.
Qwen2.5-7B-Instruct 44.2 64.0 36.4 45.0 32.8 16.8 51.2 41.5
+ SSP 54.8 73.4 51.8 51.8 38.8 21.2 54.4 49.5
SkillRL 53.6 69.4 47.8 54.8 45.6 29.2 50.4 50.1
SESA (ours) 57.4 72.2 55.2 52.0 42.2 27.0 51.2 51.0

SESA 以 51.0 的平均准确率超过 SkillRL 的 50.1(+0.9 分)。这一受控比较表明:将技能进化耦合到内生的任务前沿(SESA),比从固定数据集进化技能(SkillRL)提供了额外价值。SkillRL 虽然优于 SSP,但其技能库来自外生任务分布,无法像 SESA 那样根据解题者实时能力边界动态调整练习内容。


四、学术洞见:SESA 揭示了哪些深层规律?

洞见一:失败是比成功更密集的学习信号

SESA 的设计哲学与直觉相反:它并不直接蒸馏成功经验,而是将失败的解题轨迹转化为可复用技能。这揭示了一个深层规律——在搜索推理任务中,失败的轨迹包含了更丰富的程序性信息(哪里搜索了、哪里遗漏了、哪里被误导了),而成功的轨迹往往只是"做对了",缺乏可抽象的策略细节。

更重要的是,SESA 证明失败的价值不仅在于提供负梯度,更在于提供可检索的负面知识(avoidance cues 和 anti-patterns)。当解题者在后续遇到类似问题时,这些技能提前警告它"不要犯同样的错误"。这种"从失败中学习"的机制,使 Agent 能够避免在同类搜索陷阱上反复跌倒,这是纯策略梯度方法无法实现的。

洞见二:任务生成与技能记忆必须耦合,而非简单拼接

SESA 的最大贡献在于证明:仅仅将自博弈和技能库拼接在一起是不够的。一个有效的系统必须满足三个条件:

  1. 谁可以访问技能? 必须是不对称的——只有解题者能检索,出题者不能。如果出题者也能阅读技能,它会生成与技能过度耦合的问题,导致解题者无需真正理解问题就能凭借技能模板作答,破坏对抗游戏的有效性。
  2. 哪些失败应该被固化? 必须是前沿失败——既非全对(无学习信号)也非全错(噪声)。Frontier Shaping 的钟形奖励确保记忆库接收的是"可行动"的失败信号。
  3. 技能如何回到训练循环? 必须参与 on-policy 轨迹——技能检索进入解题者的 prompt,改变其搜索行为,从而改变策略梯度计算所基于的轨迹分布。这使得技能优势能够被内化到模型参数中。

这三个条件构成了一个闭环控制论视角下的自我进化系统:感知(失败)→ 记忆(技能)→ 行动(检索解题)→ 环境变化(能力提升)→ 新的感知(更难的问题)。

洞见三:外部记忆的价值在于改变训练分布,而非仅仅推理增强

传统观点将外部记忆库视为"推理时的插件"——在测试时检索相关信息以辅助决策。SESA 的双路径消融颠覆了这一认知:

  • SESA-Off 保留 60–70% 的总增益(1.8–2.2 分 vs 总增益 2.3–3.2 分),证明技能在训练期间已经改变了策略学习的本质。
  • 技能通过重塑 on-policy 轨迹分布,使策略梯度基于更高质量的探索数据计算。这类似于课程学习中的"好的训练数据比好的模型架构更重要"。
  • 最终记忆库提供的 0.5–1.0 分额外增益是"锦上添花",而非"雪中送炭"。

这揭示了一个更广泛的规律:在 RL 训练中,外部记忆的最大价值可能不在于推理时的检索,而在于训练时对数据分布的塑造。记忆库改变了 Agent 看到的世界,从而改变了它学到的东西。


五、局限性与未来方向

论文坦诚讨论了以下局限:

  1. 评估领域局限:当前主要在开放域和多跳搜索问答上验证,未涵盖代码生成、工具组合、多模态推理等更复杂的 Agent 场景。技能表示的五元组结构(u,c,a,z,m)是否适用于其他领域仍需验证。
  2. 技能蒸馏依赖外部 Judge:失败到技能的抽象过程依赖 DeepSeek-v4-pro 作为 Judge,这引入了额外的计算成本和潜在偏差。自动化的、更轻量的技能蒸馏方法有待探索。
  3. 记忆库规模有界:800 条目的上限和非种子技能的驱逐机制虽然防止了膨胀,但也可能导致某些长尾但重要的技能被过早遗忘。动态容量调整或层次化记忆结构可能是解决方案。
  4. 异步合并的延迟:技能固化每 10 步异步执行一次,这意味着新蒸馏的技能不会立即进入当前训练批次。在快速变化的训练早期,这种延迟可能导致技能库与解题者能力不同步。
  5. 单工具场景:当前仅针对搜索工具验证,未涉及多工具组合(如搜索+代码执行+数据库查询)。多工具场景下的技能表示和跨工具技能迁移是开放问题。

未来方向包括:

  • 多模态与多工具扩展:将 SESA 框架扩展到视觉推理、代码生成、科学计算等需要多种工具协同的领域。
  • 自动化技能蒸馏:开发不依赖外部大模型 Judge 的轻量级技能抽象机制,例如基于规则模板或小型专用模型。
  • 跨 Agent 技能共享:建立标准化的技能交换格式,使不同架构、不同任务的 Agent 能够共享和复用技能库,形成"集体智慧"。
  • 理论分析:从课程学习和对抗性训练的理论视角,形式化分析 Frontier Shaping 的最优性条件和收敛性质。
  • 长程记忆架构:探索超越简单稠密检索的层次化记忆结构(如技能图、技能层级),支持更复杂的策略组合和迁移。

六、核心思想总结与可借鉴点

SESA 的核心思想可以用一句话概括:不要把自博弈当成"做一题丢一题"的瞬时训练,而要把它当成"出题→犯错→总结→再出题"的循环进化过程;让失败显式进入记忆,让记忆改变训练分布,让训练分布推动新的能力前沿。这个原则背后,是三层可迁移的方法论:

  • 非对称信息架构:在对抗性学习系统中,明确区分不同角色的信息访问权限(解题者可用记忆、出题者不可用),是维持对抗有效性的关键设计模式。
  • 前沿驱动的课程生成:通过塑造奖励函数使任务生成器专注于"最近发展区"(成功率既非 0 也非 1 的区域),比随机采样或人工设计课程更高效。
  • 失败蒸馏与记忆维护:将失败转化为结构化技能、通过相似度去重、通过效用计数驱逐——这套"写入→读取→评估→清理"的生命周期管理,是任何长期运行 Agent 系统的必备基础设施。

对研究者的借鉴

  1. 当设计自我进化 Agent 时,"失败记忆"比"成功记忆"更值得优先固化。SESA 的技能库主要从失败中蒸馏,因为失败包含更丰富的可行动策略信息。
  2. 外部记忆的最大价值可能是训练时而非推理时。SESA-Off 的强劲表现证明,记忆通过改变 on-policy 轨迹分布来重塑策略学习,这种"隐式影响"可能比"显式检索"更深远。
  3. 对抗性系统中的信息不对称不是约束,而是 feature。SESA 的 solver-only 技能访问看似限制了信息共享,实则是维持出题者-解题者对抗动态的必要条件。

对工程师的借鉴

  1. 如果你正在构建自动化 Agent 训练管线,务必引入"错题本"机制:不要只保留策略梯度,要将高信息量的失败轨迹抽象为可检索的策略卡片。SESA 的 failure distillation 流程是一个可直接复用的工程模板。
  2. 任务难度自适应比固定课程更可持续。SESA 的 Frontier Shaping 奖励函数(钟形、端点惩罚)可以迁移到任何需要动态调整训练难度的场景——从代码生成到数学证明。
  3. 记忆库需要"新陈代谢"而非"只进不出"。SESA 的去重和负效用驱逐机制证明,无界增长的记忆库会退化。任何长期记忆系统都应具备相似性去重、效用评估和主动清理能力。

SESA 通过将零数据自博弈与在线技能进化深度耦合,在出题者-解题者的非对称对抗框架下,实现了任务生成与程序性记忆的协同进化。在 7 个跨领域搜索基准和 7 个不同骨干模型上的系统验证表明,这种"自我出题、自我犯错、自我总结、自我进步"的闭环能够持续提升 Agent 的搜索推理能力,其中技能训练的内化效应(SESA-Off)贡献了大部分增益,而外部记忆库(SESA-On)提供额外的任务依赖型补充。SESA 为构建能够持续自我进化、从失败中系统学习的通用 Agent 提供了从架构设计到工程实现的完整范式。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐