先记住这个答案
两者本质区别在于规划与执行的耦合方式。Plan-and-Execute 由 planner 先生成完整步骤序列,executor 依次执行,环境变化靠显式 replan 修正,优点是步骤可校验、token 消耗集中在规划期,代价是初始计划失效时整批返工。ReAct 每步都先思考再调用工具、观察结果,天然适应环境反馈,但长任务上每步都消耗一次 LLM 调用,且容易因局部观察而漂移。选型看任务的可预测性:步骤可预先穷举用前者,路径不可预知用后者。
- 区别在规划时机:一次性还是每步
- 长任务 ReAct 贵在每步一次 LLM 调用
- 环境不可预知选 ReAct,步骤可穷举选先规划
先规划后执行与边推理边行动的机制差异
Plan-and-Execute 把任务拆成两个阶段:planner 基于目标一次性产出有序步骤列表,executor 逐个调用工具执行,遇到与预期不符的结果才触发 replanner 重新生成剩余计划。规划集中在一次或少数几次 LLM 调用中,步骤可被静态校验、并行化或插入审批门控。ReAct 则把规划摊到每一步:模型交替输出 thought、action、observation,下一步完全由上一步的真实反馈决定。
代价差异在长任务上被放大。假设任务要 50 步、每步需一次工具调用:ReAct 需要约 50 次携带全部历史轨迹的 LLM 调用,上下文线性膨胀且单步推理可能被局部观察带偏;Plan-and-Execute 可能只需 1 次规划加 50 次轻量执行,但初始计划若有 20% 步骤基于错误假设,返工的是整段剩余计划而非一步。前者把钱花在规划和返工上,后者把钱花在每步推理上。
批量数据迁移与故障现场排查的对照
场景一:把 12 张表从旧库迁到新库,要求逐表导出、转换、导入、校验行数。步骤在执行前即可穷举,工具序列固定,用 Plan-and-Execute:planner 生成 48 步计划并静态校验表名存在,executor 顺序执行,第 30 步行数校验不通过时只对失败表局部重规划。结果是 1 次规划调用加 2 次局部 replan,总 LLM 开销远低于每步推理。
场景二:排查线上偶发超时,可能涉及日志、指标、链路追踪、配置-diff,下一步查什么完全取决于上一步看到什么。ReAct 更合适:观察到 p99 在网关层已升高就转向网关日志,而不是按预设顺序查应用层。若强行先规划,初始计划大概率在第 3 步就整体作废。这个对照说明选型取决于下一步行动能否被预先确定。
两种模式各自失效的条件与对策
Plan-and-Execute 在环境信息不完整、步骤间依赖需执行中才能发现时系统性失效:planner 会虚构不存在的接口或假设中间数据格式,导致计划从第几步起整体失真。对策是限制规划深度,只规划已知阶段,留出显式的 replan 触发信号如校验失败率、工具报错次数,代价是丧失一部分预先校验能力。
ReAct 在长任务上的失效方式是目标漂移与轨迹膨胀:模型被局部观察吸引,逐步偏离原始目标,且几十步后上下文溢出被迫截断历史。对策包括周期性把当前状态与原始目标做对齐检查、用摘要压缩早期轨迹、设最大步数硬终止。混合做法也常见:高层用 planner 定阶段,阶段内用 ReAct 处理局部不确定性,用规划换可控、用循环换适应。
容易答错的地方
- 认为 ReAct 不需要规划所以更简单省钱
- ReAct 省去了显式 planner,但每一步都是一次带全部历史的 LLM 推理,长任务总 token 消耗常高于一次性规划,且需要额外的目标对齐与终止机制防止漂移和死循环。
- 认为 Plan-and-Execute 生成计划后就一成不变
- 实用的 Plan-and-Execute 必须配 replanner:执行结果与计划预期不符时重新生成剩余步骤。区别只在重规划是显式触发的批量修正,而非 ReAct 那样每步隐式进行。
面试官还会怎么问?
两种模式可以混合使用吗?
可以且常见:高层用 planner 把目标拆成阶段,每个阶段内部用 ReAct 循环应对局部不确定性,阶段边界做检查点与目标对齐。代价是要设计阶段粒度,太细则退回纯 ReAct,太粗则丧失适应性。
长任务上怎么量化两者的成本差异?
用每步平均 prompt token 乘以调用次数估算。ReAct 的历史轨迹随步数线性增长,第 n 步成本约正比于 n;Plan-and-Execute 规划成本近似常数,但要计入 replan 次数乘以剩余步骤的重新生成开销。
计划失效时 replan 应该改多少?
倾向只重规划受影响的子计划,保留已完成且结果仍有间接影响的步骤;但若失效源于初始假设错误,局部修补可能只是把错误往后推,应基于失败信号判断是局部修补还是整体推翻。
参考资料
示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。