ReAct、Plan-and-Execute、Reflection 到底怎么选?先搞清楚它们各自在解决什么问题

发布时间:2026/8/27 8:18:12
ReAct、Plan-and-Execute、Reflection 到底怎么选?先搞清楚它们各自在解决什么问题 在 AI Agent 的面试和实际开发里ReAct、Plan-and-Execute、Reflection 是出现频率最高的三个名词。但很多人的困惑在于背得出定义却说不清三者到底是什么关系也讲不出实际项目该怎么选。这篇博客的目标就是把这三者掰开揉碎从论文溯源、运行机制、成本差异到选型策略一次讲清楚。先厘清一个关键前提设计范式 vs 推理模式很多人在概念上卡壳是因为把两个层次的东西混在了一起。设计范式是搭建 Agent 的顶层做事流程框架——它决定整个系统从接收任务到完成目标按什么大逻辑运行。打个比方它就像你开店是走一步看一步的灵活夫妻店模式还是先定好全套标准的连锁模式。推理模式则是 Agent 在每一个具体步骤里脑子里怎么想比如是稳扎稳打一步步来还是先想几个方案选最优。打个比方设计范式是公司的管理制度推理模式是员工干活的思路——制度定好大框架员工在每个环节里决定怎么干两层配合才能把事做成。分清这个前提之后再看三者的关系就通透了ReAct 和 Plan-and-Execute 是把事做完的两种独立执行范式而 Reflection 是把事做好的增强机制它不是一个可以独立成立的新流程。ReAct边想边做的奠基款ReAct 是 Agent 范式的祖宗。它诞生于 2022 年由 Shunyu Yao 等人提出论文《ReAct: Synergizing Reasoning and Acting in Language Models》后来成为 ICLR 2023 的口头报告。这篇论文没有训练新模型、也没改模型架构只是设计了一个提示词格式——Thought → Action → Observation的循环就把推理和行动结合了起来。在此之前大模型像个关在隔音房里的传声筒你问它今天的比特币价格它会凭训练数据自信地编一个去年的数。ReAct 的价值在于让模型既能思考、又能调用外部工具去核实把 Chain-of-Thought 的推理能力和强化学习 Agent 的环境交互能力结合在了一起。用生活化的例子理解ReAct 就像外卖骑手接了把餐送到用户手里的目标不会提前把每一步定死。他先想去商家取餐取了餐再想去用户小区到了小区门口再想3 号楼走西门更近。每一步决策都基于上一步的实际情况路封了立刻改路线绝不死守计划。ReAct 最大的优势是实现简单、灵活度极高、逻辑透明出了问题好排查新手入门零门槛。但短板也很明显遇到长流程、多步骤的复杂任务很容易走着走着就忘了最初目标甚至在某一步陷入无效循环。所以它最适合流程不固定、复杂度适中的任务比如日常信息搜索、简单问答、客服机器人。Plan-and-Execute先规划后执行的结构款Plan-and-Execute 是专门针对 ReAct长任务容易跑偏这个痛点做的优化。它和 ReAct 的核心区别一句话就能说清ReAct 是走一步看一步边想边干Plan-and-Execute 是先把完整计划定好再按计划一步步干。从推理模式上看它把 ReAct 里混在一起的规划和执行彻底解耦一个模型专门负责把大目标拆成执行清单另一个模型或模块负责按清单逐步执行最后统一汇总。它的学术渊源可以追溯到 Plan-and-Solve prompting 这类工作核心思想都是先规划、后执行。它的形象比喻是公司里的项目经理接到做一个新产品的目标不会上来就写代码而是先做需求调研、再出原型设计、然后交给开发实现、最后测试验收和上线发布。先把完整步骤定好再分模块推进中途不随便乱改方向。Plan-and-Execute 有一个实际项目中非常实用的隐藏优势规划模块和执行模块可以用不同的模型。规划阶段对推理能力要求高可以用 GPT-4 或 Claude 这类强模型执行阶段每步任务已经很具体用便宜的小模型就够用。这种强模型规划、弱模型执行的策略能把总成本降低 70% 到 90%而完成质量几乎不受影响——原因很简单规划只调一次、花费有限执行要调很多次、用便宜模型就能大幅压成本。它的优势是结构清晰、执行链路可控复杂长流程任务不容易跑偏还能识别无依赖步骤做并行优化。代价是灵活度不如 ReAct遇到计划外情况容易卡住实现也更复杂需要分别维护规划模块和执行模块。Reflection给前两者加的质量增强 buff这是最容易搞错的一点Reflection 不是一套独立的完整流程而是叠加在 ReAct 或 Plan-and-Execute 之上的自我检查、自我修正机制。它不改变原本的做事流程只是加了一层生成 → 评估 → 改进的闭环。用考试来理解三者的关系最直观ReAct 是一道题一道题挨着做做完不回头看Plan-and-Execute 是先把整张卷子的做题顺序和时间分配定好再按计划做Reflection 则是做完一道题回头检查一遍发现算错了马上改改完再交卷。学术界对应的典型工作是 Reflexion由 Noah Shinn 等人提出东北大学与 MIT发表于 NeurIPS 2023。它提出的核心思想叫verbal reinforcement learning——语言强化学习让 Agent 不通过梯度更新而是通过文字反思从错误中学习。Reflection 的优势很直接输出质量明显提升幻觉、逻辑错误、细节遗漏都会减少对严谨性要求高的场景效果尤其明显。代价是至少多一次 LLM 调用token 消耗和延迟线性增加如果不设轮次上限还容易陷入为了改而改的死循环。进阶动态 Replan 与 Reflexion讲完三个基础范式还有两个面试加分项值得了解。动态 Replan解决的是 Plan-and-Execute 的计划僵化问题。比如你规划了五步写竞品分析报告执行到第三步发现某个竞品已经被收购了原计划就要调整。动态 Replan 的做法是每步执行完后把当前结果和剩余计划一起交给规划模块判断原计划还合理吗不合理就生成新的剩余计划替换掉。代价是每步多一次重新评估计划的 LLM 调用。Reflexion则是把 Reflection 的反思推到更深一层它不只检查输出对不对还会把每次失败的原因总结成经验教训存进记忆下次遇到类似任务时作为上下文传回让 Agent 避免重蹈覆辙。这就像做错数学题后不只是改答案还会在错题本上写这类题容易漏掉符号变化下次注意。Reflexion 的效果有多强在 HumanEval 代码生成基准上它把 GPT-4 的 pass1 准确率从 80% 提升到了 91%。代码生成天然适合 Reflexion因为代码可以运行、可以测试执行结果就是最直接的反馈信号。Token 成本选型绕不开的现实因素以一个需要 5 步工具调用、每步约 2000 token 的任务为例范式消耗逻辑大致消耗成本特征ReAct每步都带完整历史线性递增约 30000 token步骤越多越贵随步数线性增长Plan-and-Execute集中在规划汇总执行只带摘要约 14500 token比 ReAct 省一半以上可配合弱模型再降 70%Reflection在基础范式上叠加评估轮次基础消耗 30%~100%反思轮次越多越贵需设 2~3 轮上限ReAct 因为每步都要把完整历史带上token 是线性递增的200040006000800010000。Plan-and-Execute 把大头集中在规划阶段和汇总阶段执行每步只带当前指令和结果摘要总消耗比 ReAct 低了一半多。而 Reflection 在每个反思节点至少多一次调用如果一个步骤反思两轮才通过总消耗就是原来的三倍左右。选型口诀与工程实践选型的逻辑其实很清晰可以浓缩成一句话任务简单用 ReAct流程长且复杂用 Plan-and-Execute输出要求高再加 Reflection。具体到场景任务不复杂、流程不固定、需要实时调整——直接用 ReAct够用就好别搞复杂的。任务很长、容易跑偏、需要整体结构清晰——上 Plan-and-Execute先定计划再执行如果执行中经常遇到意外再加动态 Replan。输出要求高、不能出错——在前两者基础上叠加 Reflection 做自我检查需要跨任务积累经验的用 Reflexion 沉淀失败教训。实际项目中最常见的做法其实是混合架构规划阶段用 Plan-and-Execute 的思路定好全局计划每一步的执行用 ReAct 循环处理因为单步也可能需要多轮工具调用最后对整体输出做一次 Reflection 检查质量。这种三层嵌套结构在 LangGraph 这类框架里实现起来非常自然——LangGraph 用状态图的方式把节点、边和数据状态组织起来天然支持循环、条件分支和持久化是搭建这类 Agent 系统的主流框架之一。最容易踩的坑是把所有范式全堆在一起——又要规划、又要反思、又要 Replan、又要积累经验结果系统又复杂又慢还容易出奇怪的 bug。工程开发的黄金法则是够用就好先用 ReAct 快速验证业务能跑通再根据 token 消耗、延迟和输出质量的实际数据决定要不要切换到 Plan-and-Execute 或叠加 Reflection。先跑起来再优化别为了炫技搞过度工程化。