GEPA 深度拆解:自然语言反思型提示词进化,凭什么碾压强化学习?

论文: GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning arXiv: 2507.19457 会议: ICLR 2026 (Oral) 作者: Lakshya A Agrawal, Shangyin Tan, Dilara…

目录
  1. 一、一个反直觉的结论:说话比打分更高效
  2. 二、核心架构:遗传算法 + 帕累托前沿 + 自然语言反思
  3. 2.1 Genetic(遗传算法)
  4. 2.2 Pareto(帕累托前沿)
  5. 2.3 Reflective(自然语言反思)
  6. 三、为什么自然语言反思比标量 reward 更强
  7. 四、实验结果:碾压 GRPO 和 MIPROv2
  8. 4.1 vs GRPO(强化学习基线)
  9. 4.2 vs MIPROv2(领先 prompt optimizer)
  10. 4.3 Code Optimization(推理时搜索)
  11. 五、GEPA 的工作流拆解
  12. 六、为什么这个方向很重要
  13. 6.1 "白箱" vs "黑箱"
  14. 6.2 小模型的友好性
  15. 6.3 跨任务迁移
  16. 6.4 Shopify CEO 的评价
  17. 七、与相关工作的关系
  18. 7.1 vs GRPO / PPO
  19. 7.2 vs MIPROv2
  20. 7.3 vs AutoPrompt / DSPy
  21. 八、落地启示:普通人怎么借鉴
  22. 8.1 在业务 prompt 工程中
  23. 8.2 反思 prompt 模板
  24. 8.3 帕累托思维
  25. 九、局限与思考
  26. 十、一句话总结
论文: GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning
arXiv: 2507.19457
会议: ICLR 2026 (Oral)
作者: 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
代码: https://github.com/gepa-ai/gepa
相关工具: optimize_anything() API (2026-02-18 发布)

一、一个反直觉的结论:说话比打分更高效

强化学习(RL)训练 LLM 的基本逻辑是:

让模型试很多次 → 用标量 reward(0/1,或 0~1 之间的一个数)告诉它"这次好还是不好" → 通过 policy gradient 调整参数。

GEPA 提出了一个让人不安的问题:

如果 LLM 能从自然语言中理解"为什么这次不好",为什么我们要把它降级成一个只能从数字反馈中学习的动物?

GRPO(DeepSeek 用的那套)需要数千次 rollout才能学会一个新任务。GEPA 说:不,用自然语言反思,几次 rollout 就够了。


二、核心架构:遗传算法 + 帕累托前沿 + 自然语言反思

GEPA 的全称是 Genetic-Pareto,三个词拆开看:

2.1 Genetic(遗传算法)

GEPA 把 prompt 优化看作一个进化过程:

Generation 0: 初始 Prompt
    ↓
采样 rollout → 收集推理轨迹、工具调用、输出
    ↓
自然语言反思 → "诊断问题:模型在第3步过早下结论,忽略了条件X"
    ↓
提出 Prompt 更新 → "在最终回答前,先验证所有前提条件"
    ↓
Generation 1: 进化后的 Prompt
    ↓
重复...

每一代不是随机变异,而是有方向的、基于反思的改进。

2.2 Pareto(帕累托前沿)

进化过程中会产生很多候选 prompt。GEPA 不是只保留"当前最好的一个",而是维护一个帕累托前沿——在多个目标(准确率、推理成本、prompt 长度等)上都"不被其他候选全面超越"的 prompt 集合。

这避免了两个常见问题:

  • 局部最优:如果只保留一个"当前最好",可能错过那些在某个维度上特别强的候选
  • 过度特化:一个 prompt 可能在某个任务上完美,但换个输入就崩塌。帕累托前沿保留多样性

2.3 Reflective(自然语言反思)

这是 GEPA 的灵魂。它不只是一个"打分+筛选"的过程,而是让 LLM 用自然语言写诊断报告。

Rollout 1 失败 → 反思:"模型在第二步就假设了用户意图,
                     但用户实际问的是反向问题"
    ↓
Rollout 2 失败 → 反思:"工具调用顺序错误,
                     应该先查数据库再生成回答"
    ↓
Rollout 3 成功 → 反思:"这次正确是因为先验证了假设"
    ↓
Prompt 更新:"在生成回答前,先明确用户意图,
              再按顺序执行工具调用,最后验证输出"

