跳转至

GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning

会议: ICLR 2026 (Oral)
arXiv: 2507.19457
代码: https://github.com/gepa-ai/gepa
领域: 可解释性
关键词: 提示优化, 进化搜索, 自然语言反思, Pareto前沿, GRPO替代

一句话总结

提出 GEPA(Genetic-Pareto)提示优化器,通过自然语言反思从少量执行轨迹中诊断问题并迭代优化提示,在六个任务上平均超越 GRPO 6%(最高20%),同时仅使用 1/35 的采样量。

研究背景与动机

大语言模型越来越多地通过强化学习方法(如 GRPO)进行下游任务的适配。然而 GRPO 等方法通常需要数千次 rollout,将丰富的执行轨迹压缩为稀疏的标量奖励信号——这丢失了大量信息。

语言本身是一种高度可解释的媒介,天然包含了比标量奖励丰富得多的学习信号。一个 LLM 的推理链条、工具调用过程和错误信息中隐含了"为什么失败"的诊断线索,但 RL 方法将这些全部丢弃,仅保留一个分数。

核心矛盾:RL 方法(GRPO)需要大量 rollout 但仅利用标量奖励 vs 自然语言本身携带远比标量奖励丰富的学习信号。

切入角度:既然 LLM 能读懂执行轨迹,为什么不让 LLM 直接反思失败原因、提出改进,从而以极少的采样实现高效优化?

核心idea:将提示优化建模为带反思的进化搜索过程,利用 LLM 读取完整执行轨迹进行"梯度等价"的诊断和修复,通过 Pareto 前沿选择维持多样性。

方法详解

GEPA 把"优化提示"建模成一场以自然语言为驱动的进化搜索:维护一个候选提示池,每一轮从池中挑一个候选,在小批量任务上跑一遍并完整记录它的推理链、工具调用与报错,然后让一个 LLM 反思器读这份轨迹、用文字诊断哪里出了问题、并据此改写出新提示。整个过程不碰模型权重、不算任何梯度,只靠"执行—反思—变异—评估"的闭环把好提示沉淀下来。

整体框架

系统在每一轮里完成一次"挑候选 \(\to\) 跑批 \(\to\) 读轨迹反思 \(\to\) 改写提示 \(\to\) 看分数决定去留"的循环,期间维护两样东西:一个不断扩张的候选提示池,以及一条记录"谁在哪些任务上最强"的 Pareto 前沿。每轮先从前沿上采样一个候选作为变异对象,在小批量任务上执行并榨取出"分数 + 文字诊断"的反馈,反思器据此定向改写出新提示;前沿上两个各有所长的候选也可被合并成互补的新候选。新候选只有在评估指标确有改善时才被接纳、回填进池并更新前沿,搜索就这样在多样化的候选之间一步步爬升,直到采样预算用尽。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    POOL["候选提示池<br/>(不断扩张)"] --> SEL["Pareto 前沿选择<br/>从各子任务最强候选中采样"]
    SEL --> RUN["小批量执行<br/>记录推理链 / 工具调用 / 报错"]
    RUN --> ASI["Actionable Side Information<br/>分数 + 可执行文字诊断"]
    ASI --> MUT["反思式变异<br/>LLM 读轨迹诊断后定向改写"]
    SEL --> MERGE["系统感知合并<br/>融合两个前沿最优候选"]
    MUT --> EVAL{"评估指标<br/>是否改善?"}
    MERGE --> EVAL
    EVAL -->|改善| POOL
    EVAL -->|不改善| SEL

关键设计

1. Pareto 前沿选择:用多目标视角维持候选多样性

每一轮要先决定"拿哪个候选去变异"。如果只盯着平均分挑,搜索很快会收敛到单一风格的提示,在某些子任务上一路过拟合、却把别的子任务上偶然出彩的变体丢掉。GEPA 改为维护一条 Pareto 前沿,记录在不同任务子集上各自最强的候选,挑选变异对象时从前沿上采样。这样即便某个候选总平均分不高,只要它在某类问题上独占鳌头就会被保留下来继续繁衍,搜索得以同时朝多个方向探索而不至于早熟。

2. Actionable Side Information(ASI):把标量奖励换成可执行的文字诊断

选中候选跑完小批量后,回报里装什么决定了能学到多少。RL 方法的根本浪费在于把一整条信息丰富的轨迹压成一个标量分数,模型只知道"做得好不好"却不知道"为什么"。GEPA 让评估器除了返回分数,还返回一段诊断性反馈——错误信息、性能剖析、推理日志、单元测试的失败原因等等。这段文字在文本优化里扮演了"梯度"的角色:它直接指出失败的具体环节,反思器据此就能做定向修改,而不是盲目试错。正因为每次执行都榨取出这样高密度的学习信号,GEPA 才能在区区上百次评估里完成 RL 需要上万次 rollout 才能逼近的改进。

