GEPA:让 LLM 用“反思”进化提示词,样本效率甚至超过强化学习
一、一句话概述GEPA 提出了一种面向 LLM workflow 和 agent 的提示词优化方法它不更新模型权重而是让模型阅读自己的执行轨迹、错误反馈和评分结果用自然语言反思出新的 prompt并通过 Pareto frontier 保留多条有潜力的进化路线。论文最核心的结论是在 6 个任务上GEPA 在 Qwen3-8B 上平均比 GRPO 高6%最多高20%同时 rollout 数量最多少35 倍在 GPT-4.1 Mini 上它也明显超过 MIPROv2、TextGrad 和 Trace 等 prompt optimizer。GEPA rollout 学习曲线图1GEPA 在 HotpotQA 和 IFBench 上用更少 rollouts 快速提升分数。橙色 GRPO 需要 24,000 次 rollout蓝色 GEPA 在早期就明显超过基线和 MIPROv2。二、研究背景与动机今天很多 AI 应用已经不是“单次问答”了而是由多个 LLM module、检索器、代码执行器、工具调用和控制流组成的 compound AI system。比如一个多跳问答系统可能先生成检索 query再总结证据再继续第二跳检索最后合成答案。每个模块都有自己的 prompt也会产生中间推理、工具调用和环境反馈。传统做法之一是 RLVR也就是 Reinforcement Learning with Verifiable Rewards。像 GRPO 这类方法会把一次完整 rollout 的最终成功与失败压缩成标量 reward再用它更新模型权重。这个思路很强但也有两个现实门槛第一训练常常需要成千上万甚至更多 rollouts第二很多真实工作流调用工具很贵甚至闭源大模型根本不能更新权重。GEPA 的观察很朴素但很关键LLM 系统的 rollout 本身往往就是自然语言。系统 prompt、chain-of-thought、工具调用、编译错误、单元测试失败原因、评分 rubrics这些信息在进入 RL 算法前可能被压缩成一个 0/1 或小数 reward但对 LLM 来说它们其实是可读、可解释、可归因的学习材料。所以论文提出一个问题既然语言模型擅长理解语言为什么不直接让它从这些语言轨迹里学习规则而一定要把 rich feedback 压成稀疏 reward 再做 policy gradient这就是 GEPA 的出发点。它把“优化 prompt”看成一个进化过程每次从候选 prompt 中挑出一个或两个根据 rollout 和反馈生成新 prompt如果新 prompt 在 minibatch 上表现更好就加入候选池整个过程中不只追逐全局最高分而是保留在不同样本上各自表现最好的候选从而避免早早陷入局部最优。三、核心方法详解3.1 问题形式优化 workflow 里的 prompt而不是模型权重论文把一个 compound AI system 记作Φ (M, C, X, Y)。其中M是多个语言模块C是控制流X/Y是输入输出 schema。每个模块Mi包含 promptπi、模型权重θi、输入 schema 和输出 schema。GEPA 的优化目标是提升系统整体指标μ比如 exact match、F1、pass rate 或人工 rubric 分数。但和 GRPO 不同的是GEPA 固定模型权重Θ只优化 prompt 集合Π。换句话说它更像一个“可解释的 workflow prompt compiler”不是一个权重微调器。3.2 总流程反思变异 小批量验证 候选池进化GEPA 总体流程图2GEPA 每轮从候选池中选择 prompt执行 rollout收集文本反馈再通过 reflective prompt mutation 或 system-aware merge 产生新候选。GEPA 的主循环可以拆成 5 步第一步初始化候选池候选池P最开始只有一个 base system也就是人工或默认 prompt 组成的原始工作流。第二步选择候选和模块GEPA 会从当前候选池中挑一个候选系统再选择其中一个语言模块进行更新。论文实现里模块选择采用 round-robin 策略保证不同模块都有机会被优化。第三步执行 minibatch rollouts系统在训练集的一个小批量上运行。GEPA 不只记录最终分数还记录每个模块的输入、输出、推理轨迹、工具结果和评价器反馈。第四步反思并改写 prompt一个 reflection LM 会看到当前 prompt、执行轨迹、分数和 feedback text然后判断失败或成功可能来自哪些 prompt 规则并提出新的 prompt。第五步只保留有效改动新 prompt 先在 minibatch 上和父候选比较。如果分数提升GEPA 才把它加入候选池并在Dpareto上记录每个样本的得分用于后续选择。GEPA 算法伪代码图3左侧是 GEPA 主算法右侧是 Pareto-based candidate selection。核心是记录每个候选在各个实例上的表现而不是只看平均分。3.3 反思变异把“失败原因”变成“任务规则”GEPA 最有意思的部分是 reflective prompt mutation。它不是简单让模型说“请优化这个 prompt”而是把 rollout 过程里的语言证据作为诊断材料。例如在代码任务里环境可能先输出编译错误、运行错误、性能 profiling再给出最终 reward。如果只看 reward模型只知道“失败了”如果看 evaluation trace它能知道是 include 缺失、张量维度不匹配、CUDA kernel 边界条件错误还是性能没有超过 baseline。这种反馈对 prompt 优化非常有价值。GEPA 会把这些诊断信息提炼成高层规则写回 prompt。它学到的不是某个样本的答案而是“遇到这类输入时应该采用什么策略”。GEPA 优化后的 prompt 示例图4HotpotQA 多跳问答中GEPA 把原本一句话的 second-hop query prompt 扩展成带有任务理解、常见失败模式和操作策略的详细指令。这个例子非常直观。种子 prompt 只有一句“给定 question 和 summary_1生成 query。”GEPA 优化后则明确告诉模型第一跳文档通常只覆盖一个实体第二跳要寻找与 summary 相关但未被第一跳覆盖的 broader entity 或 missing piece不要只是改写原问题也不要重复 summary 中已经有的信息。这类 prompt 更像“从 trial and error 中总结出的工作指南”。它既不是 few-shot demo也不是模型权重里的隐式参数而是人类可读的策略记忆。3.4 Pareto 选择不要只盯着平均分最高的候选如果每一轮都选择当前平均分最高的 prompt 来继续优化搜索很容易卡住。一个 prompt 可能在大部分样本上不错但它代表的是单一策略继续沿这条路线微调收益会迅速变小。GEPA 的做法是维护 instance-wise Pareto frontier对每个训练样本记录哪些候选拿到了该样本的最高分。只要一个候选在某些样本上是“赢家”它就值得被保留。后续采样时GEPA 按候选在多少样本上领先来加权抽样。Pareto 选择与贪心选择对比图5左侧 SelectBestCandidate 很快集中到一条路线并停滞右侧 Pareto-based sampling 能保留更多分支在同等预算下找到更高分候选。这个设计的意义在于它把 prompt 搜索从“爬一座山”变成“保留多个局部专长”。某个候选可能不一定平均分最高但它解决了另一批样本上的关键失败模式。最终这些互补策略可以通过后续变异或 Merge 被整合进更稳健的 prompt。3.5 System-aware Merge把不同进化分支的优势拼起来GEPAMerge 进一步引入 system-aware crossover。对于多模块工作流不同候选可能分别优化了不同模块比如一个候选改好了检索 query 生成器另一个候选改好了最终 answer synthesizer。Merge 的思路是比较两个候选在不同模块上的演化历史尽量从各自更有贡献的分支中选择模块 prompt合成新的候选系统。论文结果显示这个策略在 GPT-4.1 Mini 上尤其有效但在 Qwen3-8B 上并非总是提升说明 mutation 和 merge 的预算分配仍需要更细的自适应策略。四、数据集与任务设置论文在 6 类任务上评估 GEPAHotpotQA多跳问答需要检索和组合多个证据。HoVerretrieval-augmented verification需要判断 claim 是否被证据支持。IFBenchinstruction following测试模型遵循复杂约束的能力。PUPAprivacy-aware delegation把用户私有请求改写成可发给外部 LLM 的隐私保护请求。AIME-2025数学竞赛题。LiveBench-Math数学推理任务。模型设置包括开源的Qwen3-8B和闭源的GPT-4.1 Mini。对比方法包括 GRPO、MIPROv2、Trace/OptoPrime、TextGrad以及 MIPROv2-No-Demos 等变体。比较时需要注意一个细节GEPA 和 MIPROv2 是 prompt optimization 方法GRPO 是 weight-space RL 方法。论文的公平性来自统一用 rollout budget 和最终测试集表现衡量系统适应能力而不是要求它们更新同一种参数。五、实验与评估5.1 Qwen3-8BGEPA 用少得多的 rollout 超过 GRPO方法HotpotQAIFBenchHoVerPUPAAIME-2025LiveBench-MathAggregateImprovementBaseline42.3336.9035.3380.8227.3348.7045.23-GRPO43.3335.8838.6786.6638.0051.2648.913.68MIPROv255.3336.2247.3381.5520.0046.6047.842.61GEPA62.3338.6152.3391.8532.0051.9554.859.62GEPAMerge64.3328.2351.6786.2632.0051.9552.407.17表1Qwen3-8B 主结果。GEPA 在 5/6 个任务上超过 GRPOaggregate improvement 达9.62。AIME-2025 是例外GRPO 的38.00高于 GEPA 的32.00。样本效率是这里最值得关注的点。GRPO 每个任务使用24,000 rolloutsGEPA/GEPAMerge 的总优化预算平均约3,936 rollouts不同任务从1,839到7,051不等。论文进一步指出如果只看 train rolloutsGEPA 到达最优测试表现只需要79 到 737次 train rollouts。这说明 GEPA 的收益不是“多试几次 prompt”这么简单。它真正利用的是每次 rollout 中的自然语言轨迹把单次失败转化成可迁移的指令规则。5.2 GPT-4.1 Mini闭源模型也能直接受益方法HotpotQAIFBenchHoVerPUPAAIME-2025LiveBench-MathAggregateImprovementBaseline38.0047.7946.3378.5749.3358.2053.03-Trace (OptoPrime)60.3351.1946.0074.1845.3360.7456.303.27MIPROv258.0049.1548.3383.3751.3361.8458.675.64TextGrad62.3348.6447.6785.6846.6763.8459.146.11GEPA69.0052.7251.6794.4759.3364.1365.2212.19GEPAMerge65.6755.9556.6796.4659.3364.1366.3613.33GEPA-Qwen-Opt65.6749.8354.6790.0552.6759.3162.039.00表2GPT-4.1 Mini 上的结果。GEPAMerge 的 aggregate improvement 达13.33显著超过 MIPROv2、TextGrad 和 Trace。这里有一个很重要的现象GEPA-Qwen-Opt是在 Qwen3-8B 上优化出来的 prompt然后不修改地迁移到 GPT-4.1 Mini 上评估仍然取得9.00的 aggregate improvement。它甚至超过了直接在 GPT-4.1 Mini 上优化的 MIPROv2、TextGrad 和 Trace。这说明 GEPA 学到的东西不只是某个模型的“口味”而是相当一部分任务级规则。比如多跳问答里第二跳 query 应该如何寻找缺失证据隐私任务里哪些信息必须泛化代码任务里如何根据编译错误更新策略。这些规则本身具有跨模型可迁移性。5.3 候选选择消融Pareto frontier 是关键模块论文还固定进化框架只替换下一步候选选择策略。结果显示Pareto-based sampling 的 aggregate improvement 是12.44而 SelectBestCandidate 是6.05BeamSearch 是5.11。选择策略HotpotQAIFBenchHoVerPUPAAggregateImprovementBaseline42.3336.9035.3380.8248.84-SelectBestCandidate58.3330.4445.3385.4554.896.05BeamSearch57.3336.3941.0081.0853.955.11GEPA Pareto62.3338.6152.3391.8561.2812.44表3候选选择策略消融。只选择当前最优候选会快速陷入局部最优Pareto-based sampling 更能保留互补策略。这组消融很能说明 GEPA 的“遗传”部分不是装饰。反思负责产生高质量变异Pareto frontier 负责让搜索空间保持多样性。没有后者反思也可能围绕一个早期策略反复打磨最后错过更好的路线。六、案例与可解释性分析PUPA 任务的演化轨迹很好地展示了 GEPA 如何逐步积累规则。起始 prompt 只是要求“把用户私有查询改写成保护隐私的外部 LLM 请求”。经过几轮反思后prompt 逐渐加入了识别 PII、泛化名称和地点、区分 reasoning 与 request、禁止部分脱敏、保持任务实用性等细化规则。PUPA prompt 演化轨迹图6PUPA 任务中GEPA 从 base prompt 出发经多次 reflective mutation 把隐私策略、输出结构和审计理由逐步写入 prompt。这也是 GEPA 相比黑盒 RL 更容易被人理解的地方。它的“学习结果”不是一个权重 diff而是一份可读 prompt。研究者可以打开中间节点看到模型学到了什么规则哪些规则带来了提升哪些分支没有继续改进。当然这种可解释性也不是免费的。GEPA 需要一个足够强的 reflection LM 来读懂轨迹、归因错误并写出更好的指令。如果 reflection LM 本身能力弱或者任务反馈几乎没有语言信息GEPA 的优势会被削弱。七、扩展实验GEPA 也能做 inference-time search论文还探索了 GEPA 在代码生成和硬件 kernel 优化中的用途。这里 GEPA 不只是“为未来任务优化 prompt”而是把待解决的一批任务本身作为训练集和 Pareto 集在推理时迭代寻找更好的解。GEPA 在 kernel 生成中的扩展实验图7在 NPUEval 上GEPA Pareto 的平均 vector utilization 达30.52%高于 Sequential10 的4.25%、Sequential10RAG 的16.33%和 Sequential10RAGMIPROv2 的19.03%在 KernelBench 上GEPA 让超过20%的代表性任务生成了快于 PyTorch eager 的 CUDA kernel。在 AMD NPU kernel 任务中普通 GPT-4o Sequential10 的平均 vector utilization 只有4.25%。加入 RAG 后提升到16.33%再加入 MIPROv2 到19.03%。而 GEPA Pareto 达到30.52%单个 GEPA 生成 prompt 也能达到26.85%并且不需要 runtime RAG。这个实验说明GEPA 很适合那些“失败反馈富含语言信息”的场景。编译错误、profiling 结果、硬件文档片段都可以被当作反思材料。模型不是盲目重试代码而是把错误转化为下一轮 prompt 中的工程约束。八、总结✅GEPA 的核心贡献是把 rollout 轨迹变成自然语言学习信号。它利用执行轨迹、评价器反馈和分数让 LLM 反思失败原因并改写 prompt。✅它优化的是 workflow prompt而不是模型权重。这让 GEPA 可以直接用于闭源模型也适合不能微调或微调成本高的应用。✅Pareto-based candidate selection 是样本效率的关键。它保留在不同样本上各自领先的候选避免贪心搜索过早陷入局部最优。✅实验结果很强。Qwen3-8B 上 GEPA aggregate improvement 为9.62GPT-4.1 Mini 上 GEPAMerge 达13.33。✅GEPA prompt 具备跨模型迁移性。在 Qwen3-8B 上优化出的 prompt 迁移到 GPT-4.1 Mini 仍有9.00的整体提升。✅它还有推理时搜索潜力。在 NPU/CUDA kernel 生成中GEPA 能利用编译和性能反馈逐步改进代码生成策略。九、不足与未来方向9.1 当前不足GEPA 依赖可读的反馈信号。如果任务只有一个稀疏 reward没有错误信息、rubric、轨迹或可解释评价过程反思模块能利用的信息会少很多。reflection LM 的能力会影响上限。GEPA 假设 LLM 能从轨迹中做出合理归因。如果反思模型误判失败原因它可能把错误规则写进 prompt。验证集 rollout 仍占较大预算。论文指出GEPA 大量 rollout 用于候选选择时的 validation scoring而不是直接产生学习信号。后续可以研究动态验证子集或更省的 candidate tracking。Merge 的收益不稳定。GEPAMerge 在 GPT-4.1 Mini 上显著提升但在 Qwen3-8B 上有时会退化。这说明 crossover 何时触发、如何分配预算、怎样判断分支互补性仍需系统研究。数学任务不是全面碾压 RL。在 Qwen3-8B 的 AIME-2025 上GRPO 得到38.00GEPA 是32.00。对于需要模型内部推理能力大幅迁移的任务权重更新仍可能更有优势。9.2 未来研究方向更智能的反馈函数μf不同任务可以设计更细粒度的文字反馈例如把单元测试失败、检索漏召、格式违规、事实错误分开归因。自适应 Pareto 与验证预算动态选择验证样本减少候选评估成本让 GEPA 在更大规模 workflow 上运行。更强的模块级 credit assignment当前模块选择较简单未来可以根据轨迹自动判断哪一个 LLM module 最该被更新。与 RL 或 fine-tuning 结合GEPA 可以先生成高质量 prompt 和可解释规则再用这些规则构造数据或 reward shaping辅助后续权重训练。面向生产系统的 prompt 版本管理GEPA 的进化树天然适合记录 prompt 来源、修改理由和效果差异未来可与 A/B testing、回滚、审计系统结合。 延伸思考GEPA 最值得借鉴的地方不只是“prompt optimizer 又刷高了分数”而是它把 LLM 系统优化从黑盒梯度更新拉回到语言空间。对真实业务里的 agent 和 workflow 来说很多失败不是缺一个大模型而是缺一套能从错误中沉淀规则、保留多条策略、持续演化 prompt 的机制。GEPA 给出的方向是让模型不只回答问题也学会阅读自己的工作日志并把经验写成下一版操作手册。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】