关键洞察:这些反思不是给人类看的——它们直接成为下一代 prompt 的进化素材。


三、为什么自然语言反思比标量 reward 更强

GRPO 的 learning signal 是什么?是一个数字:0(失败)或 1(成功),或者 0.73(部分成功)。

这个数字告诉你"好还是不好",但不告诉你为什么。

GEPA 的 learning signal 是一段自然语言:"失败是因为在第三步过早下结论,忽略了用户的前提条件。正确的做法是先用反问句确认意图。"

这不是"0.7 vs 0.3"的对比,这是结构性知识的直接传递。

GRPO (强化学习)GEPA (提示词进化)
反馈信号标量 reward (0/1 或 0~1)自然语言反思 (段落级诊断)
信息密度1 个数字几十到几百个 token 的结构性分析
为什么失败不知道,只能试错更多次直接知道原因,有方向地修正
rollout 效率需要数千次几次到几十次
可解释性黑箱(参数更新不可读)白箱(反思报告直接可读)
跨任务迁移需要重新训练反思规则可直接迁移

四、实验结果:碾压 GRPO 和 MIPROv2

4.1 vs GRPO(强化学习基线)

指标GEPAGRPO
平均提升+6%基线
最大提升+20%基线
rollout 数量少 35 倍数千次
GEPA 用 1/35 的 rollout,平均比 GRPO 好 6%,最高好 20%。

这不是"花更多算力做得更好"——这是"用更聪明的方式,花更少算力,做得更好"。

4.2 vs MIPROv2(领先 prompt optimizer)

任务GEPAMIPROv2提升
AIME-2025 (数学推理)——+12%
多个任务平均——+10%+
MIPROv2 是之前最先进的 prompt optimizer(联合优化 instructions 和 few-shot examples)。GEPA 比它还好 10%+。

而且 GEPA 生成的 prompt 通常比 MIPROv2 更短。更短意味着:更低的推理成本、更少的上下文窗口占用、对小模型更友好。

4.3 Code Optimization(推理时搜索)

GEPA 还被验证作为 inference-time search strategy 用于代码优化——即在推理阶段(不是训练阶段)用 GEPA 的进化逻辑来搜索最优 prompt。这说明它的方法不仅适用于离线训练,也可以在线使用。


五、GEPA 的工作流拆解

输入:任意 AI 系统(含一个或多个 LLM prompt)

Phase 1: 采样
  ↓ 运行多个 rollout(推理轨迹 + 工具调用 + 输出)

Phase 2: 反思
  ↓ LLM 用自然语言写诊断报告:
    "为什么这次成功/失败?"
    "哪些推理步骤有问题?"
    "prompt 的哪个部分导致了错误?"

Phase 3: 改进提议
  ↓ 基于反思,生成具体的 prompt 更新建议
    "在第三步添加验证环节"
    "修改语气,让模型更谨慎"

Phase 4: 帕累托选择
  ↓ 评估所有候选 prompt 的多个维度
    维护帕累托前沿(不被全面超越的候选集合)

Phase 5: 遗传重组
  ↓ 从帕累托前沿中"杂交"互补的改进
    组合 A prompt 的优点 + B prompt 的优点

Phase 6: 下一代
  ↓ 用进化后的 prompt 回到 Phase 1,直到收敛

关键设计:每次迭代不是"替换"当前 best prompt,而是维护一个种群。反思产生的规则可以被多个候选共享,帕累托前沿确保多样性不被过早牺牲。


六、为什么这个方向很重要

6.1 "白箱" vs "黑箱"

RL 训练 LLM 是一个黑箱过程:你输入 reward,模型内部参数怎么变,你不知道。如果训练后模型表现变差,你很难 debug。

GEPA 是白箱的:每一次进化都留下自然语言反思报告。你可以读这些报告,理解模型"学到了什么",发现它误解了什么,手动纠正。

6.2 小模型的友好性

GRPO 需要大量 rollout 和算力,小模型玩不起。GEPA 的反思规则是语言级别的——一个 7B 模型产生的反思,可以直接用来改进另一个 7B 模型的 prompt。不需要大规模 RL 训练。

6.3 跨任务迁移

GRPO 在一个任务上训练的 policy,换任务要重新来。GEPA 的反思规则是抽象的、语言化的——"先验证假设再下结论"这个规则,从数学推理迁移到代码生成,只需微调即可。

