Skip to content

95. 什么是 Plan-and-Execute 模式?它和 ReAct 有什么区别? ​

难度 P0 必背 · 岗位 应用 · 频率 ★★★ · 预计阅读 11 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔面试官:什么是 Plan-and-Execute?和 ReAct 有什么区别?

🙋‍♂️我:Plan-and-Execute 是先制定完整计划再执行,ReAct 是边思考边行动。前者适合复杂规划,后者更灵活。

👔面试官:什么时候用 Plan-and-Execute?计划失败时怎么处理?

🙋‍♂️我:复杂多步任务用 Plan-and-Execute。计划失败可以重规划或回退。

👔面试官:ReWOO 是什么?怎么减少 LLM 调用次数?

好,这道题要对比两种规划执行模式。

TL;DR 速记 ​

  • 是什么:Plan-and-Execute 是先由 Planner 制定完整计划,再由 Executor 按步骤执行。
  • 关键点:它比 ReAct 更省 LLM 调用、适合步骤明确的任务,但灵活性更弱,失败时需要重规划或回退。
  • 怎么答:对比 ReAct 的边想边做,再补一句 ReWOO 通过计划占位和并行工具调用进一步减少 LLM 调用。

图解 ​

图 1:ReAct vs P&E ​

💡 简要回答 ​

Plan-and-Execute:先制定完整的执行计划,再按计划逐步执行,减少重复推理开销。

vs ReAct:

特性ReActPlan-and-Execute
规划时机边执行边规划先完整规划再执行
LLM 调用每步都调用规划一次,执行多步
灵活性高(根据反馈调整)低(计划固定)
适用场景需要适应性的任务明确步骤的任务
效率较低较高(减少 LLM 调用)

典型架构:

输入 → Planner(制定计划)→ Executor(执行各步骤)→ 整合结果 → 输出
            ↓                      ↓
      生成步骤列表            调用工具/LLM

📝 详细解析 ​

两种模式的对比 ​

ReAct 的问题:

任务:"查找 2024 年 AI 领域最重要的 3 篇论文,总结它们的核心贡献"

ReAct 流程:
Thought 1: 需要搜索 2024 年 AI 论文
Action 1: 搜索
Observation 1: 得到论文列表

Thought 2: 需要筛选重要的 3 篇
Action 2: 筛选
Observation 2: 确定 3 篇

Thought 3: 需要读第一篇
Action 3: 获取论文 1 详情
Observation 3: 论文 1 内容

Thought 4: 需要总结第一篇
Action 4: 总结
...

问题:
- 每步都需要 LLM 生成 Thought
- 多次 LLM 调用,成本高
- 多次工具调用,延迟大
- 但对于这类任务,步骤是确定的

Plan-and-Execute 的优势:

相同任务:

Plan 阶段(1 次 LLM 调用):
制定计划:
1. 搜索 "2024 年 AI 重要论文"
2. 从结果中筛选排名最高的 3 篇
3. 获取这 3 篇的详细信息
4. 分别总结每篇的核心贡献
5. 整合输出最终答案

Execute 阶段(按序执行,无 LLM 介入决策):
Step 1: 调用搜索工具
Step 2: 筛选逻辑(代码或规则)
Step 3: 批量获取论文详情
Step 4: 调用总结工具(或 LLM 批量总结)
Step 5: 整合输出

优势:
- 规划只需 1 次 LLM 调用
- 执行阶段可以批量优化
- 总体效率更高

Plan-and-Execute 的详细流程 ​

完整流程:

1. 计划制定(Planning)
   Input: 用户任务
   ↓
   Planner LLM 生成结构化的计划
   ↓
   Plan: [
     {"step": 1, "action": "search", "input": "..."},
     {"step": 2, "action": "filter", "criteria": "..."},
     {"step": 3, "action": "summarize", "target": "..."}
   ]

2. 计划执行(Execution)
   For each step in plan:
     - 执行 action
     - 获取结果
     - 如果失败,进入重规划

3. 结果整合(Integration)
   - 汇总各步骤结果
   - 生成最终答案

4. 错误处理(可选 Re-planning)
   - 如果某步失败
   - 分析原因
   - 重新制定剩余计划

ReWOO(Reasoning WithOut Observation) ​

核心思想:进一步减少 LLM 调用,将计划和执行完全分离。

标准 Plan-and-Execute:
Plan → Execute → 如果失败 → Re-plan(需要 LLM)

