教导LLMs自我进化:通过强化学习培养核心元技能

arXiv cs.CL 论文

摘要

本文提出MetaEvolve框架,利用强化学习训练LLMs掌握自我进化的元技能以实现迭代优化,在编码基准测试上取得了显著改进。

arXiv:2607.21971v1 Announce Type: cross Abstract: 测试时通过迭代自我进化与环境反馈进行扩展,如AlphaEvolve所示,展现出显著的性能提升。我们假设这种进化框架的成功依赖于元技能,例如利用环境反馈进行自我反思,这些技能能够实现有效的多轮优化,但在传统的后训练中常常被忽视。为弥补这一差距,我们提出MetaEvolve,这是一个通过数据合成流水线、进化感知强化学习(RL)和推理时进化搜索来培养这些元技能的框架。具体而言,我们将MetaEvolve立足于编码任务,其中程序执行提供自然的、连续的奖励信号,超越二元正确性。基于这些信号,我们合成进化轨迹作为训练数据,每个轨迹包含当前程序、其适应度得分(结合正确性和效率)以及先前尝试的历史,并通过基于测试用例执行的可验证奖励来训练模型。通过在大规模代码数据上训练,我们旨在激发可泛化的、领域无关的元技能,这些技能可以广泛迁移到那些缺乏丰富训练信号的开放式问题中。在七个编码基准测试中,MetaEvolve在分布内任务上以10.01%的绝对优势超越最强基线,在分布外任务上超越24.12%。在完全超出训练领域的开放式算法优化问题上,它进一步实现了46.9%的相对改进。这些结果表明,明确培养自我进化元技能为构建更强大、能自主进化的AI提供了一条原则性路径。
查看原文
查看缓存全文

缓存时间: 2026/07/27 07:42

# 教会大语言模型自我进化:通过强化学习培养核心元技能

来源:https://arxiv.org/html/2607.21971

Shujin Wu, Cheng Qian, Xiusi Chen, Heng Ji 伊利诺伊大学厄巴纳-香槟分校 \{shujinwu, chengq9, xiusic, hengji\}@illinois.edu

###### 摘要

通过与环境反馈的迭代自我进化来实现测试时扩展,正如 AlphaEvolve 所展示的那样,取得了显著的性能提升。我们假设这种进化框架的成功依赖于核心元技能,例如结合环境反馈进行自我反思,这些技能能够实现有效的多轮优化,但传统后训练在很大程度上忽视了它们。为了弥合这一差距,我们提出了 MetaEvolve,这是一个通过数据合成流水线、进化感知强化学习 (RL) 和推理时进化搜索来培养这些元技能的框架。具体来说,我们将 MetaEvolve 落地于编程领域,其中程序执行为超越二元正确性的连续奖励信号提供了天然基础。基于这些信号,我们合成了进化轨迹作为训练数据,每个数据包含当前程序、其适应度分数(结合正确性和效率)以及先前的尝试历史,并通过基于测试用例执行产生的可验证奖励的 RL 来训练模型。通过在大量代码数据上进行训练,我们的目标是激发可泛化的、与领域无关的元技能,这些技能可以广泛迁移到那些缺乏此类丰富训练信号的开放式问题中。在七个编程基准测试中,MetaEvolve 在分布内任务上比最强基线高出 10.01% 的绝对提升率,在分布外任务上高出 24.12%。在完全超出训练领域的开放式算法优化问题上,它进一步实现了 46.9% 的相对改进。这些结果表明,明确培养自我进化元技能为打造能力更强、能够自主自我进化的人工智能提供了一条原则性路径。

## 1 引言

