《Agentic Design Patterns》第 6 章导读:规划(Planning)
《Agentic Design Patterns》第 6 章导读规划Planning本文是对开源书籍《Agentic Design Patterns》第 6 章的解读与导读内容忠实呈现原文并附个人思考。原书在线阅读https://adp.xindoo.xyz/ 翻译项目代码仓库https://github.com/xindoo/agentic-design-patterns前面几章我们聊了提示词链线性流水线、路由动态分流、并行化并发提速、反思自我纠错和工具使用外部能力扩展——这些模式各有所长但它们本质上都是响应式的给一个输入走一段流程出一个结果。但真正的智能行为远不止于此。人类面对复杂目标时会先想清楚怎么做、分几步走、遇到问题怎么调整然后再动手。这种先谋后动的能力就是第 6 章要讲的**规划Planning**模式。一、什么是规划从反应式执行到目标导向规划模式的核心命题很简单给智能体一个目标让它自己想出实现目标的行动序列。书里举了个很生活化的例子你跟智能体说组织一次团队外出活动。你只说了目标是什么活动内容、预算、参与人数这些约束但完全没说怎么做。规划智能体的任务就是自主搞定中间这一切理解初始状态预算多少、多少人参加、期望日期是什么明确目标状态成功预订一场大家满意的活动设计行动序列查场地 → 比价格 → 确认档期 → 订餐 → 发通知……关键在于这个计划不是写死的而是根据请求动态生成的。更重要的是智能体还要能根据新信息调整计划——比如首选场地满了它得自己找备选餐饮预算超了它得换方案或砍项目。这就是规划和提示词链最大的区别提示词链步骤是预设好的只是按顺序执行规划步骤是智能体自己想出来的而且可以动态调整。当然规划也不是万能的。书中特别强调了一个灵活性与可预测性的权衡当问题的解法已经被充分理解、可以重复执行时用固定工作流反而更高效、更可控。规划智能体适合方法需要被发现的场景如果方法已经已知用确定性流程就够了。二、规划的典型应用场景规划是自主系统的核心计算过程把高层目标翻译成可执行的离散步骤。书中列举了几个主要应用方向应用领域典型场景规划做什么流程任务自动化新员工入职、客户工单处理编排复杂工作流按逻辑顺序调用工具、协调各部门、管理依赖关系机器人与自主导航物理机器人路径规划、虚拟智能体状态转移生成从初始状态到目标状态的最优行动序列兼顾时间/能耗避开障碍结构化信息综合研究报告生成、深度调研规划信息收集 → 数据总结 → 内容结构化 → 迭代完善的完整流程客户支持多步骤故障排查创建诊断 → 方案实施 → 升级的系统计划逐步推进问题解决一句话概括规划让智能体从被动响应变成主动出击从执行既定指令的工具变成可以自主朝目标推进的战略执行者。三、实操示例用 Crew AI 实现规划写作书中用 Crew AI 框架演示了一个先规划、再写作的简单例子。智能体拿到一个主题后先自己列大纲再按大纲写摘要——这就是规划模式最朴素的形态。先装依赖pipinstallcrewai langchain-openai python-dotenv核心代码如下fromdotenvimportload_dotenvfromcrewaiimportAgent,Task,Crew,Processfromlangchain_openaiimportChatOpenAI# 加载环境变量load_dotenv()# 1. 定义语言模型llmChatOpenAI(modelgpt-4-turbo)# 2. 定义规划写作智能体planner_writer_agentAgent(role文章规划者和撰写者,goal规划然后撰写关于指定主题的简洁、引人入胜的摘要。,backstory(你是一位专业的技术作家和内容策略师。你的优势在于在写作之前创建清晰、可操作的计划确保最终摘要既信息丰富又易于理解。),verboseTrue,allow_delegationFalse,llmllm)# 3. 定义任务先做计划再写摘要topic强化学习在 AI 中的重要性high_level_taskTask(description(f1. 为主题{topic}的摘要创建要点计划。\nf2. 根据您的计划撰写摘要保持在 200 字左右。),expected_output(包含两个不同部分的最终报告\n\n### 计划\n- 概述摘要要点的项目符号列表。\n\n### 摘要\n- 主题的简洁且结构良好的摘要。),agentplanner_writer_agent,)# 4. 组建团队并执行crewCrew(agents[planner_writer_agent],tasks[high_level_task],processProcess.sequential,)resultcrew.kickoff()print(result)这段代码的精髓在于expected_output里明确要求了先出计划、再出摘要——通过提示设计强制智能体走规划流程。这也是书中提到的一个实用技巧在智能体框架中明确提示或设计任务要求规划步骤就能有效激发出规划行为。四、进阶案例Google DeepResearch 的规划实践如果说 Crew AI 的例子是规划的入门版那Google Gemini DeepResearch就是规划模式的工业级展示。图 1Google Deep Research 智能体的执行计划——先把用户提示拆解为多点研究计划再迭代执行。DeepResearch 的运作方式非常能体现规划的精髓计划生成拿到用户问题后先拆解为一份多点研究计划还给用户审阅修改迭代搜索-分析循环智能体不是跑一串固定搜索而是根据已收集的信息动态制定和优化查询主动发现知识缺口、验证数据点、解决矛盾异步长流程管理可能涉及分析数百个来源系统支持异步执行用户可以走开等通知结构化综合输出最终不是一堆链接列表而是一份有逻辑章节、有引用来源的完整报告。图 2Deep Research 的执行过程——智能体动态地进行多轮搜索逐步填补知识缺口。书中还提到DeepResearch 的最终输出是交互式的——有音频概述、图表、原始引用链接还明确返回所有搜索和咨询过的来源列表见图 3提供完全的透明度。图 3Deep Research 的最终输出——结构化报告 完整来源引用确保结论可验证。这个案例很好地展示了规划模式的高级形态计划不是一次性生成的而是在执行过程中不断演化、迭代优化的。五、工具化趋势OpenAI Deep Research API规划模式正在从框架里自己搭走向API 直接用。OpenAI 推出的 Deep Research API 就是一个典型——它把规划 搜索 综合的完整流程封装成了一个接口。书中给出了 API 的使用示例fromopenaiimportOpenAI clientOpenAI(api_keyYOUR_OPENAI_API_KEY)system_message你是一名准备结构化、数据驱动报告的专业研究员。 专注于数据丰富的见解使用可靠的来源并包括内联引用。user_query研究司美格鲁肽对全球医疗保健系统的经济影响。responseclient.responses.create(modelo3-deep-research-2025-06-26,input[{role:developer,content:[{type:input_text,text:system_message}]},{role:user,content:[{type:input_text,text:user_query}]}],reasoning{summary:auto},tools[{type:web_search_preview}])# 获取最终报告final_reportresponse.output[-1].content[0].textprint(final_report)# 访问内联引用annotationsresponse.output[-1].content[0].annotationsforcitationinannotations:print(f引用{citation.title}-{citation.url})Deep Research API 的三个核心价值结构化、带引用的输出报告组织良好内联引用链接到来源元数据确保结论可验证过程透明公开所有中间步骤——推理过程、具体搜索查询、代码执行记录方便调试和分析可扩展性支持 MCP模型上下文协议第 10 章会讲能接入私有知识库和内部数据源。这也代表了一个趋势规划能力正在从需要开发者自己编排变成模型原生自带开发者更多是在定义目标和约束而不是一步步教模型怎么做。六、速览问题背景复杂问题通常无法通过单一行动解决需要远见卓识和多步骤推进。没有结构化方法智能体难以处理涉及多个步骤和依赖关系的多方面请求导致结果不完整或不可靠。解决方案规划模式让智能体先创建连贯的行动方案把高层目标分解为一系列可操作的步骤或子目标按逻辑顺序推进。LLM 特别适合做这件事——它们能基于海量训练数据生成合理有效的计划还能根据新信息动态调整。实践建议当用户请求太复杂、无法通过单个操作或工具处理时使用规划模式。它特别适合自动化多步流程比如生成详细研究报告、新员工入职、竞争分析等需要一系列相互依赖操作才能达成综合结果的任务。七、可视化总结图 4规划设计模式——智能体先制定计划再按步骤执行必要时动态调整。关键要点规划让智能体把复杂目标分解为可操作的顺序步骤它对于处理多步任务、工作流自动化和导航复杂环境至关重要LLM 可以基于任务描述生成逐步方法来执行规划明确提示或设计任务要求规划步骤会在智能体框架中鼓励这种行为Google Deep Research 是规划模式的典型代表——它进行反思、规划并执行最终产出结构化报告。结语与个人思考规划模式是智能体从工具走向助手的关键一步。前面几章的模式本质上都是开发者在编排流程——链条怎么串、路由怎么分、并行怎么拆都是人事先想好的。而规划模式第一次把设计流程本身这件事也交给了智能体。但规划也不是银弹。有几个值得注意的地方第一规划的质量取决于模型的世界知识和推理能力。如果任务领域很专业、或者涉及实时变化的信息纯靠模型内部知识做出来的计划很可能不靠谱。这也是为什么 DeepResearch 这类系统要把规划和搜索工具结合起来——边查边规划计划才不会脱离现实。第二规划不是越自动越好。书中提到 DeepResearch 会把初始计划给用户审阅修改这其实是一种人机协同的思路——让人类把关方向让智能体负责执行。对于高风险场景比如医疗、法律、财务这种人类确认计划 智能体执行的模式可能比全自动规划更实用。第三规划能力正在快速平台化。从需要自己用 Crew AI 拼出来到 OpenAI、Google 直接做成 API规划正在变成一种基础能力。开发者的关注点会从怎么让智能体做规划转向怎么定义好目标和约束、怎么评估规划质量、怎么在规划失败时兜底。下一步建议阅读第 7 章多智能体协作Multi-Agent Collaboration——看看当多个智能体一起工作时会碰撞出什么样的火花。本文基于开源书籍《Agentic Design Patterns》https://github.com/xindoo/agentic-design-patterns 在线阅读 https://adp.xindoo.xyz/ 整理供学习交流版权归原作者所有。

