← 返回归档

GEPA: 反思性提示词进化可以超越强化学习

一、论文摘要

大型语言模型(LLMs)越来越多地通过强化学习(RL)方法(如Group Relative Policy Optimization,GRPO)适应下游任务,这些方法通常需要数千次 rollout 来学习新任务。本文认为,语言的可解释性为LLMs提供了一个比基于稀疏标量奖励的策略梯度更丰富的学习媒介。为了验证这一点,本文提出了GEPA(Genetic-Pareto),一个深度融合自然语言反思来从试错中学习高级规则的提示词优化器。

给定任何包含一个或多个LLM提示词的AI系统,GEPA对轨迹(如推理、工具调用和工具输出)进行采样,并用自然语言对其进行反思以诊断问题、提出和测试提示词更新,并从其自身尝试的Pareto前沿组合互补的教训。由于GEPA的设计,它通常可以将仅少数几次rollout转化为大幅度的质量提升。

在六个任务上,GEPA平均比GRPO高出6%,最高可达20%,同时使用的rollout次数最多减少35倍。GEPA还比领先的提示词优化器MIPROv2高出10%以上(例如,在AIME-2025上准确率提高12%),并展示了作为推理时搜索策略在代码优化方面的有前景的结果。


二、基本信息

项目 内容
论文 ID 2507.19457
标题 GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning
作者 Lakshya A Agrawal, Shangyin Tan, Dilara Soylu, Noah Ziems, Rishi Khare, Krista Opsahl-Ong, Arnav Singhvi, Herumb Shandilya, Michael J Ryan, Meng Jiang, Christopher Potts, Koushik Sen, Alexandros G. Dimakis, Ion Stoica, Dan Klein, Matei Zaharia, Omar Khattab
单位 UC Berkeley, Stanford, Notre Dame, Databricks, BespokeLabs.ai, MIT
会议/期刊 ICLR 2026
原文保存位置 ~/.openclaw/workspace/papers/20260306_ReflectivePromptEvolution/source/
报告生成日期 2026-03-06

三、论文主体分析

1. 引言(Introduction)

1.1 研究背景与问题

大型语言模型(LLMs)使得开发能够将模糊的自然语言规范与检索和代码执行等工具结合的智能体和系统成为兴起。这引发了一个问题:LLMs应该如何针对下游性能进行优化?

一种流行的方法是使用可验证奖励的强化学习(RLVR),例如使用Group Relative Policy Optimization(GRPO)~\cite{grpo_paper},它将成功指标视为用于估计策略梯度的rollout结束时的标量奖励。虽然这些RL方法很有效,但它们在实践中通常需要数万次rollout才能适应新任务。例如,最近利用GRPO的工作通常使用多达数十万次rollout进行训练。这种样本效率低下可能会成为一个严重的瓶颈:许多下游LLM应用调用昂贵的工具调用、推理预算有限,或者根本无法微调最大或性能最好的LLM的权重。

1.2 核心洞察

作者观察到,即使是从非常复杂的LLM系统采样的rollout也可以序列化为自然语言的轨迹:它们只包含每个LLM模块的指令、 resulting LLM推理链、工具调用,以及可能还有奖励函数的内部工作原理(例如编译器错误消息,在被折叠成标量奖励之前)。由于这种序列化的轨迹很容易被现代LLMs理解,作者认为通过反思这些轨迹在自然语言中刻意学习的算法可以更有效地利用LLMs强大的语言先验知识,与标准RL方法相比。

即使用于评估RL rollout的奖励函数本身也经常产生文本轨迹(例如代码生成环境的编译器错误消息),使得即使从单次rollout中也能提取高度细粒度和诊断性的信号。

1.3 GEPA介绍

本文提出了GEPA(Genetic-Pareto),这是一个用于复合AI系统的反思性提示词优化器,将文本反思与多目标进化搜索相结合。GEPA使用从新rollout中提取的自然语言反馈迭代地修改提示词。在每次变异中,候选提示词源自一个祖先,积累从观察和LLM反馈中获得的高级"教训"。

为了避免困扰贪婪提示词优化的局部最优,GEPA维护一个Pareto前沿:与其只演化全局最佳提示词,它随机探索每个问题实例表现最佳的提示词。这种多样化实现了稳健的泛化,并缓解了陷入局部最小值的问题。

1.4 评估任务

本文在多个任务上评估GEPA:多跳推理(HotpotQA)、数学(AIME、LiveBench-Math)、指令遵循(IFBench)、隐私感知委托(PUPA)和检索增强验证(HoVer),使用开源(Qwen3 8B)和专有(GPT-4.1 Mini)模型。

