Author:Antonio Gulli
2025年10月初,谷歌资深工程主管、杰出工程师Antonio Gulli免费公开发布了一本长达400多页的新书——《Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems》。该书旨在为当前火热的AI Agent开发领域提供首批系统性的“设计模式”,更有条理地构建强大、可靠的智能系统。 全书内容覆盖从提示链、路由、工具使用等基础单元操作,到记忆管理、多智能体协作、安全护栏等高级主题,为开发者提供了一份从原型到生产实践的完整学习路线图。
Tags
Support Statistics
¥.00 ·
0times
Text Preview (First 20 pages)
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
https://jimmysong.io/book/agentic-design-patterns/ 智能体设计模式 Agentic Design Patterns
Page
2
目录 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 什么是智能体系统?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 为什么模式对智能体开发至关重要 . . . . . . . . . . . . . . . . . . . . . . . . 2 本书结构与使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 框架简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 智能体的特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Level 0:核心推理引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Level 1:连接型问题解决者 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Level 2:战略型问题解决者 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Level 3:协作型多智能体系统崛起 . . . . . . . . . . . . . . . . . . . . . . . 6 智能体未来:五大假设 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 假设一:通才智能体的出现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 假设二:深度个性化与主动目标发现 . . . . . . . . . . . . . . . . . . . . . . 8 假设三:具身化与物理世界交互 . . . . . . . . . . . . . . . . . . . . . . . . . 8 假设四:智能体驱动经济 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 假设五:目标驱动、变形多智能体系统 . . . . . . . . . . . . . . . . . . . . . 9 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 第1章:提示链(Prompt Chaining). . . . . . . . . . . . . . . . . . . . . . 11 提示链模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1
Page
3
2 目录 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 上下文工程与提示工程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 第2章:路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 路由模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 实战代码示例(LangChain). . . . . . . . . . . . . . . . . . . . . . . . . . . 22 实战代码示例(Google ADK) . . . . . . . . . . . . . . . . . . . . . . . . . . 24 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 第3章:并行化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 并行化模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 实战代码示例(LangChain). . . . . . . . . . . . . . . . . . . . . . . . . . . 33 实战代码示例(Google ADK) . . . . . . . . . . . . . . . . . . . . . . . . . . 35 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 第4章:反思(Reflection) . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2
Page
4
目录 3 反思模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 实战代码示例(LangChain). . . . . . . . . . . . . . . . . . . . . . . . . . . 43 实战代码示例(ADK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 第5章:工具使用(函数调用). . . . . . . . . . . . . . . . . . . . . . . . . . 50 工具使用模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 实战代码示例(LangChain). . . . . . . . . . . . . . . . . . . . . . . . . . . 53 实战代码示例(CrewAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 实战代码(Google ADK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 第6章:规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 规划模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 实战代码(Crew AI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Google DeepResearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 OpenAI Deep Research API . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3
Page
5
4 目录 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 第7章:多智能体协作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 多智能体协作模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 多智能体协作:关系与通信结构探析 . . . . . . . . . . . . . . . . . . . . . . 75 实战代码(Crew AI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 实战代码(Google ADK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 第8章:记忆管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 实战代码:Google Agent Developer Kit (ADK) 的记忆管理 . . . . . . . . . . 85 Session:跟踪每次聊天 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 State:会话的临时记事本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Memory:MemoryService管理长期知识 . . . . . . . . . . . . . . . . . . . 90 实战代码:LangChain与 LangGraph的记忆管理 . . . . . . . . . . . . . . . 90 Vertex Memory Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 第9章:学习与适应 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 总览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4
Page
6
目录 5 案例分析:自我改进编码智能体(SICA) . . . . . . . . . . . . . . . . . . . . 100 AlphaEvolve与OpenEvolve . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 第10章:模型上下文协议(MCP). . . . . . . . . . . . . . . . . . . . . . . .107 MCP模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 MCP与工具函数调用的区别 . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 MCP的更多考量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 ADK实操代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 智能体配置与MCP工具集 . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 MCP服务器与ADKWeb连接 . . . . . . . . . . . . . . . . . . . . . . . . . 113 用 FastMCP创建MCP服务器 . . . . . . . . . . . . . . . . . . . . . . . . . 113 ADK Agent 消费 FastMCP服务器 . . . . . . . . . . . . . . . . . . . . . . . 114 使用 ADK Agent 消费 FastMCP服务器 . . . . . . . . . . . . . . . . . . . . 114 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 第11章:目标设定与监控 . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 目标设定与监控模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5
Page
7
6 目录 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 第12章:异常处理与恢复 . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 异常处理与恢复模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 实战代码示例(ADK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 一图速览速读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 第13章:人类参与环节(Human‑in‑the‑Loop). . . . . . . . . . . . . . . .134 人类参与环节模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 实践应用与案例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 实践代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 第14章:知识检索(RAG). . . . . . . . . . . . . . . . . . . . . . . . . . . .140 知识检索(RAG)模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 实践代码示例(ADK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 实践代码示例(LangChain). . . . . . . . . . . . . . . . . . . . . . . . . . . 145 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6
Page
8
目录 7 第15章:智能体间通信(A2A) . . . . . . . . . . . . . . . . . . . . . . . . .151 Agent 间通信模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 A2A核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 A2A与MCP对比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 第16章:资源感知优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 实践应用与用例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 OpenAI 实战代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 OpenRouter 实战代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 超越动态模型切换:智能体资源优化技术谱系 . . . . . . . . . . . . . . . . . 169 一图速览速读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 第17章:推理技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 推理技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 推理扩展定律 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 实践代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 智能体如何“思考”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 7
Page
9
8 目录 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 第18章:护栏与安全模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 实战代码CrewAI 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Vertex AI 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 工程化可靠智能体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 第19章:评估与监控 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 实践应用与用例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 实操代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 智能体轨迹评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 从智能体到高级“承包商” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Google ADK框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 第20章:优先级排序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 优先级排序模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 实战代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 8
Page
10
目录 9 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 第21章:探索与发现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215 实践应用与场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Google Co‑Scientist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 实践代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 一图速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224 智能体设计核心原则回顾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 组合模式构建复杂系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 展望未来 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228 基础概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 核心 AI模型架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 大语言模型开发生命周期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 智能体能力增强 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 常见问题解答:智能体设计模式 . . . . . . . . . . . . . . . . . . . . . . . . .231 附录A ‑高级提示工程技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . .237 提示工程简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 核心提示原则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9
Page
11
10 目录 基础提示技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 零样本提示(Zero‑Shot Prompting). . . . . . . . . . . . . . . . . . . . . 238 单样本提示(One‑Shot Prompting). . . . . . . . . . . . . . . . . . . . . 238 少样本提示(Few‑Shot Prompting). . . . . . . . . . . . . . . . . . . . . 239 提示结构化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 系统提示(System Prompting). . . . . . . . . . . . . . . . . . . . . . . . 240 角色提示(Role Prompting) . . . . . . . . . . . . . . . . . . . . . . . . . 240 分隔符使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 上下文工程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 结构化输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 推理与思考过程技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 思维链(Chain of Thought, CoT). . . . . . . . . . . . . . . . . . . . . . . 243 自洽性(Self‑Consistency). . . . . . . . . . . . . . . . . . . . . . . . . . 244 反思提示(Step‑Back Prompting). . . . . . . . . . . . . . . . . . . . . . 245 思维树(Tree of Thoughts, ToT). . . . . . . . . . . . . . . . . . . . . . . 245 行动与交互技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 工具使用 /函数调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 ReAct (Reason & Act) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 高级技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 自动提示工程(APE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 迭代提示 /精炼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 负面示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 类比使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 分解认知 /任务拆分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 检索增强生成(RAG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 用户画像模式(Persona Pattern) . . . . . . . . . . . . . . . . . . . . . . 249 Google Gems使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 用 LLM优化提示(元方法). . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 特定任务提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 代码提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 多模态提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 最佳实践与实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 10
Page
12
目录 11 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 附录B ‑智能体交互:从GUI到现实世界环境 . . . . . . . . . . . . . . . . . .254 交互:智能体与计算机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 交互:智能体与环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Vibe Coding:与AI的直觉式开发 . . . . . . . . . . . . . . . . . . . . . . . . 256 关键要点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 附录C ‑智能体框架速览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259 LangChain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 LangGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 如何选择?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Google的 ADK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 其他智能体开发框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 附录D ‑使用AgentSpace构建智能体 . . . . . . . . . . . . . . . . . . . . . .265 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 如何通过AgentSpace UI 构建智能体 . . . . . . . . . . . . . . . . . . . . . . 265 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 附录E ‑命令行上的智能体 . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Claude CLI (Claude Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Gemini CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Aider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 11
Page
13
12 目录 GitHub Copilot CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Terminal‑Bench:命令行智能体基准测试 . . . . . . . . . . . . . . . . . . . 272 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 附录F ‑探秘引擎:智能体推理引擎的内部解析 . . . . . . . . . . . . . . . . .274 Gemini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 1. 解析提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 2. 信息检索与综合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 3. 生成响应 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 ChatGPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 步骤详解:我是如何推理的 . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Grok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 推理步骤详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 推理特点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 局限与注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Kimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Claude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 DeepSeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 附录G ‑编程智能体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286 Vibe Coding:创新起点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 智能体作为团队成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 核心组件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 实践落地 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 环境搭建清单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 领导增强团队的原则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 12
Page
14
简介 前言 欢迎阅读《智能体设计模式:智能系统构建实战指南》。在现代人工智能领域,我们见 证了从简单的响应式程序到能够理解上下文、做出决策并与环境及其他系统动态交互的 复杂自主实体的演变。这些就是智能体,以及由它们组成的智能体系统。 强大的大语言模型(LLM)的出现,为理解和生成类人文本及多媒体内容提供了前所未 有的能力,成为许多智能体的认知引擎。然而,要将这些能力编排成能够可靠实现复杂 目标的系统,仅靠强大的模型还远远不够。我们还需要结构、设计,以及对智能体如何 感知、规划、行动和交互的深思熟虑。 构建智能系统就像在画布上创作一件复杂的艺术或工程作品。这块画布并非视觉空间, 而是为智能体提供生存和运行环境的底层基础设施与框架。它是你构建智能应用的基 础,负责管理状态、通信、工具访问和逻辑流程。 要在这块智能体画布上高效构建,不能只是简单地堆砌组件。你需要理解经过验证的技 术 模式 它们能够解决智能体行为设计与实现中常见的挑战。正如架构模式指导 建筑设计,或设计模式规范软件结构,智能体设计模式为你在画布上赋予智能体生命时 遇到的反复问题提供可复用的解决方案。 什么是智能体系统? 智能体系统本质上是一种计算实体,能够感知其环境(包括数字和物理环境),根据这 些感知和预设或学习到的目标做出决策,并自主执行行动以实现目标。与传统软件严格 按照固定步骤执行不同,智能体具备一定的灵活性和主动性。 假设你需要一个系统来管理客户咨询。传统系统可能只会按照固定脚本操作。而智能体 系统则能感知客户问题的细微差别,访问知识库,与其他内部系统(如订单管理)交 互,甚至主动提出澄清问题,并预见客户的后续需求。这些智能体在你的应用基础设施 画布上运行,利用可用的服务和数据。 智能体系统通常具备如下特性:自主性,无需持续人工干预即可行动;主动性,能主动 采取行动实现目标;响应性,能有效应对环境变化。它们本质上是目标导向的,始终致 力于实现目标。一个关键能力是工具使用,即能与外部API、数据库或服务交互 有 1
Page
15
2 简介 效地突破自身画布的限制。它们拥有记忆,能在多次交互中保留信息,并能与用户、其 他系统或同一/关联画布上的其他智能体进行通信。 要有效实现这些特性,系统复杂度会显著提升。智能体如何在画布上跨多步保持状态? 如何决定何时、如何使用工具?不同智能体之间的通信如何管理?如何为系统构建弹性 以应对意外结果或错误? 为什么模式对智能体开发至关重要 正因如此,智能体设计模式变得不可或缺。它们不是死板的规则,而是经过实战检验的 模板或蓝图,为智能体领域的标准设计与实现挑战提供成熟的解决方案。识别并应用这 些设计模式,可以提升你在画布上构建智能体的结构性、可维护性、可靠性和效率。 使用设计模式能避免你为诸如对话流程管理、外部能力集成或多智能体协作等基础任务 重复造轮子。它们为你的智能体逻辑提供了通用语言和结构,使代码更易于理解和维 护。实现专为错误处理或状态管理设计的模式,能直接提升系统的健壮性和可靠性。借 助这些成熟方法,你可以专注于应用的独特创新,而不是智能体行为的底层机制。 本书提炼了21个关键设计模式,作为在不同技术画布上构建复杂智能体的基础模块和 技术。理解并应用这些模式,将极大提升你设计和实现智能系统的能力。 本书结构与使用方法 《智能体设计模式:智能系统构建实战指南》旨在成为一本实用、易读的参考书。核心 目标是清晰讲解每个智能体模式,并通过具体可运行的代码示例展示其实现方法。全书 共21章,涵盖从基础(如顺序操作结构化 提示链、外部交互 工具使用)到高 级主题(如协作 多智能体协作、自我改进 自我纠错)的多种设计模式。 每章内容包括: ・ 详细的模式概述,清晰解释该模式及其在智能体设计中的作用。 ・ 实际应用与场景,展示该模式在真实项目中的价值与优势。 ・ 实战代码示例,用主流智能体开发框架演示模式实现,帮助你在技术画布中落地 应用。 ・ 关键要点总结,便于快速回顾核心内容。 ・ 参考资料,为进一步学习提供延伸资源。 章节安排循序渐进,便于系统学习,也可作为查阅手册,针对实际开发中的具体问题跳 2
Page
16
框架简介 3 转阅读。附录部分系统介绍了高级提示工程、智能体在真实环境中的应用原则,以及主 流智能体框架概览。配套的在线教程则提供了基于AgentSpace、命令行等平台的智能 体实战指导。全书强调实用性,强烈建议你亲自运行代码示例,动手实验并根据实际需 求进行改造,打造属于自己的智能系统画布。 很多人会问:“AI变化如此之快,为什么还要写一本可能很快过时的书?”我的初衷恰恰 相反。正因为变化太快,我们更需要回归那些正在固化的底层原则。RAG、反思、路 由、记忆等模式,正在成为智能体开发的基础模块。本书希望帮助大家关注这些核心理 念,为未来的创新打下坚实基础。人类需要在这些基础模式上不断反思和总结。 框架简介 为了让代码示例有具体的“画布”(详见附录),本书主要采用三大主流智能体开发框 架。LangChain及其有状态扩展 LangGraph,为串联语言模型与其他组件提供了灵活 方式,是构建复杂操作序列和流程图的强大画布。Crew AI专为多智能体、角色和任务 编排设计,适合协作型智能体系统。Google Agent Developer Kit(Google ADK)则 提供了智能体构建、评估和部署的工具与组件,是集成Google AI基础设施的有力画布。 这些框架代表了智能体开发画布的不同侧面,各有优势。通过跨工具示例,你将更全面 理解模式在不同技术环境下的应用。所有示例都聚焦于模式核心逻辑和实际落地,强调 清晰与实用。 读完本书,你不仅能掌握21个核心智能体模式背后的基本原理,还能获得丰富的实战 经验和代码示例,助你在所选开发画布上高效构建更智能、更强大、更自主的系统。让 我们开启这场实战之旅吧! 3
Page
17
智能体的特征 简单来说,智能体是一种能够感知环境并采取行动以实现特定目标的系统。它是从传 统大语言模型(LLM)演化而来,具备规划、工具使用和环境交互等能力。可以把智能 体AI想象成一个能在工作中不断学习的智能助手。它遵循一个简单的五步循环来完成 任务(见图1): 1. 获取任务目标:你给它一个目标,比如“帮我安排日程”。 2. 扫描环境信息:它会收集所有必要的信息 阅读邮件、检查日历、访问联系人 以了解当前状况。 3. 制定计划:它会思考并制定实现目标的最佳方案。 4. 执行行动:它会发送邀请、安排会议、更新你的日历来落实计划。 5. 学习与优化:它会观察结果并不断调整。例如,如果会议被重新安排,系统会从中 学习以提升未来表现。 图1:智能体像智能助手一样,通过经验不断学习,采用五步循环完成任务。 智能体正在以惊人的速度普及。最新研究显示,大多数大型 IT企业都在积极使用智能 体,其中五分之一是在过去一年内刚刚开始。金融市场也高度关注这一趋势。到2024 年底,智能体初创公司融资已超过20亿美元,市场规模达到52亿美元,预计到2034 年将激增至近2000亿美元。简而言之,智能体将在未来经济中扮演极为重要的角色。 4
Page
18
Level 0:核心推理引擎 5 短短两年间,AI范式发生了巨大转变,从简单自动化迈向复杂自主系统(见图2)。最 初,工作流依赖基础提示和触发器,利用LLM处理数据。随后,检索增强生成(RAG) 技术出现,通过事实信息提升模型可靠性。接着,单体智能体诞生,能够调用多种工 具。如今,我们正步入智能体AI时代,多个专业智能体协作完成复杂目标,AI的协同 能力实现了质的飞跃。 图2:从 LLM到RAG,再到智能体RAG,最终迈向智能体AI。 本书旨在探讨专业智能体如何协作、互动以实现复杂目标的设计模式,每一章都将展示 一种协作与交互范式。 在此之前,让我们先看几个智能体复杂度的典型实例(见图3)。 Level 0:核心推理引擎 LLM本身并不是智能体,但可以作为基础智能体系统的推理核心。在“Level 0”配置 下,LLM不具备工具、记忆或环境交互能力,仅依靠预训练知识进行响应。它擅长解释 已知概念,但完全无法感知最新事件。例如,如果2025年奥斯卡最佳影片不在其训练 数据中,它就无法回答。 5
Page
19
6 智能体的特征 Level 1:连接型问题解决者 此阶段,LLM通过连接外部工具成为真正的智能体。它的问题解决能力不再局限于预训 练知识,而是能执行一系列操作,从互联网(搜索)或数据库(RAG)等渠道收集和处 理信息。详细内容见第14章。 例如,查找新电视剧时,智能体会识别需要最新信息,使用搜索工具获取并整合结果。 它还能调用专业工具提升准确率,比如通过金融API获取 AAPL的实时股价。跨步骤与 外部世界交互,是Level 1 智能体的核心能力。 Level 2:战略型问题解决者 此阶段,智能体能力大幅提升,具备战略规划、主动协助和自我优化,提示工程与上下 文工程成为核心技能。 首先,智能体不再只用单一工具,而是通过战略性问题解决应对复杂多步骤任务。执行 过程中,它主动进行上下文工程:即为每一步战略性筛选、打包和管理最相关的信息。 例如,查找两地之间的咖啡馆,智能体先用地图工具获取信息,再将输出内容(如街道 名列表)精简后传递给本地搜索工具,避免信息过载,确保高效准确。要让AI达到最 高准确率,必须提供简短、聚焦且高效的上下文。上下文工程正是通过战略性筛选和管 理关键信息,实现模型注意力的有效分配。详细内容见附录A。 这一阶段还带来主动、持续的操作。例如,旅行助手连接邮箱后,会从冗长的航班确认 邮件中提取关键信息(航班号、日期、地点),再打包给日历和天气API。 在软件工程等专业领域,智能体通过上下文工程管理整个工作流。收到bug报告后,它 会读取报告和代码库,并将大量信息精炼为高效上下文,从而高效编写、测试和提交正 确的代码补丁。 最后,智能体通过优化自身上下文工程实现自我提升。它会主动请求反馈,学习如何更 好地整理初始输入,从而自动优化未来任务的信息打包方式,形成强大的自动反馈循 环,不断提升准确率和效率。详细内容见第17章。 Level 3:协作型多智能体系统崛起 Level 3 标志着AI开发范式的重大转变,不再追求单一超级智能体,而是发展复杂的协 作型多智能体系统。该模式认为,复杂挑战往往不是由单一通才解决,而是由多个专业 团队协作完成。这与人类组织结构高度相似,不同部门分工协作,共同实现多元目标。 6
Page
20
智能体未来:五大假设 7 图 3:展示智能体复杂度的不同实例。 系统的集体优势正是通过分工与协同实现的。详细内容见第7章。 以新产品发布为例,不是一个智能体包揽所有环节,而是由“项目经理”智能体统筹, 分派任务给“市场调研”、“产品设计”、“营销推广”等专业智能体。成功的关键在于各 智能体之间的高效沟通与信息共享,确保所有努力协同达成共同目标。 虽然自主团队式自动化已在开发中,但目前仍面临挑战。多智能体系统的效能受限于所 用LLM的推理能力,且智能体之间真正互相学习和协同提升还处于初级阶段。突破这 些技术瓶颈,是实现自动化全流程业务的关键一步。 智能体未来:五大假设 智能体在软件自动化、科学研究、客户服务等领域正以前所未有的速度发展。当前系统 虽已强大,但仅是起点。下一波创新将聚焦于提升智能体的可靠性、协作性和深度融 合。以下是五大未来假设(见图4)。 假设一:通才智能体的出现 第一种假设认为,智能体将从狭窄的专家型进化为真正的通才,能够高可靠性地管理复 杂、模糊和长期目标。例如,你只需一句话:“帮我规划公司30人下季度里斯本团建”, 智能体就能全程管理项目数周,包括预算审批、航班谈判、场地选择、收集员工反馈并 制定详细行程,并定期汇报进度。实现如此高度自治,需要AI在推理、记忆和可靠性 方面取得突破。另一种可行路径是“小语言模型”(SLM)的崛起,即用多个小型专家 7
Comments 0
Loading comments...
Reply to Comment
Edit Comment