相关新闻

充电桩运营管理实战指南:从设备选型到运维排查全解析

充电桩运营管理实战指南:从设备选型到运维排查全解析

1. 充电桩运营管理,到底在管什么做充电桩运营这行,很多人一开始以为就是买几台桩、找个停车场、通上电,然后等着收钱。等真正上手之后才发现,事情远没有这么简单。充电桩运营管理本质上是一个融合了设备管理、电力交易、用户服务、…

2026/10/8 19:37:14 阅读更多 →
三台松下PLC并联控制16轴:固态硬盘组装设备的多轴定位与RS485通讯方案

三台松下PLC并联控制16轴:固态硬盘组装设备的多轴定位与RS485通讯方案

1. 为什么是"三台松下PLC管16轴":项目起点与总体架构1.1 工艺需求拆解:固态硬盘组装设备里的"精密"到底指什么先聊项目背景。这是一条固态硬盘(SSD)组装线,人工装配改自动化之后遇到最大的问题不是…

2026/10/8 19:37:14 阅读更多 →
2026年IDEA冷门效率插件实测推荐与避坑指南

2026年IDEA冷门效率插件实测推荐与避坑指南

聊起 IDEA 插件,网上一搜翻来覆去就那么几个名字:Lombok、Alibaba Java Coding Guidelines、JRebel、CheckStyle。说实话,真到了 2026 年这个节点,JetBrains 插件市场里已经有超过 5 万个插件在架,每年还在新增上千款&…

