学习笔记详述 Agent 规划的核心范式、任务分解策略、自我反思机制以及工程落地要点目录概述为什么规划对 Agent 至关重要核心规划范式思维链Chain-of-ThoughtReAct推理与行动交织思维树Tree of Thoughts规划与执行Plan-and-Execute任务分解策略逐步分解层级分解并行分解自我反思与纠错执行监控与重规划记忆增强规划主流框架与开源方案工程化建议参考资料概述Agent 规划是决定 Agent 能否处理复杂任务的关键能力。没有规划能力的 Agent只能机械地响应单轮 prompt而具备规划能力的 Agent能够将复杂目标拆解为可执行的子步骤在执行过程中监控进展并动态调整。本章系统梳理 Agent 规划的设计思路与主流范式。为什么规划对 Agent 至关重要复杂任务需要分解——开发一个电商网站无法一步完成必须拆解为需求分析、数据库设计、后端开发、前端开发、部署上线等阶段。避免短视决策——没有全局规划Agent 可能在第一步就做出事后看来错误的选择。支持执行监控——规划提供了预期进度基准Agent 可以判断当前是否偏离目标。实现可复用流程——良好的规划结构可以沉淀为 SOP复用于类似任务。核心规划范式思维链Chain-of-Thought, CoT核心思想在给出最终答案前先输出中间的推理步骤。关键机制将复杂推理拆解为多个小步骤每一步的输出成为下一步的输入。效果显著提升算术、符号推理、常识推理等任务的准确率。❌ 直接回答答案是 12。 ✅ CoT 模式 首先题目要求计算 3 4 × 2。 根据运算优先级先算乘法4 × 2 8。 然后算加法3 8 11。 所以答案是 11。变体Zero-shot CoT在 prompt 末尾加 “Let’s think step by step” 触发推理Few-shot CoT提供几个问题-推理-答案示例作为示范Self-Consistency生成多条推理路径取多数一致的答案ReAct推理与行动交织全称Reasoning Action推理 行动核心思想Agent 在一个循环中交替进行思考和行动每次行动后观察结果再基于观察进行下一轮思考。Thought: 用户想要查询北京的天气。我需要先调用天气查询工具。 Action: call_weather_tool(city北京) Observation: 北京今天晴25℃空气质量良 Thought: 天气信息已获取现在可以回答用户了。 Answer: 今天北京天气晴朗气温25度空气质量良好。ReAct vs 纯 CoT维度纯 CoTReAct能力边界仅限内部推理可调用外部工具信息来源训练知识实时环境信息错误风险可能产生幻觉可通过观察验证适用场景需要与外部环境交互的任务——查天气、搜文档、调用 API、执行代码。思维树Tree of Thoughts, ToT核心思想在每个决策点不只选一条路而是探索多条可能的推理路径形成树状结构。关键机制分支每个步骤生成多个候选方案评估对每个分支进行打分或评估回溯发现某分支不通时可以回到上一步换条路走优势解决需要试错或全局搜索的问题避免一条路走到黑。局限计算开销大路径指数增长。规划与执行Plan-and-Execute核心思想先规划再执行两阶段分离。规划阶段LLM 基于目标一次性规划完整步骤序列执行阶段按顺序执行每一步必要时可重规划伪代码示意publicResultplan_and_execute(Tasktask)// 阶段1规划ListStepplanplanner.plan(task);// 阶段2执行for(Stepstep:plan){Resultresultexecute(step);if(!validate(result)){// 阶段3重规划planreplan(task,completedSteps,result);}}returnfinalResult;}适用场景任务边界清晰、步骤可预先规划的场景如写一个 REST API。变体HuggingGPT 的 “Planning → Selection → Execution → Response” 四阶段流程。任务分解策略逐步分解Step-by-step Decomposition做法每次只分解一步执行完再看下一步。优点灵活适应性强每步可基于上一步结果调整。缺点缺乏全局视野可能在早期步骤做出影响后续的短视决策。层级分解Hierarchical Decomposition做法将任务分解为多级子目标形成树状结构。示例“开发电商网站” → “后端开发” → “用户模块” → “注册接口”。优点结构清晰便于管理复杂项目。工具LLMP 将自然语言转为 PDDL规划域定义语言进行形式化规划。并行分解Parallel Decomposition做法识别相互独立的子任务同时执行。示例获取用户信息和订单列表是两个独立调用可以并行。优点缩短总体执行时间。前提子任务之间无依赖关系。自我反思与纠错核心思想Agent 不仅要执行还要审视自己的输出识别错误并修正。Reflexion 模式执行Agent 生成初步答案或执行动作反思让 LLM 评估刚才的输出有什么问题修正基于反馈生成改进版本Step 1: 生成代码 → 这是用户要求的功能代码 Step 2: 自我反思 → 这段代码有两个问题1) 没有处理空输入2) 变量命名不规范 Step 3: 修正输出 → 改进后的代码...常见反思触发条件工具调用返回错误执行结果不符合预期用户明确表示不满置信度低于阈值时主动复查反思的粒度单步反思每完成一步就检查阶段性反思完成一个子目标后检查最终反思任务完成后整体回顾执行监控与重规划监控维度维度监控指标进度当前步骤 vs 计划步骤完成度百分比质量中间结果是否符合预期资源Token 消耗、执行时间是否超限风险是否进入异常状态重规划触发条件工具调用失败且重试无效观察结果与预期不符用户修改了需求或目标执行路径被阻塞缺少必要信息/权限重规划策略策略适用场景局部调整小偏差调整当前步骤即可回退重试上一步有问题回到上一步重新执行整体重规划目标或前提已变需要重新规划全部步骤记忆增强规划将记忆能力与规划能力结合让 Agent 能够借鉴历史经验来优化规划。经验复用检索历史类似任务的分解方式参考执行偏好记忆记住用户对计划格式、时间安排的偏好SOP 沉淀将成功的规划模式固化为模板规划流程 1. 解析当前任务 2. 检索记忆用户之前类似的电商项目是怎么规划的 3. 提取经验结合当前需求生成定制化计划 4. 执行并更新记忆主流框架与开源方案LangChain / LangGraph Agents提供ReAct 风格 agent、Plan-and-Execute 模板、工具调用封装特点高度灵活可组合多种规划策略HuggingGPT流程Planning → Model Selection → Task Execution → Response Generation特点以 LLM 为控制器编排 HuggingFace 上的模型和工具ReAct Agent 实现核心循环Thought → Action → Observation → Thought…关键组件Prompt 模板定义思考格式工具注册表可调用的外部能力观察解析器从工具返回中提取信息AutoGPT / BabyAGI特点自主规划自主执行闭环程度高局限对 LLM 能力要求高成本和错误率也较高框架规划风格自主程度适用场景LangChain AgentsReAct / Plan-and-Execute中快速构建、工具编排HuggingGPT分阶段控制器中多模型协作AutoGPT自主分解执行高端到端任务ReAct 实现思考-行动-观察循环中需要工具调用的场景工程化建议从简单开始先实现单轮规划CoT验证有效后再加入行动ReAct最后考虑复杂策略ToT。Prompt 设计明确的指令格式、示例示范、思考步骤引导。工具设计每个工具职责单一、输入输出清晰、有明确的错误处理。成本控制复杂规划策略 token 消耗大对成本敏感场景需权衡。可观测性记录每轮思考、每次行动、观察结果便于调试和审计。安全边界规划过程中需设置执行边界防止 Agent 调用危险工具或进入死循环。参考资料Chain-of-Thought Prompting for Eliciting Reasoning in LLMshttps://arxiv.org/abs/2201.11903ReAct: Synergizing Reasoning and Acting in Language Modelshttps://arxiv.org/abs/2210.03629Tree of Thoughts: Deliberate Problem Solving with LLMshttps://arxiv.org/abs/2305.08291ReAct Prompting Guide - Prompt Engineering Guidehttps://www.promptingguide.ai/techniques/reactReAct: Reasoning Action Observation - LangChainhttps://python.langchain.com/docs/use_cases/agentsIBM: What is ReAct? Reasoning and Acting in LLMshttps://www.ibm.com/think/topics/react-agentsHuggingGPT: Solving AI Tasks with ChatGPT and Its Friends in HuggingFacehttps://arxiv.org/abs/2304.06377Reflexion: Language Agents with Verbal Reinforcement Learninghttps://arxiv.org/abs/2303.11366