6.4 Shopify CEO 的评价

Tobi Lütke(Shopify CEO)说 GEPA 是 "severely under hyped"——被严重低估了。考虑到这篇论文被 ICLR 2026 选为 Oral,这个评价说明学术界和工业界对它的认知还在早期。


七、与相关工作的关系

7.1 vs GRPO / PPO

GRPO 是参数级别的优化:调整模型权重。GEPA 是提示词级别的优化:调整输入给模型的指令。两者不是替代关系,而是互补——GEPA 可以在 GRPO 之前找到一个更好的初始 prompt,让 GRPO 的训练更快收敛。

7.2 vs MIPROv2

MIPROv2 也优化 prompt,但它的搜索空间是 instructions + few-shot examples,用贝叶斯优化。GEPA 的优势在于:

  • 用自然语言反思指导搜索方向,而不是盲目尝试
  • 用帕累托前沿保持多样性,而不是只追一个最优
  • 生成的 prompt 更短

7.3 vs AutoPrompt / DSPy

DSPy 的编译器也在做 prompt 优化,但主要 focus 在 few-shot 示例的选择和排列。GEPA 的反思机制更深入——它不仅选择示例,还诊断模型 reasoning 中的结构性问题。


八、落地启示:普通人怎么借鉴

8.1 在业务 prompt 工程中

即使你没有 GEPA 的全套系统,核心思想可以直接用:

传统方式:
"这个 prompt 效果不好 → 我试着改几个字 → 再测 → 再改..."

GEPA 方式:
"这个 prompt 效果不好 → 让 LLM 写诊断报告:
 '失败是因为模型在第二步就假设了用户意图...'
 → 根据诊断有方向地修改
 → 同时保留多个候选,不急着选'最好的'"

8.2 反思 prompt 模板

你可以直接用的反思模板:

"请分析以下推理轨迹,指出:
1. 哪一步出现了错误或不合理假设?
2. 错误的原因是什么?
3. 如果修改 prompt,应该添加什么约束来避免这个错误?
4. 这个错误是否在其他 rollout 中也出现?"

8.3 帕累托思维

不要只测"准确率最高"的 prompt。同时记录:

  • 推理成本(token 数)
  • 响应时间
  • 对边界 case 的鲁棒性
  • prompt 长度
一个 prompt 准确率 95% 但成本是另一个 93% 准确率的 3 倍——后者可能更实用。


九、局限与思考

1. 反思质量依赖模型能力:如果模型本身对任务理解不深,反思可能是错的("误诊") 2. 帕累托前沿的维度爆炸:当优化目标超过 3-4 个,帕累托选择变得困难 3. 自然语言的模糊性:反思规则是语言化的,执行时可能有歧义 4. 与 RL 的关系:GEPA 不是取代 RL,而是在 RL 之前做一个更好的"初始化"。对于需要大量交互的复杂任务(如 StraTA 的长程 Agent),RL 仍有不可替代的作用


十、一句话总结

GEPA 的核心论证是:LLM 的可解释性不是负担,是优势。当模型能从自然语言中理解"为什么失败",我们不该把它降级成只能看数字的动物。

遗传算法给了它探索的框架,帕累托前沿给了它多样性的保障,自然语言反思给了它学习的方向。三者结合,用 1/35 的 rollout 超越了强化学习。

这不是 prompt engineering 的胜利——这是 "把 LLM 当作能读懂反馈的智能体,而不是只能被数字驯化的动物" 的胜利。


参考论文: Agrawal, L. A., Tan, S., Soylu, D., Ziems, N., Khare, R., Opsahl-Ong, K., Singhvi, A., Shandilya, H., Ryan, M. J., Jiang, M., Potts, C., Sen, K., Dimakis, A. G., Stoica, I., Klein, D., Zaharia, M., & Khattab, O. (2025). GEPA: Reflective prompt evolution can outperform reinforcement learning. *arXiv preprint arXiv:2507.19457*. https://arxiv.org/abs/2507.19457

#GEPA #ICLR2026 #PromptEngineering #强化学习 #GRPO #遗传算法 #帕累托前沿 #自然语言反思 #PromptEvolution #HeavyGrok

#论文拆解 #GEPA #ICLR2026 #PromptEngineering #强化学习 #GRPO #遗传算法 #帕累托前沿 #自然语言反思 #PromptEvolution #HeavyGrok

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens