在构建自主 AI Agent 的过程中,如果说大语言模型(LLM)是 Agent 的大脑,工具调用(Tool Use)是手脚,那么推理与规划(Reasoning & Planning)就是将其从简单的问答机升级为自主问题解决者的核心引擎。
复杂的现实任务往往无法通过一次生成(One-pass generation)完成。AI 需要具备拆解目标、逻辑推演、探索路径、自我修正以及调度工具的能力。
以下是目前业界最主流的推理与规划框架。
思维链(Chain of Thought, CoT)
逐步推理能力
传统 LLM 生成答案时往往是直觉式的一步到位。
思维链(CoT)的核心思想是:强制要求模型在输出最终答案前,先显式地输出中间的推理步骤(Let's think step by step)。这种做法能显著激活模型在复杂数学、逻辑推理和常识问答中的潜力。
CoT 不仅让模型有了更多的计算时间(token 数量代表计算量),还让后续的生成能建立在前面正确的逻辑基础上。
实例:Few-shot CoT 提示词设计
# 通过提供包含推理过程的示例,引导模型进行 CoT 推理prompt = """问题:罗杰有5个网球。他又买了2罐网球。每罐有3个网球。他现在共有多少个网球?解答:罗杰一开始有5个网球。2罐网球,每罐3个,共计 2 * 3 = 6 个网球。5 + 6 = 11。答案是11。
ReAct 框架(Reasoning + Acting)
推理 + 行动循环
如果说 CoT 只是在模型内部闭门造车,那么 ReAct(Reason + Act) 则是让模型睁开眼睛看世界。它将内部逻辑推理(Thought)与外部工具交互(Action)交织在一起,形成一个动态的闭环反馈系统。
在 ReAct 范式下,Agent 遵循 Thought(思考) -> Action(行动) -> Observation(观察) 的循环,直到得出最终结论。
局限性: ReAct 在短期的、步骤清晰的任务中表现优异。但由于整个思维和动作历史都积压在同一个上下文窗口中,当任务链条过长时,极易陷入死循环或因为上下文超载而遗忘初始目标。
Plan-and-Execute(规划先行执行模式)
为了解决 ReAct 在长线任务中的疲软,Plan-and-Execute 将思考和行动进行了解耦,采用了类似人类做大型项目的策略:先出排期表,再挨个干活。
系统通常分为两个独立的角色:
1.Planner(规划者):负责接收大目标,生成详细的 Step-by-Step 子任务列表。
2.Executor(执行者):负责按顺序执行这些子任务。执行器通常就是一个小型的 ReAct Agent,每次只专注完成当前的一个小目标。
Tree of Thoughts (ToT) 与树状多路径探索
树状多路径探索
无论是 CoT 还是 Plan-and-Execute,本质上都是线性的路径探索。但在写代码、解数学题或创意写作时,人类往往会设想多种方案,评估后选择最佳的,甚至在发现错误时回溯。
ToT(思维树) 将推理过程建模为一棵树:节点是当前的思维状态。模型会在每一个分支点生成多个候选 Thought,然后通过内部的 Evaluator(评估器)对这些节点进行打分(如:可行、可能有风险、不可行)。结合 BFS(广度优先搜索) 或 DFS(深度优先搜索) 算法,决定是继续深入还是回溯重试。
任务规划 & MCTS (蒙特卡洛树搜索)
复杂任务拆解与搜索
在涉及战略游戏或极高难度的推理任务(如前沿的数学验证、复杂的代码仓库重构)时,简单的 ToT 仍不够高效。业界开始将 LLM 与传统的强化学习搜索算法 MCTS(Monte Carlo Tree Search) 结合(类似 AlphaGo 的核心逻辑)。
Reflexion:自我反思与纠错
人类在执行任务时,如果第一次失败了,会总结经验教训并在下一次尝试中规避错误。Reflexion 框架赋予了 Agent 类似的能力。
在 Reflexion 闭环中,当 Agent 的输出被判定为失败(例如:测试用例未通过、API 报错)时,会触发一个 Reviewer 机制。LLM 被要求根据"历史动作"和"失败的反馈"写一段口语化的反思(Reflection),例如:"我刚才使用了错误的 API 参数格式,下一次我应该查阅文档后再传递 JSON"。这段反思会被存入情景记忆(Episodic Memory)中,作为下一次尝试的上下文提示,从而大幅提升 Agent 的自愈合能力。
实例:Reflexion 的反思提示词设计
任务分解策略与工程化实践
在实际生产级的 AI 智能体开发中,纯靠 LLM "零样本"进行复杂规划是不稳定的。常用的混合干预策略包括:
框架对比总结