● 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
相关推荐
有才不一定有德1 小时前
动态生成 vs 静态预制:复杂 Agent 系统的 Sub-Agent 架构选择
架构·agent
knight_9___2 小时前
大模型project面试4
人工智能·python·深度学习·算法·面试·agent
求知也求真佳3 小时前
S19|MCP 与插件:多 Agent 平台 —— 外部能力总线,让外部工具安全接入
开发语言·agent
Komorebi_99993 小时前
Agent 易混概念辨析 + 全套总复盘
人工智能·agent
千桐科技4 小时前
qKnow 智能体构建平台知识图谱能力优化:围绕图谱探索、知识库、数据源、知识推理、知识融合与概念属性的完善升级
人工智能·大模型·知识图谱·agent·rag·qknow·智能体构建平台
HIT_Weston5 小时前
82、【Agent】【OpenCode】bash 工具提示词(amend 风险)
人工智能·agent·opencode
knight_9___5 小时前
大模型project面试3
人工智能·python·语言模型·面试·大模型·agent
新知图书6 小时前
带搜索工具的对话 Agent示例与解析
人工智能·langchain·agent·智能体·langgraph
何忆清风6 小时前
Easy Agent Pilot - Rust实现的开源桌面Agent软件
ai·rust·vue·agent·tauri·开发工具
Zeeland6 小时前
Rudder:让人类与 AI Agent 像真正的团队一样协作
llm·openai·agent