logo

规划与推理 (Planning & Reasoning)

如果说 LLM 是大脑,Planning 就是它的"前额叶皮层"。在面对非平凡(Non-trivial)任务时,Agent 必须具备先思考,后行动的能力。

[PROMPT_LAB_BANNER]


1. 为什么需要 Planning?

当用户指令是“帮我写一个贪吃蛇游戏”时,直接生成代码通常会得到一个半成品。 Agent 需要:

  1. 设计游戏规则和 UI 布局。
  2. 规划文件结构 (html, css, js)。
  3. 逐步编写并测试每个模块。

Planning 解决了复杂任务的不可预测性问题。


2. 任务分解 (Decomposition)

将一个模糊的高层目标 (Goal) 拆解为一系列可执行的原子步骤 (Steps)。

方法 A:LLM 分解

直接让 LLM 生成计划列表。

"请将‘写一个贪吃蛇游戏’拆解为 5 个开发步骤。"

方法 B:分层规划 (Hierarchical Planning)

  • Top-Level Agent: 负责生成高层计划(如:1.UI设计, 2.逻辑实现)。
  • Sub-Agents: 认领子任务,并将其进一步拆解(如:1.1 画布布景, 1.2 蛇的绘制)。

3. 推理模式 (Reasoning Patterns)

Chain of Thought (CoT)

最基础的推理。让模型在给出最终答案前,先输出中间推理步骤。

Input: ... Model: Step 1..., Step 2..., Therefore the answer is...

Tree of Thoughts (ToT)

对于需要探索和回溯的任务(如写创意文案、解数学题),Agent 维护一棵思维树。

  • 生成:针对当前状态,生成 3 个可能的下一步。
  • 评估:给这 3 个下一步打分。
  • 选择:选择最高分路径继续,若走不通则回溯。
graph TD
    subgraph "Chain of Thought (线性)"
    A[Step 1] --> B[Step 2] --> C[Step 3]
    end

    subgraph "Tree of Thoughts (树状)"
    Root[初始状态] --> P1[路径 A]
    Root --> P2[路径 B]
    Root --> P3[路径 C]
    
    P1 --> P1_1[A的下一步]
    P2 --> P2_1[B的下一步 (评估分低,剪枝)]
    P3 --> P3_1[C的下一步]
    end

4. 自我反思 (Self-Reflection / Reflexion)

这是 Agent 具备“成长性”的关键。Agent 不仅仅执行,还会检查自己的执行结果

Reflexion 工作流:

  1. Actor: 尝试执行任务(如写代码)。
  2. Evaluator: 运行测试用例,发现失败。
  3. Self-Reflection: 分析失败原因(“我忘记处理边界情况了”),生成一段自然语言的“教训”。
  4. Actor (Retry): 带着“教训”重新尝试执行。

实战价值:Reflexion 能够显著提升 Coding Agent 的一次通过率(Pass@1)。


5. 实战中的 Planning 技巧

  • Plan-and-Solve: 强制 Agent 在开头输出一个 <plan> 标签,列出待办事项,每做完一步打个勾。
  • 外部计划器:对于极其复杂的流程(如订机票),不要完全依赖 LLM 幻觉,使用传统的算法(如 Dijkstra 算法)辅助规划路线,再由 LLM 解释。
  • 动态调整:计划不是死的。Agent 应当具备在执行过程中根据新发现(Observation)修改后续计划的能力(Replanning)。

小结

  • 简单任务:直接 CoT 即可。
  • 复杂任务:必须显式地进行 Task Decomposition。
  • 高精度任务:引入 Self-Reflection 循环。
  • 创造性任务:尝试 Tree of Thoughts 搜索最优解。
AI Agent 开发实战手册
AI Engineer

AI Agent 开发实战手册

从 0 到 1 掌握 AI Agent 开发:涵盖自主计划、工具调用、MCP 协议与多智能体编排实战。

AI Agent 开发实战手册规划与推理

规划与推理 (Planning & Reasoning)

如果说 LLM 是大脑,Planning 就是它的"前额叶皮层"。在面对非平凡(Non-trivial)任务时,Agent 必须具备先思考,后行动的能力。

Prompt Lab

把这章的知识,直接变成实战能力

