前三节讲了思维链、思维树、任务分解这些「思维工具」。但一个 Agent 要运转,必须决定这些工具怎么组合、什么时候用、执行时机怎么安排。这就是规划范式(Planning Paradigm)。本节把四种主流范式放在一起对比,回答一个核心问题:「什么时候该一次想完,什么时候该边想边做?」
所有规划范式,都可以沿一条轴划分——规划与执行的耦合度:
| 范式 | 规划与执行 | 代表 |
|---|---|---|
| 先规划后执行 | 完全分离,先全规划再执行 | Plan-and-Execute / ReWOO |
| 粗规划+细执行 | 部分耦合,粗规划+局部边调 | Plan-and-Solve |
| 边规划边执行 | 紧密耦合,每步观察后再规划 | ReAct(第 4 章主题) |
| 搜索式 | 规划执行合一,在「想+做」空间搜索 | LATS |
这条轴的两端各有优劣:
| 维度 | 先规划后执行 | 边规划边执行 |
|---|---|---|
| 延迟 | 低(可并行) | 高(强制串行) |
| 鲁棒性 | 低(计划脱离实际就崩) | 高(能纠错) |
| LLM 调用数 | 少(规划 1 次) | 多(每步 1 次) |
| 适用环境 | 稳定、可预测 | 多变、不确定 |
💡 核心权衡:规划越靠前,效率越高但越脆;规划越靠后,鲁棒性越强但越慢。没有「最优范式」,只有「最匹配场景的范式」。
最直白的范式:先用一次 LLM 调用规划出全部步骤,再逐步执行。
[Plan 阶段] LLM 一次性输出: Step 1: 找竞品 Step 2: 收集数据 Step 3: 对比分析 Step 4: 写报告 [Execute 阶段] 执行 Step 1 → 执行 Step 2 → ... → 执行 Step 4 (可并行的并行,串行的串行)
优点:
缺点:
适用:步骤明确、环境稳定、可并行的任务。
ReWOO(Reasoning WithOut Observation, Xu et al. 2023)是 Plan-and-Execute 的精炼版。它的核心思想:规划阶段不让 LLM 等待工具返回,把工具调用全部「打包」出来,再批量执行。
ReWOO 的三步:
| 步骤 | 内容 |
|---|---|
| Plan | LLM 一次生成全部工具调用(含占位符引用依赖) |
| Execute | 批量执行所有工具调用(独立部分可并行) |
| Solve | LLM 把所有结果合并成最终答案 |
ReWOO 相对 ReAct 的核心优势:
| 维度 | ReAct | ReWOO |
|---|---|---|
| LLM 调用数 | N(每步 1 次) | 3(Plan + Solve + 可能的重规划) |
| 延迟 | 高(强制串行) | 低(可并行) |
| Token 消耗 | 高(每步重复带历史) | 低(无观察重复) |
⚠️ ReWOO 的代价:它的前提是「规划时能预见所有需要的工具调用」。一旦某个工具返回意外结果(如搜索没找到),ReWOO 的计划可能整条作废。ReWOO 适合「工具调用结果可预测」的场景,不适合「工具结果高度不确定」的探索性任务。
Plan-and-Solve(Wang et al. 2023)是对 Zero-shot CoT 的改进。它的思路:先让 LLM 自己制定计划,再按计划执行。
Prompt: "先制定一个计划,再按计划执行。 [Plan] 1. 先算 X 2. 再算 Y 3. 最后合并 [Execution] 按照上面的计划: Step 1: X = ... Step 2: Y = ... Step 3: 答案 = ..."
与 Plan-and-Execute 的区别:
| 维度 | Plan-and-Execute | Plan-and-Solve |
|---|---|---|
| 是否真执行 | 是(调用工具) | 否(都在 LLM 内部推理) |
| 输出 | 一系列动作 | 一段推理 + 答案 |
| 适用 | Agent 任务(需行动) | 推理任务(纯思维) |
Plan-and-Solve 本质是「带规划提示的 CoT」,属于推理增强;Plan-and-Execute 是「真规划真执行」,属于 Agent 范式。两者常被混淆,要分清。
💡 「Plan」一词的歧义:在推理增强语境(Plan-and-Solve),「Plan」指 LLM 在脑子里列个大纲;在 Agent 语境(Plan-and-Execute),「Plan」指真的产出可执行的动作序列。前者是「想」,后者是「做」。
LATS(Language Agent Tree Search, Zhou et al. 2023)是四种范式里最复杂的。它把 ReAct(边想边做)与 ToT(树搜索)融合——让 Agent 在「想+做」的复合空间里搜索。
LATS 的核心要素:
| 要素 | 内容 |
|---|---|
| 节点 | 一个「Agent 状态」(含历史轨迹) |
| 动作 | 一次「想+做」(Thought + Action) |
| 评估 | 用 LLM 给状态打分(价值函数) |
| 搜索 | 蒙特卡洛树搜索(MCTS) |
| 回溯 | 走错能退回重选 |
LATS 是 ReAct + ToT + MCTS 的合体——既有 ReAct 的真实行动,又有 ToT 的多路探索,还有 MCTS 的智能搜索。
LATS 的代价:
| 维度 | 量级 |
|---|---|
| LLM 调用数 | ReAct 的 5-20 倍 |
| 实现复杂度 | 极高(需 MCTS 框架) |
| 适用 | 极难任务、研究场景 |
⚠️ LATS 是研究范式,不是生产范式。它的效果上限很高,但工程成本与运行成本也极高。生产中几乎不用 LATS,而是用 ReAct + 局部回溯来近似它的好处。
| 范式 | 规划时机 | 执行 | LLM 调用 | 鲁棒性 | 适用 |
|---|---|---|---|---|---|
| Plan-and-Execute | 全部前置 | 串行/并行 | 少 | 低 | 稳定环境 |
| ReWOO | 全部前置 | 批量并行 | 最少 | 低 | 工具结果可预测 |
| Plan-and-Solve | 推理内 | 无真执行 | 1-2 | 中 | 纯推理任务 |
| ReAct | 每步 | 边走边调 | 多 | 高 | 不确定环境 |
| LATS | 树搜索 | 边搜边调 | 极多 | 极高 | 极难任务 |
为给定任务选范式,沿下面决策树走:
| 判分点 | 问题 | 影响 |
|---|---|---|
| 工具结果是否可预测 | 调用前能预知结果吗? | 决定能否前置规划 |
| 步骤是否可并行 | 子任务之间独立吗? | 决定能否用 ReWOO 加速 |
| 环境是否多变 | 中间结果会颠覆计划吗? | 决定能否一次规划 |
| 任务难度与预算 | 是否不计成本要最优? | 决定是否上 LATS |
| 场景 | 推荐范式 | 理由 |
|---|---|---|
| 简单信息查询(查天气) | ReAct | 单步,边查边答 |
| 批量数据采集(爬 100 个网页) | ReWOO | 工具结果可预测、可并行 |
| 写一份调研报告 | Plan-and-Execute + 局部 ReAct | 粗规划可并行,细节需调整 |
| 创意难题(设计新产品) | ToT 或 LATS | 需多路探索 |
| 多步数学推理 | Plan-and-Solve / CoT | 纯推理、无工具 |
| 长程自动化(出差全流程) | Plan-and-Execute + ReAct + 任务分解 | 混合范式 |
💡 生产主流是「混合范式」:很少有一个生产 Agent 只用单一范式。最常见的是「先 Plan-and-Execute 出粗规划,每个子任务内部用 ReAct 执行,关键节点允许局部回溯」。这既享受了并行的效率,又保留了 ReAct 的鲁棒性,是工程上的最优折衷。
为本章做个收束,用一张 ASCII 图对比两种最常见范式的规划时机:
[Plan-and-Execute] 先全规划,再执行 ────────────────────────────────────── 时间轴 → Plan: [████ 全部规划 ████] Exec: [██ 执行 1 ██][██ 执行 2 ██][██ 执行 3 ██] 特点: 规划与执行完全分离,执行阶段可并行 [ReAct] 边规划边执行 ────────────────────────────────────── 时间轴 → Think1 [██] Act1 [██] Obs1 [██] Think2 [██] Act2 [██] Obs2 [██] ... 特点: 每步都先想后做,根据观察调整,串行 [混合] 粗规划 + 局部 ReAct ────────────────────────────────────── 时间轴 → Plan: [██ 粗规划 ██] Exec: [子任务1: ReAct...] [子任务2: ReAct...] 特点: 全局有规划,局部能调整,工程主流
这三种范式构成了生产 Agent 的「主菜单」。理解它们的权衡,就掌握了规划策略选择的核心。
本章纵向深化了 Planning 模块的内部算法:从最基础的思维链 CoT(3.1),到多路探索的 ToT/GoT(3.2),到处理规模的任务分解(3.3),再到四种规划范式的横向对比(3.4)。读者现在应当能根据任务特征,选择合适的推理与规划策略。
值得提醒的是,本章所有讨论都停留在「纯思维」——LLM 在内部推理与规划,没有真的「动手」。下一章(第 4 章)将把这些思维方法与「行动」交织,形成 LLM Agent 的灵魂范式——ReAct。ReAct 让规划与执行紧密耦合,正是大多数生产 Agent 的运转核心。