2026/10/8 19:37:13 阅读更多 →

最新新闻

MySQL与数据可视化实战:从SQL取数到ECharts出图全流程

MySQL与数据可视化实战:从SQL取数到ECharts出图全流程

MySQL和数据可视化这两个词放在一起,很多人第一反应是:图表而已,拿ECharts画一画不就行了。但真做过几个可视化项目之后,你会发现真正的难点根本不在图表层,而在数据层——你从MySQL里查出来的每一行,能不能…

2026/10/8 20:17:27 阅读更多 →
Jurl:让curl学会读页面,轻量级内容提取工具实战

Jurl:让curl学会读页面,轻量级内容提取工具实战

1. 从 curl 到 Jurl:一个被低估的效率工具 第一次看到 Jurl 这个项目标题的时候,我的反应是:这不就是我每天在终端里手敲几十遍的东西吗? curl 这个工具,做后端和运维的人几乎没有不认识的,发个请求、测个…

2026/10/8 20:17:27 阅读更多 →
JIT编译器如何让Java代码越跑越快?深入JVM性能调优

JIT编译器如何让Java代码越跑越快?深入JVM性能调优

代码跑着跑着就变快了,这不是错觉做Java后端这几年,我经常在压测或长跑任务里碰到一种"诡异"现象:同一个接口,刚启动时每秒只能处理几百个请求,跑上几分钟后QPS自己就上去了,翻了几倍甚至一个数量…