ReWOO:
Plan(LLM 一次生成完整计划,包含占位符)
      ↓
执行所有工具调用(并行)
      ↓
LLM 最终整合(填充占位符)

示例:
Plan:
"根据搜索结果 {EVIDENCE_1},
 结合数据 {EVIDENCE_2},
 得出结论..."

执行:
- 同时发起所有搜索
- 填充 EVIDENCE_1, EVIDENCE_2

最终:
- 1 次 LLM 调用整合所有证据

优势:
- LLM 调用从 N 次减少到 2 次(Plan + Integrate)
- 工具调用可以并行
- 效率最大化

计划失败的处理 ​

失败类型:

1. 工具调用失败:
   - API 错误、超时
   - 返回结果不符合预期

2. 计划本身错误:
   - 步骤逻辑有误
   - 依赖关系错误
   - 遗漏关键步骤

3. 执行结果不理想:
   - 中间结果质量差
   - 需要调整策略

处理策略:

策略 1:重规划(Re-planning)
- 分析失败原因
- 基于当前状态重新制定计划
- 继续执行新计划

策略 2:回退(Rollback)
- 回退到之前的状态
- 修改计划后重试
- 需要维护状态历史

策略 3:降级(Degradation)
- 如果完整计划失败
- 切换到简单方案
- 或转人工处理

策略 4:混合模式:
- 粗粒度 Plan-and-Execute
- 细粒度 ReAct
- 高层用计划,具体步骤用 ReAct 灵活处理

选择建议 ​

用 Plan-and-Execute 如果:

  • 任务步骤明确可预测
  • 需要优化成本和延迟
  • 批量执行任务

用 ReAct 如果:

  • 任务需要大量适应性
  • 环境反馈影响下一步
  • 探索性任务

混合使用:

上层:Plan-and-Execute
- 制定粗粒度计划

下层:ReAct
- 具体步骤执行时灵活调整

示例:
Plan:
1. 调研市场 → 用 ReAct 执行(搜索多个来源)
2. 分析竞品 → 用 ReAct 执行(分析多个维度)
3. 生成报告 → 整合输出

常见踩坑与反例 ​

  • 踩坑 1:只说“效率更高” · 错误说法:Plan-and-Execute 一定优于 ReAct。· 正确做法:说明它省调用但灵活性弱,适合步骤明确、反馈不频繁的任务。
  • 踩坑 2:忽略失败处理 · 错误说法:计划定好后按步骤执行就行。· 正确做法:要有重规划、回退、降级或局部切换 ReAct 的机制。
  • 踩坑 3:不知道 ReWOO · 错误说法:减少调用只能靠减少步骤。· 正确做法:提到 ReWOO 先生成带占位符计划,工具并行执行,最后一次整合。
  • 踩坑 4:计划粒度过细 · 错误说法:把每个小动作都交给 Planner。· 正确做法:Planner 负责粗粒度步骤,Executor 或工具链处理可批量化细节。

面试官可能继续追问 ​

  • 追问 1:什么时候选 Plan-and-Execute? 答题要点:任务步骤可预测、可批量执行、需要控制成本和延迟时优先选。
  • 追问 2:什么时候选 ReAct? 答题要点:任务依赖实时反馈、探索性强、下一步取决于观察结果时更适合 ReAct。
  • 追问 3:计划失败怎么办? 答题要点:识别失败类型,基于当前状态重规划;必要时回滚状态、降级策略或转人工。
  • 追问 4:ReWOO 为什么能减少调用? 答题要点:Planner 一次生成完整计划和证据占位,工具调用可并行,最后再由 LLM 汇总证据。

🎯 面试总结 ​

这道题容易踩的雷:

  1. 只说效率高:不知道适用场景和灵活性 trade-off。

  2. 不知道 ReWOO:不知道可以进一步减少 LLM 调用。

  3. 不了解失败处理:不知道重规划和回退机制。

答题要点:

  • 对比 ReAct 和 Plan-and-Execute 的核心区别
  • 说明 Plan-and-Execute 的效率优势
  • 提适用场景(明确步骤的任务)
  • 解释 ReWOO 的思想
  • 提一句失败处理策略

来源参考:Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models, ReWOO: Decoupling Reasoning from Observations


章节首页 · ← Q94 · Q96 →

最后更新2026-05-01
难度P0
频率medium
阅读11 min
主题llm
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题