3. 反思式变异:让 LLM 先诊断再改写,而非随机扰动

拿到 ASI 之后就该改提示了。进化搜索通常靠随机变异探索,但提示空间巨大、随机改写命中率极低。GEPA 的变异是基于诊断的:反思器先读完失败轨迹与 ASI,回答"这个提示在这类问题上为什么会错",再把答案落实成对提示的针对性修订,并且把所有祖先候选积累下来的教训一并带入,避免重复踩同一个坑。这种"读错题再改"的定向变异,是 GEPA 样本效率远高于 RL 的根本原因。

4. 系统感知合并(System-aware Merge):让两条各有所长的血脉优势互补

除了沿单条血脉变异,前沿上常出现两个候选各擅长一片任务的情况,单纯的变异很难一次性把两边长处揉到一起。GEPA 引入合并算子:由 LLM 分析两个 Pareto 最优候选各自为何在对应任务上占优,再生成一个融合双方策略的新候选。对于含多个提示模块的复合系统,这一步尤其关键——它能把不同模块上分别调好的部分拼装成一个整体更强的版本。

损失函数 / 训练策略

GEPA 全程无梯度、无损失函数,是否接纳新候选完全由评估指标说了算:默认任何改善即接受,也可改成设定阈值或要求统计显著。典型预算是 100–500 次评估,而对照的 GRPO 往往需要 5000–25000 次以上的 rollout,二者差出一到两个数量级。由于只依赖 API 级别的调用、不需要触及模型权重,GEPA 可以直接优化 GPT-5、Claude、Gemini 这类只开放接口的闭源模型——这正是基于策略梯度的 RL 方法无论如何都做不到的。

实验关键数据

主实验

任务 指标 GEPA GRPO MIPROv2 提升(vs GRPO)
6任务平均 Accuracy - - - +6% avg, up to +20%
AIME-2025 Accuracy - - - +12%(vs MIPROv2)
GPT-4.1 Mini+AIME Accuracy 56.6% - 46.6% +10pp
DSPy MATH Accuracy 93% - 67% -
ARC-AGI Accuracy 89% - 32% -

消融实验

配置 关键指标 说明
完整 GEPA 最佳 反思+Pareto+合并全部启用
无反思 性能下降显著 退化为随机搜索
无 Pareto 选择 多样性丧失 易陷入局部最优
无系统合并 中等下降 无法互补不同子任务优势

关键发现

  • GEPA 使用的 rollout 数仅为 GRPO 的 1/35,但平均性能反而高 6%
  • 在 AIME-2025 上超越领先的提示优化器 MIPROv2 达 12%
  • 生成的优化提示是人类可读的,包含详细的问题解决策略
  • 作为推理时搜索策略在代码优化上也展现了潜力
  • 已被 DSPy、MLflow、OpenAI Cookbook、Google ADK、HuggingFace 等主流框架集成

亮点与洞察

  • 用自然语言反思替代标量奖励,是对 RL 范式的深刻反思——语言本身就是最好的梯度
  • 极低的样本需求(100-500次评估)使其可以优化API模型(GPT-5, Claude),无需权重访问
  • 生成的提示是可解释的"预计算推理计划",可直接审查和理解
  • Pareto前沿维护是避免过拟合的优雅方案

局限与展望

  • 依赖高质量的反思模型(通常需要 GPT-5 级别),成本不低
  • 对于需要大规模权重更新的任务(如知识注入),提示优化的天花板有限
  • 搜索过程的随机性可能导致不同运行结果差异较大
  • 与 RL 的公平比较存在争议——优化的对象不同(提示vs权重)
  • 对于超长提示(数千token),反思和变异的质量可能下降
  • 评估 metric 的设计对最终效果影响巨大,metric 不好则 GEPA 也无法优化
  • 在安全对齐等需要精确控制模型内部表示的任务上,提示优化的局限性更明显

相关工作与启发

  • vs GRPO/PPO: GRPO通过策略梯度优化模型权重,需要大量rollout;GEPA优化提示文本,用反思替代梯度
  • vs MIPROv2: 此前最强的提示优化器,GEPA通过ASI和Pareto搜索在AIME等任务上超越10%+
  • vs TextGrad: TextGrad也用文本反馈但采用梯度模拟;GEPA的进化搜索+反思更为高效

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 用自然语言反思替代RL标量奖励的范式极具启发性,ICLR Oral当之无愧
  • 实验充分度: ⭐⭐⭐⭐ 六个任务验证,与GRPO和MIPROv2充分对比
  • 写作质量: ⭐⭐⭐⭐⭐ 动机阐述极清晰,方法直觉易懂
  • 价值: ⭐⭐⭐⭐⭐ 已获得大规模工业采用(Shopify/Databricks/OpenAI等),实际影响力极大