2026/10/8 20:16:24 阅读更多 →
JSP+Servlet医院预约挂号系统部署实战:从环境配置到二次开发

JSP+Servlet医院预约挂号系统部署实战:从环境配置到二次开发

简介:一份基于JspServlet技术栈的医院预约挂号系统项目源码,面向Java初学者及课程设计、毕业设计需求,演示了经典JSPServletMySQL的开发流程与分层思路。压缩包共1451个文件,以jsp页面、java类、servlet控制器和JavaScript脚本为主…

2026/10/8 20:16:22 阅读更多 →
图书推荐系统毕设实战:PySpark+Hadoop+ALS全流程解析

图书推荐系统毕设实战:PySpark+Hadoop+ALS全流程解析

每年毕设季的群消息里,“推荐系统”一定是最热闹的关键词之一。但说句得罪人的话,十个标榜“推荐系统毕设”的项目里,有八个最后拿出来的是同一个东西:一段Python脚本读CSV、算个余弦相似度、Flask挂个查询接口,演示两…

2026/10/8 20:16:18 阅读更多 →
Agent-Reach CLI 工具:AI Agent 触达外部世界的统一执行层

Agent-Reach CLI 工具:AI Agent 触达外部世界的统一执行层

1. 从零拆解 Agent-Reach:一个 CLI 工具如何把 AI Agent 拉进终端第一次看到 Agent-Reach 这个名字,我下意识把它归类成又一个“套壳聊天框”。直到我把它的 CLI 跑起来,才发现方向不太一样——它想解决的是 AI Agent 落地时最烦人的那一段&a…

2026/10/8 20:16:15 阅读更多 →

日新闻

抖音用户主页视频数据爬虫详解:点赞、收藏、分享字段抓取与 TaoToken 统一 Key 配置

抖音用户主页视频数据爬虫详解:点赞、收藏、分享字段抓取与 TaoToken 统一 Key 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:03 阅读更多 →
AI 编程 Trae 国内版与国际版一篇讲透:TaoToken 统一 Key 接入实测

AI 编程 Trae 国内版与国际版一篇讲透:TaoToken 统一 Key 接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:06 阅读更多 →
Claude Desktop 配置第三方推理接口教程:用 TaoToken 统一 Key 打通 API 调用

Claude Desktop 配置第三方推理接口教程:用 TaoToken 统一 Key 打通 API 调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 0:00:07 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →