【 LLM】Agent Planning 完全指南:8 种纯 LLM 范式 + 8 种混合规划模式详解(一) 📅 2026/7/22 6:08:36 核心摘要Planning 是 Agent 面对任务时决定“怎么做”“先做什么后做什么”“用什么工具做”的核心过程。本文系统梳理 8 种纯 LLM 规划范式与 8 种混合规划模式每种均配有直观流程图、适用场景与工程实现要点助你根据实际需求选择最合适的方案。上一篇文章讲解了 Agent 的四大核心组件感兴趣可以在专栏中查看今天专门深入聊聊组件之一的Planning规划。Planning 的本质就是让 Agent “会规划任务”。它的实现方式多样从纯 LLM 自主规划到代码与 LLM 协同的混合规划各有其适用边界。别一上来就追求最复杂的方案够用、有效才是最优解。一、LLM-based Planning纯大模型规划这种方式的核心思想是任务分解、步骤生成、工具选择全部由 LLM 自主完成。代码仅负责执行 LLM 输出的指令不参与规划逻辑本身。1. CoTChain-of-Thought让 LLM 展示推理过程CoT 是最基础的规划方式核心是通过 Prompt 引导 LLM 显式输出中间推理步骤而非直接给出答案。案例数学题“小明有 15 个苹果给出去 7 个又买了 5 个还剩几个”不用 CoTLLM 可能直接输出“13 个”易出错用 CoTLLM 输出“15 - 7 88 5 13”再给出答案“13 个”┌─────────────────────────────────────────┐ 代码 → 发送 Prompt请一步步思考小明有15个苹果给出去7个 又买了5个还剩几个展示你的推理过程。└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 推理15 -788 513答案13 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 直接输出结果结束 无循环单次调用 └─────────────────────────────────────────┘维度说明适用场景数学、逻辑、常识推理等需要显式推理的任务优点简单直接Token 成本低缺点单次调用无迭代改进空间2. ReActReasoning Acting思考-行动-观察循环ReAct 是目前最主流的规划方式核心是让 LLM 交替进行Thought → Action → Observation循环直到生成Final Answer。案例“查北京今天天气然后建议穿衣”LLM Thought“需要先查天气” → Actionsearch(北京天气)代码执行搜索返回 Observation“北京 25 度晴天”LLM Thought“天气晴朗温暖” → Final Answer“建议穿短袖带件薄外套”┌─────────────────────────────────────────┐ 代码 → 发送 Prompt第1轮你可以使用工具search(query) 任务查北京今天天气然后建议穿衣。 请按以下格式回答 Thought: [你的思考分析需要什么信息] Action: 工具名 Observation: [等待系统返回结果不要编造] 开始└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 Thought: 我需要先查天气 Action: search(北京天气)└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 解析 Action调用搜索工具 代码 → 获取 Observation晴天25°C 代码 → 拼接回 Prompt └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 发送 Prompt第2轮 Thought: 我需要先查天气 Action: search(北京天气)Observation: 晴天25°C 继续生成 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 Thought: 天气晴朗温暖 Final Answer: 建议穿短袖带件薄外套 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 检测到Final Answer终止循环 代码 → 输出最终答案 └─────────────────────────────────────────┘工程实现要点循环控制器解析 LLM 输出的 Action判断是否继续工具执行器调用真实工具获取 Observation状态管理器拼接 ThoughtActionObservation 到对话历史终止判断器检测到Final Answer或达最大步数时停止维度说明适用场景工具调用、实时查询、多步交互任务优点灵活能基于观察结果纠正错误缺点需要代码实现循环控制Token 消耗随轮次增加3. ToTTree of Thoughts生成多个思路评估后选择最优ToT 的核心是生成多个候选思路 → 评估打分 → 选择最优路径继续探索类似树搜索算法。案例用 4、5、6、7 四个数字得到 26生成 3 个候选算式A(7-5)48B6530C(64)*550评估离 26 的距离A6分B8分C3分选择最高分 B30继续从该节点扩展30-426 ✓┌─────────────────────────────────────────┐ 代码 → 发送 Prompt扩展调3次当前可用数字4,5,6,7 请生成一个算式尝试得到26 只输出一个具体的算式尝试不要解释不要评估 例如(7-5) * 6 4 16temperature0.7独立调用3次 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回3个候选 候选A:(7-5)*48候选B:6*530候选C:(64)*550└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 发送 Prompt评估请评估以下算式离26的距离1-10分 A8, B30, C50└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 A:6分, B:8分, C:3分 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 选最高分B30作为当前节点 代码 → 检测是否等于26否继续循环 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 发送 Prompt从B扩展调3次当前已有30剩余数字可用4,7 请生成新算式└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 候选D:30-426✓ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 检测到26终止 代码 → 输出路径6*5-426└─────────────────────────────────────────┘工程实现要点候选生成器调 LLM 多次生成temperature0获取多样思路评估函数可以是规则如“含数字 26 得 10 分”或另一个 LLM树搜索算法BFS/DFS/Beam Search决定扩展哪个节点、何时回溯选择器基于评估分数选择最优路径继续或输出维度说明适用场景谜题、创意生成、多方案决策优点能探索多种可能性避免陷入局部最优缺点需要评估函数Token 成本高4. GoTGraph of Thoughts图结构推理GoT 是 ToT 的进阶版核心是多源信息聚合、精炼、循环改进支持节点间的合并、拆分、回溯等图操作。案例分析 AI 对教育的影响生成三个观点A技术、B社会、C伦理判断可聚合性发现 A 与 B 矛盾先生成调和观点 E将 E、B、C 聚合成综合结论 D┌─────────────────────────────────────────┐ 代码 → 发送 Prompt扩展请从技术、社会、伦理3个角度 分析AI对教育的影响└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 观点A技术AI实现个性化学习 观点B社会加剧教育资源不平等 观点C伦理数据隐私风险 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 创建节点A、B、C存入图结构 代码 → 发送 Prompt判断这3个观点能聚合吗有矛盾吗 输出JSON{可聚合:true/false, 矛盾:[]}└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回{可聚合:true,矛盾:[A与B]}└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 解析JSON决策先调和再聚合 代码 → 发送 Prompt调和观点A说AI降本观点B说加剧不平等请调和这个矛盾└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 调和观点EAI降本但需政策保障公平分配 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 创建节点E画边 A→E, B→E 代码 → 发送 Prompt聚合请将E、B、C聚合成综合结论└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 综合观点DAI教育需技术创新政策调控隐私保护 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 创建节点D画边 E→D, B→D, C→D 代码 → 检测D的质量分8是 → 终止 否 → 回到精炼步骤 └─────────────────────────────────────────┘工程实现要点图结构管理维护节点和边的关系可聚合、可循环聚合操作器将多个节点输入 LLM要求合并共同之处精炼循环器检测需要改进的节点触发 LLM 重新生成遍历控制器决定扩展、聚合还是精炼维度说明适用场景复杂信息整合、多维度分析、报告生成优点比 ToT 更灵活支持信息融合与迭代优化缺点实现复杂调试困难Token 成本高5. Reflexion执行后评估迭代改进Reflexion 的核心是生成 → 外部评估 → 反思改进 → 再生成的闭环强调从失败中学习。案例写一段快速排序代码生成代码版本 1运行测试3 通过 / 2 失败LLM 反思“边界条件处理不当” → 改进方案“增加空列表判断”生成代码版本 2运行测试5 全部通过 ✓┌─────────────────────────────────────────┐ 代码 → 发送 Prompt生成请写一段快速排序代码└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回[代码版本1]└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 执行测试用例 代码 → 获取结果3个通过2个失败 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 检测全部通过否发送Prompt反思测试失败了请分析问题并给出改进方案└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 问题边界条件处理不当 改进增加空列表判断 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 发送 Prompt改进请按改进方案重写代码└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回[代码版本2]│ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 执行测试用例 代码 → 获取结果5个全部通过 ✓ 代码 → 检测通过是 → 终止输出版本2 否 → 继续循环最多5轮 └─────────────────────────────────────────┘工程实现要点外部评估器执行测试、规则检查或调 LLM 打分记忆存储器保存历史尝试和失败经验迭代控制器设置最大反思次数防止无限循环结果比较器对比多版输出选择最优维度说明适用场景代码生成、高精度任务、可验证输出优点能持续改进质量从失败中学习缺点依赖外部反馈信号迭代成本高6. ReWOOReasoning w/o Observation先规划所有步骤再批量执行ReWOO 的核心是一次性规划所有工具调用 → 批量并行执行 → 最后总结避免 ReAct 的多轮交互开销。案例查 5 个城市的天气LLM 生成完整计划[search(北京), search(上海), ...]代码并行执行 5 个搜索获取所有结果LLM 基于所有结果生成对比分析┌─────────────────────────────────────────┐ 代码 → 发送 Prompt规划请一次性规划查5个城市天气需要的所有工具调用└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回[search(北京),search(上海),search(广州),search(深圳),search(杭州)]└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 解析工具列表 代码 → 批量并行执行5个搜索 代码 → 获取所有结果 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 拼接结果到 Prompt总结北京25°C上海28°C广州32°C 深圳30°C杭州26°C 请给出对比分析└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 最热的城市是广州32°C建议... └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 输出最终结果 无循环只调2次LLM规划总结 └─────────────────────────────────────────┘工程实现要点计划解析器从 LLM 输出中提取工具调用列表批量执行器并行或串行执行所有工具调用结果注入器将工具返回替换到 Prompt 的 Observation 位置最终生成器调 LLM 一次基于所有结果生成答案维度说明适用场景低成本、确定性高、可并行的任务优点Token 消耗低执行效率高缺点无中途纠正能力依赖规划准确性7. Plan-and-Execute先全局规划再分步执行Plan-and-Execute 的核心是先生成全局计划 → 逐步执行 → 异常时触发重规划兼顾全局视野与局部适应性。案例制定从北京到上海出差的完整计划LLM 生成全局计划订机票 → 订酒店 → 参加会议执行步骤 1订机票→ 成功执行步骤 2订酒店→ 失败满房触发重规划换酒店 → 调整会议时间继续执行至完成┌─────────────────────────────────────────┐ 代码 → 发送 Prompt规划请制定从北京到上海出差的完整计划└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 步骤1订机票 步骤2订酒店 步骤3参加会议 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 解析步骤列表 代码 → 执行步骤1订机票 → 成功 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 执行步骤2订酒店 → 失败满房 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 检测异常是触发重规划 代码 → 发送 Prompt重规划酒店满了请重新规划剩余步骤└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回 新步骤2换另一家酒店 步骤3调整会议时间 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 执行新步骤2 → 成功 代码 → 执行步骤3 → 成功 代码 → 全部完成输出最终行程 └─────────────────────────────────────────┘工程实现要点计划解析器将自然语言计划解析为结构化步骤列表步骤执行器按顺序执行每一步监控执行状态异常检测器判断执行结果是否偏离预期重规划触发器异常时将状态目标传给 LLM 重新制定计划状态同步器更新已完成步骤、当前资源、剩余任务维度说明适用场景复杂多步骤任务、长流程自动化优点全局视野 局部调整适应性强缺点实现复杂重规划增加 Token 成本8. LATSLanguage Agent Tree Search蒙特卡洛树搜索决策LATS 的核心是将MCTS蒙特卡洛树搜索应用于 LLM 决策通过模拟、评估、回溯选择最优动作序列。案例围棋对弈UCB 公式选择节点生成 3 个候选动作对每个动作快速模拟rollout5 步评估终局得分回溯更新树节点统计值选择 UCB 最高的节点继续扩展循环直至选出最优动作┌─────────────────────────────────────────┐ 代码 → UCB公式选择节点初始只有根节点 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 发送 Prompt扩展调3次当前局面围棋第50手黑棋优势 请生成3个可能的下一手temperature0.7独立调用3次 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ LLM 返回3个候选动作 动作A占角胜率预估55% 动作B守边胜率预估52% 动作C打入胜率预估48% └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 对每个动作快速模拟rollout 代码 → 随机走5步评估终局结果 代码 → 获取评分A60,B55,C50└─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 回溯更新树A访问1累计分60 代码 → UCB计算A得分最高 代码 → 选择A作为下一轮扩展节点 └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ 代码 → 检测A是否达到目标胜率如90% 否 → 回到扩展步骤继续循环 是 → 终止输出A为最优动作 └─────────────────────────────────────────┘工程实现要点UCB 计算器实现公式平衡探索/利用节点管理器维护树结构记录访问次数、得分、父子关系模拟 rollout快速执行评估终局结果回溯更新器反向传播更新路径上所有节点统计值选择执行器多轮迭代后选择得分最高的动作维度说明适用场景复杂工具调用、博弈、多步决策优点决策质量高能探索长期最优策略缺点Token 成本极高实现复杂度最高纯 LLM 规划选型速查表任务特征推荐范式核心理由简单推理、低成本CoT / ReWOO单次或两次调用Token 消耗最低工具调用、实时交互ReAct业界标准灵活可靠多方案探索、创意ToT / GoT支持多路径搜索与信息融合可验证输出、高精度Reflexion从失败中迭代改进复杂多步骤、长流程Plan-and-Execute全局规划 动态重规划博弈、长期决策LATSMCTS 保证决策质量⚠️选型原则没有银弹优先从简单方案开始仅在简单方案无法满足需求时才升级复杂度。下一篇讲继续讲 Planning 的Hybrid Planning混合规划内容。我刚开源的 ThinkLoop 工具就是采用了 Reflexion 的设计思路让各大厂商的 web 端大模型问答更加精准降低 web 端单模型的幻觉问题感兴趣可以看一下这篇文章。免费直连 Kimi/千问/DeepSeek还能自动质检和横向对比这个开源项目做到了