进入交互式实验室,用真实任务练 Prompt,10 分钟快速上手。

进入 Prompt Lab →

#1. 为什么需要 Planning?

当用户指令是“帮我写一个贪吃蛇游戏”时,直接生成代码通常会得到一个半成品。 Agent 需要:

  1. 设计游戏规则和 UI 布局。
  2. 规划文件结构 (html, css, js)。
  3. 逐步编写并测试每个模块。

Planning 解决了复杂任务的不可预测性问题。


#2. 任务分解 (Decomposition)

将一个模糊的高层目标 (Goal) 拆解为一系列可执行的原子步骤 (Steps)。

#方法 A:LLM 分解

直接让 LLM 生成计划列表。

"请将‘写一个贪吃蛇游戏’拆解为 5 个开发步骤。"

#方法 B:分层规划 (Hierarchical Planning)

  • Top-Level Agent: 负责生成高层计划(如:1.UI设计, 2.逻辑实现)。
  • Sub-Agents: 认领子任务,并将其进一步拆解(如:1.1 画布布景, 1.2 蛇的绘制)。

#3. 推理模式 (Reasoning Patterns)

#Chain of Thought (CoT)

最基础的推理。让模型在给出最终答案前,先输出中间推理步骤。

Input: ... Model: Step 1..., Step 2..., Therefore the answer is...

#Tree of Thoughts (ToT)

对于需要探索和回溯的任务(如写创意文案、解数学题),Agent 维护一棵思维树。

  • 生成:针对当前状态,生成 3 个可能的下一步。
  • 评估:给这 3 个下一步打分。
  • 选择:选择最高分路径继续,若走不通则回溯。
graph TD subgraph "Chain of Thought (线性)" A[Step 1] --> B[Step 2] --> C[Step 3] end subgraph "Tree of Thoughts (树状)" Root[初始状态] --> P1[路径 A] Root --> P2[路径 B] Root --> P3[路径 C] P1 --> P1_1[A的下一步] P2 --> P2_1[B的下一步 (评估分低,剪枝)] P3 --> P3_1[C的下一步] end

#4. 自我反思 (Self-Reflection / Reflexion)

这是 Agent 具备“成长性”的关键。Agent 不仅仅执行,还会检查自己的执行结果

#Reflexion 工作流:

  1. Actor: 尝试执行任务(如写代码)。
  2. Evaluator: 运行测试用例,发现失败。
  3. Self-Reflection: 分析失败原因(“我忘记处理边界情况了”),生成一段自然语言的“教训”。
  4. Actor (Retry): 带着“教训”重新尝试执行。

实战价值:Reflexion 能够显著提升 Coding Agent 的一次通过率(Pass@1)。


#5. 实战中的 Planning 技巧

  • Plan-and-Solve: 强制 Agent 在开头输出一个 <plan> 标签,列出待办事项,每做完一步打个勾。
  • 外部计划器:对于极其复杂的流程(如订机票),不要完全依赖 LLM 幻觉,使用传统的算法(如 Dijkstra 算法)辅助规划路线,再由 LLM 解释。
  • 动态调整:计划不是死的。Agent 应当具备在执行过程中根据新发现(Observation)修改后续计划的能力(Replanning)。

#小结

  • 简单任务:直接 CoT 即可。
  • 复杂任务:必须显式地进行 Task Decomposition。
  • 高精度任务:引入 Self-Reflection 循环。
  • 创造性任务:尝试 Tree of Thoughts 搜索最优解。

常见问题

开发 AI Agent 需要掌握哪些编程语言?
首选 Python 或 TypeScript。Python 是 AI 生态的基石,而 TypeScript 在开发 MCP Server 和网页端交互时效率极高。借助 Cursor 等 AI 原生编辑器,编程门槛已大幅降低。
MCP 协议目前支持哪些模型?
MCP 是开放协议,目前对 Claude 3.5 系列支持最完美。通过 MCP Proxy,GPT-4o 和 Gemini 也可以间接访问 MCP Server 数据源。
AI Agent 会导致程序员失业吗?
不会,但会改变程序员的工作内容。未来的开发者将从“写代码”转向“管理 Agent 团队”,重点在于系统架构设计、复杂逻辑校验和 Agent 的提示词优化。