测试时扩展已成为释放大语言模型潜力的强大范式 (Muennighoff et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib5); Zhang et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib6))。最近的框架如 AlphaEvolve (Novikov et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib7)) 表明,结合环境反馈的迭代优化不仅能提高解决方案质量,还能发现超越现有人类知识的新结果 (Jiang et al., 2026 (https://arxiv.org/html/2607.21971#bib.bib8); Wang et al., 2025b (https://arxiv.org/html/2607.21971#bib.bib9); Acikgoz et al., 2026 (https://arxiv.org/html/2607.21971#bib.bib68))。我们假设,这种成功关键依赖于超越典型问题解决能力的核心元技能 (Gandhi et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib12); Song et al., 2026 (https://arxiv.org/html/2607.21971#bib.bib13)):反思当前解决方案的弱点,从历史尝试中提取可操作的见解,并整合外部反馈以引导有意义的改进。

然而,传统的后训练,无论是单轮的 (Shao et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib25); Cao et al., 2026 (https://arxiv.org/html/2607.21971#bib.bib14)) 还是多轮的 (Zhou et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib34); 2025 (https://arxiv.org/html/2607.21971#bib.bib33)),都优化于任务完成而非反馈驱动的自我进化 (Wang et al., 2025a (https://arxiv.org/html/2607.21971#bib.bib10))。虽然最近的工作观察到标准强化学习可以偶然地引出自我修正行为 (Guo et al., 2025a (https://arxiv.org/html/2607.21971#bib.bib17)),但这些模型从未在自我进化系统在推理时所需的多轮进化过程中进行过明确训练 (Luft, 2014 (https://arxiv.org/html/2607.21971#bib.bib15); Wang et al., 2023b (https://arxiv.org/html/2607.21971#bib.bib16))。因此,这些关键的元技能在很大程度上仍未作为直接的优化目标得到充分探索。

为了弥合这一差距,我们提出了 MetaEvolve,它通过强化学习明确培养自我进化元技能,直接训练模型相对于之前的尝试改进解决方案——将迭代优化框定为一种可学习的能力,而不仅仅是一种推理时的启发式方法。我们将 MetaEvolve 落地于竞争性编程领域,其中自我进化具有具体含义:生成不仅正确而且更快的代码。程序运行时间作为一种自然的、细粒度的奖励信号,捕获了“有效代码”和“更好代码”之间的差距——这与数学等领域不同,后者的解决方案通常是二元的 (Tian et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib45)),几乎没有留下渐进学习的空间。我们利用这一特性,在大量代码数据上进行多轮自我改进训练 (Wang et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib44)),期望尽管奖励信号是领域特定的,但底层的元技能(如诊断弱点、从先前尝试中学习以及将反馈转化为改进)是领域无关的,并且可以广泛迁移到那些缺乏此类丰富训练信号的开放式优化任务中 (Wang et al., 2023a (https://arxiv.org/html/2607.21971#bib.bib49); Si et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib47))。

MetaEvolve 包含一个数据合成流水线,用于构建进化轨迹感知样本,每个样本都模拟推理时的自我进化设置:模型会收到一个包含其当前解决方案、性能反馈以及先前尝试历史的上下文提示,并被期望生成一个有意义的改进程序。基于这些合成数据,我们然后应用由程序执行自动派生的可验证奖励信号引导的强化学习训练,这激励了真正的改进,而不需要任何人工标注,使得整个训练在设计上具有可扩展性。

在七个编程基准测试上的实验表明,MetaEvolve 在分布内任务上将绝对平均提升率提高了 10.01%,在分布外任务上提高了 24.12%(表 2 (https://arxiv.org/html/2607.21971#S3.T2))。在 AlgoTune (Press et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib65)) 上,这是一个超出训练领域的开放式算法优化问题集合,MetaEvolve 实现了 46.91% 的相对改进(表 4 (https://arxiv.org/html/2607.21971#S3.T4))。程序新颖性分析显示,MetaEvolve 生成结构更多样化的解决方案(表 3 (https://arxiv.org/html/2607.21971#S3.T3)),定性分析确认了涌现的自我进化行为,例如有针对性的自我反思、反馈驱动的策略优化以及渐进式解决方案重构,而这些在原始的 AlphaEvolve 中基本不存在(图 2 (https://arxiv.org/html/2607.21971#A2.F2))。这些结果表明,明确培养自我进化元技能为构建能够自主自我进化的人工智能提供了一条原则性路径。

## 2 MetaEvolve

图 1:MetaEvolve 数据生成流水线概览。步骤 1 为每个问题采样多个响应,并应用两阶段多样性过滤以保留高质量的训练问题和响应。步骤 2 将每个问题-响应对格式化为一个上下文提示,包含当前程序、其适应度分数以及合成的进化历史。

我们建议通过强化学习来培养自我进化的元技能,并将其落地于竞争性编程领域,在该领域中,测试用例的执行可以提供关于正确性和运行时效率的可验证奖励信号。丰富的编程数据使得大规模训练成为可能,期望所获得的元技能能够迁移到那些获取类似数据成本高昂的开放式任务中。MetaEvolve 包含两个阶段(图 1 (https://arxiv.org/html/2607.21971#S2.F1)):(1) 一个数据合成流水线,用于构建模拟推理时自我进化的进化轨迹感知样本;(2) 由执行基础奖励引导的强化学习训练,以激励相对于先前尝试的改进。

### 2.1 数据合成

我们的数据合成流水线建立在 PRIME-RL/Eurus-2-RL-Data 训练数据集的编程任务之上 (Cui et al., 2025 (https://arxiv.org/html/2607.21971#bib.bib43)),该数据集涵盖了四个不同的基准测试:TACO (Li et al., 2023 (https://arxiv.org/html/2607.21971#bib.bib42))、APPS (Hendrycks et al., 2021 (https://arxiv.org/html/2607.21971#bib.bib50))、Codeforces1 和 CodeContests (Li et al., 2022 (https://arxiv.org/html/2607.21971#bib.bib51))。问题来源的多样性确保了我们合成的训练数据涵盖了广泛的编程风格、难度级别和问题类型,为培养可泛化的自我进化元技能提供了丰富的基础。

#### 2.1.1 响应采样与多样性过滤

给定包含超过 25,000 个编程问题 Q 的完整训练集,我们首先为每个问题采样 10 个候选响应 R,产生一个多样的候选程序池。为确保训练数据高度信息丰富,我们应用一个两阶段多样性过滤过程,仅保留最多样化的 Q-R 对。

##### 问题过滤

我们在问题级别进行过滤,以保留其解决方案池表现出足够多样性的问题。直觉是,如果一个问题的所有解决方案过于相似,模型就无法有效地从细粒度的进化历史中学习——它需要有意义的不同的程序来进行比较,以识别哪些细微的变化导致了改进。对于给定问题的每一对解决方案,我们计算一个多样性分数,该分数结合了三个互补的信号:(1) 字符长度差异,捕获大小变化;(2) 行数差异,反映结构复杂性;(3) 字符集差异,衡量关键词和运算符的词法变化。行数差异被赋予最高的权重,因为它最能将有意义的算法方法与细微的语法编辑区分开来:

多样性(c1, c2) = 0.1 × Δ长度 + 10 × Δ行数 + 0.5 × Δ字符集 (1)

每对分数按问题聚合以产生单个多样性分数。我们保留得分在预定范围 [τ_min, τ_max] 内的问题,该范围是通过分析整个数据集上的分数分布确定的,过滤掉过于同质化和过于嘈杂的问题,同时为随后的响应级别过滤保留足够的数据。

##### 响应过滤

我们在每个幸存问题内的单个响应级别进行过滤,使用一种贪婪选择算法来平衡响应质量和多样性。从最高质量的响应作为种子开始,在每次后续迭代中,我们使用公式 (1) 计算每个剩余候选与所有已选响应的平均成对多样性,仅保留高于最小多样性阈值的候选。在符合条件的候选中,我们选择组合得分最高的:

选择得分 = 0.3 × 正确性 + 0.7 × 多样性 (2)

我们有意识地将多样性的权重设置为正确性的两倍以上,因为正确性已经在种子选择步骤中得到了优先考虑,再次过度强调它会偏向于相似的高分响应池。当达到所需响应数量或没有剩余候选满足多样性阈值时,算法终止,因此所选池的大小因问题而异。这种自我调节特性防止了为了达到配额而强制将低多样性响应纳入池中,确保每个保留的响应都贡献独特且有意义的训练信号。

通过这个两阶段多样性过滤过程,我们将原始的 25,000 多个问题-响应对缩减为一个精炼的子集,包含大约 6,000 多个高质量、多样化的对。

#### 2.1.2 上下文提示格式化

对于每个保留的问题-响应对 (Q, R),我们构建一个上下文提示作为训练输入,以使模型熟悉推理时的设置。如图 1 所示,每个提示包含四个关键组件:(1) 问题描述;(2) 当前程序及其适应度分数;(3) 一个合成的先前尝试的进化历史;(4) 一条要求模型提高其适应度分数的指令。

大多数组件可以从现有数据中自然地映射得到。问题描述直接取自问题陈述,当前程序是从模型响应中提取的代码块。对于适应度分数,我们根据其测试用例评估每个程序,并计算一个结合了正确性和运行时效率的分数:

分数 = min(1 / ((速度 + 10^(-6)) × 1000), 1.0) × 正确性 (3)

其中正确性在通过所有测试用例时为 1,否则为 0;速度是平均运行时间(秒)。添加小量 epsilon (10^(-6)) 是为了避免除零错误并优雅地处理极快的程序。这个公式将运行时间映射到 (0, 1] 范围内的归一化效率分数,防止异常快的程序不成比例地主导组合分数。乘以正确性确保质量始终是优先考虑的因素,只有当程序功能正确时,我们才关心效率。

##### 进化历史合成

现有的代码数据集由孤立的问答对组成,没有进化历史。我们不依赖昂贵的在线多轮交互,而是从静态数据集中构建现实的进化轨迹,使模型能够在单轮训练框架内学习多轮优化行为——计算效率高,同时仍然让模型接触到迭代自我进化的核心结构。

对于给定的当前响应 R,我们从同一问题的响应池中采样 N ∈ [1, 3] 个响应来模拟先前的尝试。如果 R 是正确的,我们可以从整个池中自由采样,允许历史包含正确和错误的尝试。如果 R 是错误的,我们限制只采样其他错误的响应,这样模型必须学习从持续的失败中恢复。每个采样响应都根据测试用例评估其正确性、通过率和运行时间,然后按性能升序排序——最弱的尝试在前,R 作为最新的条目。这为模型提供了一个连贯的改进轨迹,以便在生成下一次优化时进行推理。

### 2.2 训练

我们使用组相对策略优化 (GRPO) (Shao et al., 2024 (https://arxiv.org/html/2607.21971#bib.bib25)) 来训练模型。我们将上下文提示中的当前程序表示为 P1,新生成的程序表示为 P2。两者都对照相同的测试用例进行评估,以获得根据公式 (3) 计算得到的组合分数,并计算奖励为:

r = { -1 如果 Score(P1) ≥ Score(P2); Score(P2) - Score(P1) 否则 }

相似文章

通过世界知识探索训练LLM智能体实现自发、无奖励的自我进化

Hugging Face Daily Papers

# 论文页面 - 通过世界知识探索训练LLM智能体实现自发、无奖励的自我进化 来源:[https://huggingface.co/papers/2604.18131](https://huggingface.co/papers/2604.18131) ## 摘要 具备内在元进化能力的智能体通过在没有外部监督的情况下自主生成的世界知识,在网页导航任务中展现出更优的性能。如今大多数智能体通过遵循人类定义的奖励和规则来``自我进化''。然而,

AlgoEvolve: LLM驱动的算法交易程序元进化

arXiv cs.AI

介绍了AlgoEvolve,一个LLM驱动的进化框架,用于生成并迭代改进算法交易策略。该框架包含一个元进化外层循环,用于进化提示词以指导内层循环的合成。