1.5 主要贡献

  1. 反思性提示词进化框架:提出使用自然语言反馈进行提示词优化,而非仅依赖标量奖励
  2. Pareto-based illumination策略:维护每个训练实例的最佳表现候选提示词,确保问题空间的全面覆盖
  3. 遗传算法结构:构建候选提示词的进化树,使后代能够跨多个示例泛化
  4. 显著的实证成果
    • 在Qwen3 8B上,GEPA在使用高达35倍少rollout的情况下,比GRPO(24k rollouts)高出高达20%
    • 在所有六个任务上平均比GRPO高出+6%
    • 在所有基准和模型上超越MIPROv2,实现+13%的总体收益

2. 问题陈述(Problem Statement)

2.1 形式化定义

给定一个复合AI系统$\Phi$和任务分布$\mathcal{T}$,目标是最大化预期性能:

$$\underset{(x,m) \sim \mathcal{T}}{\mathbb{E}}[\mu(\Phi(x), m)]$$

其中:

  • $x$是输入查询
  • $m$是金标准输出
  • $\mu$是评估指标

复合AI系统$\Phi$由以下组件组成:

  • 一组模块$M = \{M_1, M_2, ..., M_n\}$
  • 一个控制流图$C$
  • 输入空间$\mathcal{X}$和输出空间$\mathcal{Y}$

每个模块$M_j$有一个可学习的提示词$\pi_j \in \Pi$,系统参数为$\langle \Pi, \Theta \rangle_\Phi$。本文专注于优化提示词$\Pi$,同时保持LLM权重$\Theta$固定。

2.2 反馈函数

除了标量奖励$\mu$之外,本文引入了一个反馈函数$\mu_f$,它在返回分数的同时返回文本反馈。这个反馈可以来自:

  • 执行轨迹中的诊断信息
  • 评估过程中的文本追踪(如编译器错误消息)
  • 人类标注者提供的详细反馈

这种反馈函数提供了比纯标量奖励更丰富的学习信号。


3. GEPA:反思性提示词进化

3.1 核心原理

GEPA基于三个核心原则:

  1. (Re)反思:自然语言反馈具有高度可解释性和诊断性,提供比标量奖励更丰富的学习信号
  2. (Ge)遗传:构建候选提示词的进化树,使后代能够跨多个示例泛化
  3. (Pa)Pareto:维护每个训练实例的最佳表现候选,确保全面的问题空间覆盖

3.2 遗传优化循环

给定一个AI系统$\Phi$,目标是识别最大化任务性能的参数$\Pi_\Phi$。GEPA从一个只包含基础系统的候选池$\mathcal{P}$开始,其中每个候选是$\langle \Pi, \Theta_{frozen} \rangle_\Phi$的具体实例化。

然后它进入优化循环,反复提出新的候选直到评估预算耗尽。候选通过反思性变异交叉从现有候选派生,受 rollout 反馈指导,每个候选继承其父母的学习信号及其自身的 rollout,以便 GEPA 在遗传树上积累知识。

