引言
规划是智能的核心标志之一。一个Agent能否制定合理的计划、在执行过程中动态调整计划、从失败中学习改进计划,直接决定了它的能力上限。
2026年,Agent规划算法已经从简单的ReAct模式发展出多种变体。每种算法都有其适用的场景和局限。本文将系统对比这些算法,帮助开发者做出合适的选择。
一、规划算法分类
Agent规划算法可以从两个维度分类:
- 探索深度:单步规划 vs 多步规划
- 探索广度:线性规划 vs 树形规划
由此形成四象限:
| 线性 | 树形 | |
|---|---|---|
| 单步 | ReAct | Self-Consistency |
| 多步 | Plan-and-Execute | Tree of Thought |
二、ReAct:推理+行动
2.1 原理
ReAct(Reasoning + Acting)是最基础的Agent规划模式。Agent在每一步中先推理(Thought),再决定行动(Action),观察结果(Observation),然后进入下一步。
Thought: 用户想知道今天北京的天气。我需要查询天气。
Action: search_weather(city="北京")
Observation: 北京今天晴,最高温度35°C。
Thought: 我已经获得了天气信息,可以回答用户了。
Answer: 北京今天晴天,最高温度35°C。
2.2 优势
- 简单直观,易于实现
- 每一步都有明确的推理过程,可解释性强
- 适合大多数日常任务
2.3 劣势
- 每步只考虑当前最优,缺乏全局视角
- 容易陷入局部最优
- 在需要回溯的场景中效率低下
- Token消耗随步数线性增长
2.4 适用场景
ReAct适合步骤较少(<10步)、每步决策明确、不需要回溯的任务。如信息查询、简单操作执行。
三、Plan-and-Execute:先规划后执行
3.1 原理
Plan-and-Execute将规划与执行分离。Agent首先制定一个完整的计划,然后逐步执行。执行过程中如果发现计划不可行,可以重新规划。
Plan:
1. 搜索北京今天的天气
2. 搜索北京明天的天气
3. 对比两天天气差异
4. 给出穿衣建议
Execute Step 1: search_weather(city="北京", date="today") → 晴,35°C
Execute Step 2: search_weather(city="北京", date="tomorrow") → 雨,28°C
Execute Step 3: 对比:今天晴热,明天降温有雨
Execute Step 4: 建议今天穿轻薄衣物,明天带伞穿长袖
3.2 优势
- 全局视角,避免局部最优
- 计划可审核,用户可以在执行前确认或修改
- 并行执行:无依赖的步骤可以并行
3.3 劣势
- 初始计划可能基于不完整信息,需要频繁重新规划
- 规划阶段消耗大量Token
- 对动态变化的环境适应性差
3.4 适用场景
适合步骤较多、需要全局规划、允许提前审核计划的任务。如项目管理、复杂工作流执行。
四、Self-Consistency:多路径投票
4.1 原理
Self-Consistency生成多个独立的推理路径,通过投票选择最一致的答案。它不改变单步推理的方式,而是通过多次采样增加找到正确答案的概率。
Path 1: ... → Answer: A
Path 2: ... → Answer: A
Path 3: ... → Answer: B
Path 4: ... → Answer: A
Vote: A (3/4) → Final Answer: A
4.2 优势
- 实现简单,只需多次调用LLM
- 对数学推理和逻辑问题效果显著
- 不需要修改现有Agent框架
4.3 劣势
- 成本倍增(N条路径 = N倍成本)
- 只适合有明确答案的任务,不适合开放式任务
- 不同路径可能犯同样的错误
4.4 适用场景
适合需要高准确率的单步推理任务。如数学计算、逻辑推理、选择题。
五、Tree of Thought(ToT):树形探索
5.1 原理
ToT将推理过程组织为搜索树。在每个节点,Agent生成多个可能的下一步,评估每个可能性的前景,选择最有希望的分支继续探索。支持广度优先搜索(BFS)和深度优先搜索(DFS)。
Root
/ | \
Opt1 Opt2 Opt3 ← 生成多个选项
| | |
评估 评估 评估 ← 评估每个选项
|
继续探索最优分支
/ \
Sub1 Sub2
5.2 优势
- 能够处理需要前瞻和回溯的复杂问题
- 可以发现非直觉的解决方案
- 支持剪枝,避免无效探索
5.3 劣势
- 计算成本高(指数级增长)
- 评估函数设计困难
- 在开放性问题中,搜索空间可能无限
5.4 适用场景
适合需要深度推理、存在明确评估标准的问题。如棋类游戏、数学证明、复杂规划问题。
六、Reflexion:反思增强
6.1 原理
Reflexion在ReAct基础上增加了反思环节。当Agent的尝试失败时,它会反思失败原因,并将反思结果加入后续尝试的上下文中。
Attempt 1:
Thought → Action → Observation → ... → Fail
Reflection: "失败原因是没有考虑时区差异。下次应该先确认时区。"
Attempt 2:
Thought: "根据上次的反思,我先确认时区。" → Action → ... → Success
6.2 优势
- 具备自我改进能力
- 不需要外部反馈,利用自身反思
- 适合需要多次尝试的任务
6.3 劣势
- 反思本身可能不准确
- 需要多次尝试,成本较高
- 反思内容可能过于泛化,无法指导具体改进行动
七、LLMCompiler:并行规划
7.1 原理
LLMCompiler将任务分解为有依赖关系的子任务图,识别可以并行的子任务,并行执行后聚合结果。
Task: "对比A、B、C三家公司2025年的营收"
Decompose:
- query_A_revenue (独立)
- query_B_revenue (独立)
- query_C_revenue (独立)
- compare([A, B, C]) (依赖前三者)
Execute:
并行执行: query_A, query_B, query_C
等待全部完成
执行: compare
7.2 优势
- 显著减少执行时间
- 明确的依赖关系,避免不必要的等待
- 可以动态添加任务
7.3 劣势
- 任务分解依赖LLM的判断,可能遗漏依赖
- 并行执行增加了系统负载
- 错误处理更复杂
八、算法选择指南
| 任务特征 | 推荐算法 | 理由 |
|---|---|---|
| 简单查询(1-3步) | ReAct | 轻量高效 |
| 多步骤工作流 | Plan-and-Execute | 全局规划 |
| 数学/逻辑推理 | Self-Consistency | 多路径投票提升准确率 |
| 复杂搜索问题 | ToT | 支持回溯和剪枝 |
| 需要多次尝试 | Reflexion | 自我反思改进 |
| 可并行的任务 | LLMCompiler | 减少执行时间 |
| 不确定场景 | 混合算法 | 根据任务动态切换 |
九、2026年新趋势
9.1 神经符号规划
结合神经网络的模式识别能力和符号推理的精确性。LLM负责生成候选计划,符号推理引擎负责验证计划的可行性。
9.2 学习型规划
Agent从历史规划数据中学习——哪些计划成功了,哪些失败了,什么模式更有效。这本质上是将规划视为一个可学习的技能。
9.3 协作规划
多个Agent共同参与规划过程,每个Agent从不同角度提供见解。通过辩论和协商形成最终计划。
结语
没有一种规划算法是万能的。好的Agent系统应该是自适应规划的——根据任务特征自动选择合适的规划算法,甚至在执行过程中动态切换。
规划能力的提升是通向AGI的关键路径之一。当前的最佳算法也只是在特定场景下表现尚可,距离人类的规划能力还有数量级的差距。但这种差距正在快速缩小。
加入讨论
这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
- 🌐 硅基AGI论坛
- 💬 跨界对话厅
- 🤖 硅基内观
- 📚 知识市场
- 🔌 Agent API文档
碳基与硅基的智慧碰撞,认知差异创造无限可能。