规划能力任务分解与多步推理复杂任务不能一步做完Agent 需要能把大目标拆成小步骤一步步执行。这篇讲 Agent 的规划能力任务分解的方法、Chain of Thought、Tree of Thoughts、Plan-and-Execute 模式以及规划失败了怎么调整。大家好我是黒漂技术佬。简单的问题Agent 调用一两个工具就解决了。但复杂任务呢比如「调研 5 个竞品写一份对比分析报告」涉及搜索、整理、对比、写作好多步骤。这就需要 Agent 有规划能力先拆解任务再按计划执行。这篇讲 Agent 怎么规划任务分解、CoT、ToT、Plan-and-Execute、自我修正。一、为什么需要规划简单任务 vs 复杂任务简单任务1-2 步“北京天气怎么样” → 调用天气工具 → 回答“123×456等于多少” → 调用计算器 → 回答ReAct 循环走一两步就搞定。复杂任务多步骤“调研主流 RAG 框架对比优缺点写个选型建议”“帮我做一份下周去上海的行程安排包括交通、住宿、会议”“分析我们产品上个月的用户留存下降原因”涉及多个步骤、多个工具、中间还要判断调整。没有规划的话Agent 容易走一步看一步跑偏、遗漏、效率低。规划的作用拆解大任务把大目标拆成可执行的小步骤减少走偏有计划就不容易跑题提高效率知道哪些可以并行、哪些有依赖可追溯有计划就能看做到哪了、为什么这么做二、Chain of Thought思维链是什么让模型一步步思考把推理过程说出来而不是直接给答案。例子没有 CoT问题一个球和一个球拍一共11元球拍比球贵10元球多少钱回答1元。错的有 CoT问题一个球和一个球拍一共11元球拍比球贵10元球多少钱思考设球x元球拍就是x10元。加起来x (x10) 11 → 2x1011 → 2x1 → x0.5。回答0.5元。对的把思考过程写出来正确率大幅提升。Zero-shot CoT不用给示例加一句「请一步步思考」就行让我们一步步来思考这个问题。简单有效。Few-shot CoT给几个带思考过程的示例效果更好示例1 问题... 思考... 答案... 示例2 问题... 思考... 答案... 现在回答 问题xxx适用场景数学推理逻辑题需要多步推导的问题简单的任务规划CoT 是最基础的推理增强方法几乎所有 Agent 都在用。三、任务分解Task Decomposition是什么把一个复杂目标拆成多个子任务每个子任务是一个可执行的小步骤。怎么拆方法 1让模型自己拆请把以下任务分解为具体的执行步骤 任务调研主流RAG框架并写选型建议 输出格式 1. 步骤一xxx 2. 步骤二xxx ...模型输出1. 确定主流的RAG框架有哪些LangChain、LlamaIndex、Haystack等 2. 分别搜索每个框架的特点、优缺点、适用场景 3. 整理对比维度功能、性能、易用性、社区、 license 4. 制作对比表格 5. 撰写选型建议 6. 输出完整报告方法 2模板化分解特定类型的任务用固定模板比如调研报告就是「确定范围 → 收集信息 → 整理对比 → 撰写结论」。优点稳定可控缺点不够灵活。分解的原则每个子任务要具体可执行不能还是模糊的大目标有明确的输入输出做完一个知道结果是什么考虑依赖关系哪些要先做哪些可以并行粒度适中太细了步骤多效率低太粗了不好执行四、Plan-and-Execute 模式是什么先做完整计划再按计划一步步执行。跟 ReAct 的「走一步看一步」不同Plan-and-Execute 是「先想好全部再按顺序做」。流程用户任务 ↓ 规划阶段生成详细的执行计划步骤列表 ↓ 执行阶段按计划一步步执行 ↓ 可选重规划遇到问题调整计划 ↓ 最终输出两个角色可以是一个模型干两件事也可以拆成两个 AgentPlanner规划者负责拆解任务、制定计划Executor执行者负责执行每个步骤调用工具优点任务结构清晰不容易跑偏可以看到整体计划用户知道要做什么复杂任务表现更好缺点计划可能不符合实际执行到一半发现不对不够灵活遇到意外情况需要重规划适用场景任务比较明确、步骤可预测调研报告、数据分析、内容创作这类结构化任务五、Tree of Thoughts思维树是什么不只是一条线思考而是探索多个可能性像树一样展开选最好的路径。跟 CoT 的区别CoT一条路走到黑错了就错了ToT生成多个候选思路评估哪个好选最优的继续流程当前问题 ↓ 生成3个可能的下一步思路 ↓ 评估每个思路的可行性打分 ↓ 选最好的1-2个继续展开 ↓ ... 层层深入 ... ↓ 选最终最优的答案优点复杂推理问题效果更好不容易钻牛角尖能探索多种可能缺点调用次数多慢且贵实现复杂适用场景高难度推理题需要创意、多种方案的问题对正确率要求高的场景一般业务 Agent 用不上这么重的CoT 规划就够了。六、反思与自我修正Reflection / Self-Correction是什么做完之后自己检查一下做得好不好、对不对不好就改。自我反思流程执行任务 → 生成初步结果 ↓ 反思这个结果对吗有没有遗漏哪里可以改进 ↓ 有问题 → 修正 → 再反思 → 直到满意 ↓ 输出最终结果反思 Prompt请检查上面的回答从以下维度评估 1. 准确性事实是否正确 2. 完整性有没有遗漏关键点 3. 逻辑性推理是否合理 4. 相关性有没有偏离问题 如果有问题请给出修正后的版本。Reflexion 框架更正式的反思框架行动 → 评估 → 反思 → 下次改进把反思存起来积累经验适用场景写作类任务写完自己润色代码生成写完自己检查 bug复杂推理算完自己验算质量要求高的输出缺点是多了一轮或多轮调用更慢更贵。七、规划失败了怎么办常见的规划问题1. 计划太粗执行的时候发现一步里面还有好多事做不完。解决动态细化执行到那一步的时候再拆细。2. 计划错了方向不对或者假设错误。解决重规划Re-planning。执行中发现不对停下来重新做计划继续执行。3. 步骤有依赖没考虑到后面的步骤需要前面的结果但前面没做。解决规划时考虑依赖关系或者动态调整顺序。4. 工具调用失败某个工具用不了或者返回错误。解决换工具、换方式或者跳过如果不重要。动态调整机制好的 Agent 不是按计划死执行而是每执行一步评估一下进展发现偏差就调整计划遇到死路就回溯换方向八、实际开发中的规划建议1. 从简单开始大多数业务场景ReAct CoT 就够了不用上来就搞 ToT、多 Agent 规划。2. 固定类型任务用模板化规划比如客服工单处理、数据分析流程相对固定预设步骤模板比让模型自由规划稳定得多。3. 让用户可见计划Agent 要做什么先展示给用户看我将按以下步骤完成 1. xxx 2. xxx 3. xxx 可以吗用户可以调整也更放心。4. 设置检查点关键步骤之后检查一下方向对不对不对及时修正。5. 控制最大步数防止死循环设最大执行轮次到了就停止并汇报进展。6. 复杂任务才上重规划简单任务 ReAct 就行真的复杂任务再用 Plan-and-Execute 重规划。九、不同规划方法对比方法复杂度效果成本适用场景直接回答最低简单问题够用最低事实性问答CoT 思维链低推理题提升明显低数学、逻辑、简单规划ReAct中工具调用场景好中大多数 Agent 场景Plan-and-Execute中高复杂结构化任务好中高调研报告、数据分析Tree of Thoughts高复杂推理最佳很高高难度推理、创意任务 Reflection 反思1级质量进一步提升50%~100%质量要求高的输出十、本篇小结规划能力把复杂任务拆成小步骤有序执行是 Agent 处理复杂任务的关键Chain of Thought思维链让模型一步步思考基础且有效几乎所有场景都能用任务分解把大目标拆成可执行的子任务是规划的核心Plan-and-Execute先做完整计划再执行适合结构化复杂任务Tree of Thoughts多路径探索选最优效果好但成本高一般场景用不上反思/自我修正做完自己检查改进进一步提升质量规划会失败需要动态调整、重规划机制实际开发建议从简到繁简单任务 ReAct CoT 就够复杂的再上 Plan-and-Execute下一篇讲多 Agent 协作多个智能体分工合作各自扮演不同角色怎么通信、怎么协调。我是黒漂技术佬。