在每次迭代中,GEPA:

  1. 从候选池中选择有希望的候选
  2. 在小批量任务上提出并评估变体
  3. 如果它优于其父候选,则将其添加到$\mathcal{P$并跟踪祖先记录,并在$D_{pareto}$上评估

预算耗尽后,GEPA返回在$D_{pareto}$上整体性能最佳的候选。

3.3 反思性提示词变异

复合AI系统执行过程中产生的自然语言轨迹提供了关于每个模块行为和职责的高可见性,因为它们捕获了中间推理及其底层推理。当这些轨迹与系统的最终结果(例如成功或失败)配对时,它们提供了高诊断价值,使从业者能够将错误或成功追溯到模块级别的特定决策。LLMs可以通过反思利用这些轨迹执行隐式信用分配,将最终结果的责任归因于相关模块。这个反思过程可以用于对各个模块进行有针对性的更新,从而对整个系统行为进行大型有效的更新。

GEPA具体操作如下:给定当前迭代中要变异的候选,GEPA在从训练集中随机采样的输入查询小批量上执行所选候选,跟踪程序的执行。然后,GEPA从执行轨迹中提取模块的输入、输出和推理,并调用反馈函数$\mu_f$,返回数值分数和文本反馈(包括评估细节,如编译器错误消息、失败的规则等)。GEPA根据策略(轮询)选择要更新的模块(系统包含的N个提示词之一),然后向LLM展示(当前提示词、语言程序轨迹、分数、反馈),要求其反思性地将成功或失败归因于提示词元素并提出修改后的指令。

更新的模块与语言程序的其余部分一起在小批量上再次评估,如果分数提高,则新程序被添加到候选池。

3.4 评估轨迹作为诊断信号

LLMs产生的文本是AI系统的执行轨迹。环境为计算奖励而产生的文本(例如给出奖励0之前的编译器错误消息)是评估轨迹

除了反思执行轨迹外,作者还在评估轨迹中发现了第二个有价值的诊断信息来源。许多评估指标应用丰富的策略(例如代码评估可能涉及编译、执行和分析),在计算标量奖励之前产生自然语言轨迹。作者提议利用这些评估轨迹进行反思性信用分配和有针对性的提示词更新。GEPA通过将奖励$\mu$扩展为反馈函数$\mu_f$来实现这一点,该函数在评估过程中提取文本轨迹,并与最终分数一起返回。当可用时,这种反馈甚至可以是模块特定的(例如,在多跳系统中,评估器可以在每跳后提供反馈)。

3.5 基于Pareto的候选选择

GEPA是一个高度模块化的算法,支持各种候选选择策略,选择的策略决定了探索-利用权衡。一种朴素的方法是始终选择表现最佳的候选,但这通常会陷阱优化器于局部最优:一旦找到主导策略,就很难超越,优化器耗尽预算而无法学习新的、可能更好的策略。

为了解决这个问题,GEPA采用了基于Pareto的"照明"策略。对于每个训练实例,GEPA记录所有候选达到的最高分数,形成Pareto前沿。在至少一个任务上达到最佳分数的候选被保留,而被严格支配的候选被修剪。最后,GEPA从这个修剪后的集合中随机采样一个候选,根据每个候选赢得多少任务来加权概率。这种策略帮助GEPA在不膨胀搜索的情况下逃脱局部最优,通过将资源集中在已经展示有影响力的"制胜"策略的候选上,高效平衡探索和利用。

图1:GEPA的反思性提示词变异系统性地融入任务特定细微差别,从而带来性能大幅提升。该图可视化了GEPA采取的优化轨迹,展示了从基础提示词(候选0)到表现最佳的提示词(候选11)的迭代改进。关键变化在每个步骤中都有标注,展示GEPA如何积累"教训"以持续提升任务性能。

图1:GEPA的反思性提示词变异系统性地融入任务特定细微差别,从而带来性能大幅提升。该图可视化了GEPA采取的优化轨迹,展示了从基础提示词(候选0)到表现最佳的提示词(候选11)的迭代改进。关键变化在每个步骤中都有标注,展示GEPA如何积累"教训"以持续提升任务性能。

:::


4. 实验评估

4.1 实验设置

本文采用标准的训练/验证/测试split。优化器可以完全访问训练集,包括文本和标签,用于程序调优。验证集可用于跟踪性能分数(如用于早停),但无法直接访问内容,而测试集完全保留,仅在优化后使用。

实验在六个基准上进行:AIME-2025、LiveBench-Math、HotpotQA、IFBench、HoVer和PUPA——每个都配有现有的复合AI系统和反馈函数。实验使用Qwen3 8B和GPT-4.1 Mini,并使用标准化推理设置,与MIPROv2、Trace(使用其OptoPrime优化器)、TextGrad和GRPO进行比较。

4.2 主要结果

观察1:反思性提示词进化具有极高的样本效率,可以超越权重空间强化学习

在四个基准上,GEPA在复合AI系统中快速适应并稳健泛化——在使用高达35倍少rollout的情况下,击败GRPO(24,000次rollout)高达19%。它在4-35倍少的rollout次数下达到最佳测试性能,在5/6个任务上超过GRPO 19.0%、2.73%、13.66%、5.19%和0.7%。GEPA仅在243、402、330、1143、1179和306次rollout后就能匹配GRPO的最佳验证结果——高达78倍更高的样本效率。

如果我们将分析限制在训练集rollout,GEPA只需要79到737次训练rollout就能达到最佳性能。为了匹配GRPO的最佳验证分数,GEPA分别仅使用102、32、6和179次训练rollout就实现了这一目标,突出了基于反思性提示词进化的高样本效率。

观察2:反思性提示词进化使纯指令优化能够超越联合指令和少样本优化

本文将GEPA与MIPROv2(最先进的指令和少样本优化器)在两个领先模型和六个多样化任务上进行比较,观察到GEPA在所有设置中始终优于MIPROv2,在GPT-4.1 Mini上获得高达11.1%的优势,在Qwen3 8B上获得10.3%的优势。此外,GEPA和GEPA+Merge在所有基准和模型上的总体收益比MIPROv2增加了一倍多(+13.33%和+12.19%对比MIPROv2的+5.64%)。

虽然之前的工作(如MIPROv2和tbsm)提供了令人信服的证据,证明少样本示例优化通常优于基于指令的方法——我们的发现表明这一趋势发生了令人兴奋的转变。这主要归功于LLMs在指令遵循和自我反思能力方面的最新进展,以及GEPA利用这些改进能力的设计选择。

图2:GEPA与其他优化器在HotpotQA基准上的性能对比(Qwen3 8B模型)

图2:GEPA与其他优化器在HotpotQA基准上的性能对比(Qwen3 8B模型)

:::


5. 相关工作

5.1 复合AI系统优化

复合AI系统由互连模块组成,如检索、工具调用和大型语言模型(LLMs),已成为解决复杂多阶段推理任务的有效范式。然而,在低数据或高成本rollout设置中优化这些系统仍然是一个主要挑战,因为现有方法通常需要大量数据或大量评估周期。

5.2 提示词优化

提示词优化领域包括:

  • 离散提示词优化:如APE、GrIPS、OPRO等
  • 连续提示词优化:如prefix-tuning、prompt tuning等
  • 少样本优化:如MIPRO、Self-Consistency等
  • 强化学习方法:如RLVR、GRPO、DPO等

GEPA的创新在于利用自然语言反馈进行反思性提示词变异,结合Pareto-based illumination和遗传算法结构。


6. 结论与局限性

6.1 主要贡献总结

本文提出了GEPA(Genetic-Pareto),一个用于复合AI系统的高样本效率提示词优化器。GEPA创新性地将自然语言反思与多目标Pareto优化相结合,实现了:

  1. 极高的样本效率:使用比GRPO少35倍的rollout次数达到相同或更好的性能
  2. 稳健的泛化能力:在六个不同任务上持续超越现有方法
  3. 实用的方法:不需要权重更新,只优化提示词

6.2 局限性

  1. 反馈函数依赖:GEPA的效果依赖于反馈函数$\mu_f$能够提供有意义的文本反馈,在某些领域可能难以设计
  2. 计算开销:虽然rollout次数少,但每次反思变异需要额外的LLM调用来生成新提示词
  3. 局部最优风险:尽管使用了Pareto策略,仍然存在陷入局部最优的可能性
  4. 通用性限制:在某些任务上可能不如专门的优化方法

6.3 未来工作方向

  1. 自动化反馈函数设计:研究如何自动构建有效的反馈函数
  2. 与其他优化方法结合:如与GRPO微调相结合(GEPA+Merge)
  3. 更大规模评估:在更多任务和模型上验证GEPA的效果
  4. 推理时搜索:探索GEPA作为推理时搜索策略的潜力

四、论文简评

创新点

  1. 自然语言反馈的利用:核心创新在于利用自然语言反馈而非仅依赖标量奖励进行提示词优化,这充分利用了LLM强大的语言理解和推理能力
  2. Pareto-based illumination策略:创新性地将多目标优化中的Pareto前沿概念应用于候选选择,确保问题空间的全面覆盖
  3. 遗传进化结构:通过构建提示词的进化树,实现跨多个示例的泛化积累
  4. 显著的性能提升:在减少高达35倍rollout的情况下超越GRPO,在AIME-2025上比MIPROv2高出12%

局限性

  1. 依赖高质量的反馈函数设计
  2. 每次变异需要额外的LLM调用
  3. 仍可能陷入局部最优
  4. 在某些专门任务上可能不如定制方法

应用场景

  1. 复合AI系统优化:检索增强生成、多模块智能体等
  2. 数据受限场景:当rollout成本高昂时
  3. 快速原型开发:快速迭代优化提示词
  4. 推理时优化:代码优化、挑战性推理任务

可改进方向

  1. 探索自动反馈函数生成
  2. 与强化学习微调方法的深度结合
  3. 扩展到更多任务类型
  4. 研究更高效的探索策略

参考文献

本文引用了大量相关工作,包括GRPO、MIPROv2、TextGrad、Trace等优化方法,以及HotpotQA、IFBench、HoVer、PUPA、AIME等基准测试。由于报告格式限制,详细引用列表请参考原文。


报告生成于 2026-03-06