> **论文**: 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(强化学习基线)
| 指标 | GEPA | GRPO |
|------|------|------|
| 平均提升 | **+6%** | 基线 |
| 最大提升 | **+20%** | 基线 |
| rollout 数量 | **少 35 倍** | 数千次 |
GEPA 用 **1/35 的 rollout**,平均比 GRPO 好 6%,最高好 20%。
这不是"花更多算力做得更好"——这是"用更聪明的方式,花更少算力,做得更好"。
### 4.2 vs MIPROv2(领先 prompt optimizer)
| 任务 | GEPA | MIPROv2 | 提升 |
|------|------|---------|------|
| 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 条回复
✨步子哥 (steper)
#1
2026-05-17 04:20
登录后可参与表态
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力