● ReAct vs Plan-and-Execute 详细对比 核心思想

一、核心思想

维度 ReAct Plan-and-Execute
全称 Reasoning + Acting Plan-and-Execute (也叫 Plan-then-Execute)
范式 交替进行推理和行动, 逐步决策 先生成完整计划, 再逐步执行
类比 边走边看的导航 先看地图规划路线, 再出发

二、工作流程对比

ReAct 循环

复制代码
Thought -> Action -> Observation -> Thought -> Action -> Observation -> ... -> Final Answer

每一步都根据上一步的观察结果, 重新推理下一步该做什么。没有全局计划, 完全是增量式决策。

Plan-and-Execute 循环

复制代码
阶段1:  Input -> Planner LLM -> [Step1, Step2, Step3, ...]
阶段2:  Step1 -> Executor -> Result1
        Step2 -> Executor -> Result2 (可根据 Result1 调整)
        ...
阶段3:  Results -> Final Answer

先由 Planner 生成结构化计划, 再由 Executor 逐步执行。执行过程中可选择性地 replan。


三、多维度对比

3.1 推理能力

维度 ReAct Plan-and-Execute
全局规划 弱。缺乏前瞻性, 易陷入局部最优 强。先全局思考再行动
适应性 强。每步都可根据新信息调整 中等。需要显式 replan 机制
推理深度 浅到中。每步推理负担小 计划阶段深, 执行阶段浅

3.2 Token 效率

维度 ReAct Plan-and-Execute
上下文消耗 高。每步都携带完整历史 低。Executor 只需当前步骤+必要上下文
总 token 量 随步数线性增长(累积 context) 计划阶段固定 + 执行阶段可控
长任务表现 差。容易撞 context window 上限 好。天然支持长链任务

这是 Plan-and-Execute 的最大优势之一: Executor 不需要看到所有历史, 只需要当前子任务的描述和必要输入。

3.3 错误处理

维度 ReAct Plan-and-Execute
错误恢复 自然。下一步 Thought 可以反思错误 需要 replan 机制, 否则会盲目执行错误计划
错误传播 低。每步独立决策 高。计划错误会连锁影响后续步骤
幻觉风险 中。每步都有观察校正 计划阶段较高(没有外部验证)

3.4 任务适用性

任务类型 更适合 原因
简单问答 / 单步检索 ReAct 计划开销不值得
探索性任务(不确定需要几步) ReAct 无法提前规划
多步确定性任务(数据管道、报告生成) Plan-and-Execute 步骤可预见, 计划价值高
长链任务(>10 步) Plan-and-Execute token 效率优势明显
需要并行执行的任务 Plan-and-Execute 计划可识别独立子任务并行化
交互式调试 ReAct 需要高频反馈循环

3.5 工程实现

维度 ReAct Plan-and-Execute
实现复杂度 低。单一 prompt loop 中高。需要 Planner + Executor + (可选) Replanner
可观测性 中。Thought 链可读但冗长 高。计划本身就是可审计的结构
可控性 低。难以干预中间决策 高。可以在执行前审核/修改计划
模型要求 需要较强的逐步推理能力 Planner 需强规划能力, Executor 可用较弱模型

四、混合架构(实践中最常见)

实际生产系统很少纯用一种, 常见的混合方式:

复制代码
+---------------------------------------------------+
|             Plan-and-Execute 外层                  ||                                                    |
|   Planner -> [Task1, Task2, Task3, ...]            ||                                                    |
|   +-------------------------------------------+   |
|   |   每个 Task 内部用 ReAct 执行              |   |
|   |   Thought -> Action -> Observation         |   |
|   |   -> Thought -> Action -> ...              |   |
|   +-------------------------------------------+   |
|                                                    |
|   执行完一个 Task 后 -> Replanner 评估             
|   -> 调整后续计划 -> 继续执行                      |
+---------------------------------------------------+

典型代表: LangGraph 的 Plan-and-Execute 模板、AutoGPT 后期版本。


五、选择决策树

复制代码
任务步骤 < 3 步?
  +-- 是 --> ReAct (计划开销不值得)
  +-- 否 --> 任务步骤可预见?
                +-- 是 --> Plan-and-Execute
                +-- 否 --> ReAct 或 混合架构
需要人工审核中间计划?
  +-- 是 --> Plan-and-Execute (计划天然可审计)
上下文窗口紧张?
  +-- 是 --> Plan-and-Execute (token 效率高)
任务高度不确定、需要频繁试错?
  +-- 是 --> ReAct

六、总结

结论 说明
ReAct 优势 灵活、简单、适应性强, 适合探索性和短链任务
P&E 优势 高效、可控、可审计, 适合确定性和长链任务
生产环境推荐 混合架构 -- 用 P&E 做顶层编排, ReAct 做子任务执行, 加 replan
相关推荐
一只小阿乐3 小时前
js流式模式输出 函数模式使用
开发语言·javascript·ai·vue·agent·流式数据·node 服务
x-cmd3 小时前
[x-cmd] 专为 AI Agent 设计的无头浏览器,比 Chrome 速度快 9 倍且少用 16 倍内存 | Lightpanda
前端·chrome·ai·自动化·agent·浏览器·x-cmd
墨10245 小时前
待办清单驱动执行:为什么 Agent 做复杂任务时需要持续更新计划
ai·agent·智能体·harness
月光宝盒造梦师1 天前
Ant Design Ellipsis 中的判断逻辑 isEleEllipsis 方法非常消耗性能
javascript·react·优化
LucaJu1 天前
一文吃透 Spring AI Alibaba + MCP:服务端搭建 + 客户端调用全流程
agent·智能体·skill·mcp·spring ai alibaba
阿荻在肝了1 天前
Agent学习四:RAG 技术应用
python·学习·agent
人工智能培训1 天前
大模型Prompt实战:精准生成专业技术文档
人工智能·深度学习·机器学习·prompt·agent·智能体
Old Uncle Tom1 天前
智能体技能(Skills)供应链安全: 基于八攻击点的纵深防御体系
网络·人工智能·安全·ai·agent
ly甲烷1 天前
大模型应用:从Prompt 与 Context 到 Harness Engineering 的演进
prompt·agent·context·harness