《Agentic Design Patterns》读书笔记
ChatGPT、Gemini等大语言模型(LLM)是大脑,但就如同人一样,除了大脑之外,还需要相应的手脚去和外部世界交互,而Agent(智能体)至于LLM也是如此。
本书的全名是《Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems》,本读书笔记使用的是GitHub的翻译资料。
以下是读书的一些摘要。
使人类能将更多精力投入于构思和批判性分析。
Transformers(变换器):变换器是现代大语言模型的基础神经网络架构。其核心创 新是自注意力机制,能高效处理长文本序列并捕捉词语间复杂关系。
Google Gems 使用 Google AI“Gems”是 Gemini 架构下的用户可配置特性,每个 Gem 是专用 AI 实例, 针对特定任务定制。用户通过指令集定义 Gem 用途、响应风格和知识领域,模型在整 个会话中始终遵循这些指令。 可创建专用智能体,如仅引用特定库的代码解释器、只生成摘要的分析助手、遵循特定 风格的翻译器等。Gem 为 AI 建立持久、任务专用上下文,避免重复设定,提高效率和 一致性,实现细粒度、持久化用户指令。
工具
LLM 是强大的文本生成器,但本质上与外部世界隔离,知识静态且有限,无法 执行动作或获取实时信息。这一限制使其难以解决需要与外部 API、数据库或服务交互 的实际问题。
工具使用模式(函数调用)为此提供了标准化解决方案。通过向 LLM 描述可 用外部函数(工具),智能体可根据用户请求决定是否需要工具,并生成结构化数据 (如 JSON)指定调用哪个函数及参数。编排层执行函数调用,获取结果并反馈给 LLM, 使其能整合最新外部信息或动作结果,具备行动能力。
经验法则:只要智能体需要突破 LLM 内部知识、与外部世界交互(如实时数据、私有 信息、精确计算、代码执行、系统控制),就应采用工具使用模式。
工具使用让语言模型从文本生成器转变为具备感知、推理和行动能力的智能体。
Performing Calculations and Data Analysis: | 执行计算和数据分析: Using external calculators, data analysis libraries, or statistical tools. 使用计算器、数据分析库或统计工具。
Use Case: A financial agent.
Tools: A calculator function, a stock market data API, a spreadsheet tool.
Agent Flow: User asks "What's the current price of AAPL and calculate the potential profit if I bought 100 shares at $150?", LLM calls stock API, gets current price, then calls calculator tool, gets result, formats response.
用例:金融领域智能体。
工具:计算器函数、股票行情接口、电子表格工具。
智能体流程:用户提问「苹果公司当前股价是多少?如果我以 150 美元买入 100 股,可能会赚多少钱?」,大语言模型会先调用股票行情接口获取最新价格,然后调用计算器工具计算收益,最后把结果整理并返回给用户。
Google ADK 内置了如 Google 搜索、代码执行、Vertex AI Search 等实用工具。 企业搜索:该代码用 google.adk 库定义了一个 VSearchAgent ,能通过 Vertex AI Search 数据库检索并回答问题。 Vertex 扩展:Vertex AI 扩展是一种结构化 API 封装,使模型能连接外部 API 实现实时 数据处理和动作执行。扩展具备企业级安全、数据隐私和性能保障,可用于代码生成与 运行、网站查询、私有数据分析等。Google 提供了常用扩展(如代码解释器、Vertex AI Search),也支持自定义。扩展的主要优势是自动执行和企业集成,而函数调用则需 用户或客户端手动执行。
规划
规划模式概述 在 AI 领域,可以将规划智能体视为你委托复杂目标的专家。当你让它“组织一次团队 团建”,你定义的是“做什么”Ջ目标及约束条件,而不是“怎么做”。智能体的核心 任务是自主制定通往目标的路径。它首先要理解初始状态(如预算、参与人数、期望日 期)和目标状态(成功预订团建活动),然后发现连接两者的最优行动序列。计划并非 预先设定,而是根据请求动态生成。
这一过程的显著特征是适应性。初始计划只是起点,而非死板剧本。智能体的真正能力 在于能根据新信息调整方向,灵活应对障碍。例如,如果首选场地不可用或餐饮供应商 已满,优秀的智能体不会直接失败,而是会适应变化,重新评估选项,制定新计划,比 如建议替代场地或调整日期。 但也要认识到灵活性与可预测性之间的权衡。动态规划是一种特定工具,并非万能方 案。当问题的解决路径已知且可重复时,约束智能体按照预定、固定流程执行更有效。 这种方式限制了智能体的自主性,减少了不确定性和不可预测行为,确保结果可靠一 致。因此,是否采用规划智能体,关键在于“怎么做”需不需要探索,还是已经明确。
规划模式是自主系统中的核心计算过程,使智能体能够在动态或复杂环境下,合成一系 列行动以达成指定目标,将高层目标转化为结构化、可执行的步骤。
在流程自动化领域,规划用于编排复杂工作流。例如,企业新员工入职流程可拆解为创 建系统账号、分配培训模块、协调各部门等子任务。智能体生成计划,按逻辑顺序执行 这些步骤,调用必要工具或与系统交互以管理依赖关系。
在机器人与自主导航中,规划是进行状态空间遍历(state-space traversal)的核心。无论是实体机器人还是虚拟主体,系统都需要生成路径或动作序列,从起始状态到达目标状态。这个过程要在遵守环境约束(如避障或遵守交通法规)的前提下,优化时间、能耗等指标。
总之,规划模式让智能体超越简单反应,具备面向目标的行为,为解决需要一系列相互 依赖操作的问题提供逻辑框架。
系统运行并非一次性问答,而是受控的长流程。它首先将用户请求拆解为多点研究计划 ,并展示给用户审核和修改,实现协同规划。
计划确认后,智能体管道启动迭 代搜索与分析循环。智能体不仅执行预设搜索,还会根据收集到的信息动态调整查询, 主动发现知识空缺、验证数据点、解决矛盾。
复杂问题往往无法通过单一行动解决,需要前瞻性思考才能实现目标。没有结构化方法,智能体系统难以应对多步骤、依赖关系复杂的请求,难以将高层目标拆解为 可执行的小任务,导致面对复杂目标时策略不足,结果不完整或错误。
大模型尤其擅长根据任务描述生成合理有效的计划。结构化方法让智能体从被动反应者转变为主动战略执行者,能适应变化并动态调整计划。
规划模式是推动智能体系统从简单反应者向战略型、目标导向执行者转变的基 础。现代大语言模型具备自动将高层目标分解为连贯可执行步骤的核心能力。该模式既 适用于如 Crew 智能体制定并执行写作计划的顺序任务,也能扩展到更复杂、动态的系统。Google DeepResearch 智能体则展示了高级应用,通过持续信息收集,迭代生成和调整研究计划。归根结底,规划为复杂问题搭建了人类意图与自动化执行之间的桥梁, 使智能体能够管理复杂工作流,输出全面、结构化的结果。
关键要点 :
・ 规划使智能体能够将复杂目标拆解为可执行的、顺序化的步骤。
・ 该模式对于处理多步骤任务、工作流自动化和复杂环境导航至关重要。
・ 大型语言模型可根据任务描述生成逐步规划,实现自动化分解与执行。
・ 明确提示或设计任务要求规划步骤,可在智能体框架中激发此类行为。
・ Google Deep Research 是一个智能体,利用 Google 搜索工具为用户分析信息来源, 具备反思、规划和执行能力。
多智能体协同
Financial Analysis: A multi-agent system could analyze financial markets. Agents might specialize in fetching stock data, analyzing news sentiment, performing technical analysis, and generating investment recommendations.
金融分析:多智能体系统可以分析金融市场。智能体可能专门获取股票数据、分析新闻情绪、执行技术分析和生成投资建议。
MCP
智能体并不能神奇地替代确定性流程,往往需要更强的 确定性支持。
数据库集成:智能体可通过 MCP 无缝访问结构化数据库,如用 MCP 数据库工具箱查 询 Google BigQuery,实时获取信息、生成报告或更新记录,全部由自然语言驱动。
推理型信息抽取:利用 LLM 强推理能力,MCP 支持智能体按需抽取信息,超越传统检索工具。智能体可分析文本,精准提取回答复杂问题的关键句段。
复杂流程编排:智能体可组合多种 MCP 工具和数据源,实现多步骤复杂流程,如获取客户数据、生成营销图片、撰写邮件并发送,全部自动化完成。
金融服务自动化:在金融领域,智能体可通过 MCP 对接数据源、交易平台、合规系 统,实现市场分析、自动交易、个性化建议和合规报告,确保安全和标准化通信。
目标设定与监控
注意事项:本示例仅为说明原理,并非生产级代码。实际应用中需考虑更多因素。LLM 可能无法完全理解目标含义,或错误判断已达成目标。即使目标明确,模型也可能出现 “幻觉(hallucinate)”。当同一个 LLM 既负责写代码又负责评审时,发现自身偏离目标的能力有限。
LLM 并不会凭空生成完美代码,最终仍需人工运行和测试。此外,示例中的“监控”较 为基础,存在无限循环风险。
更健壮的做法是将不同职责分配给多个智能体。例如,我用 Gemini 构建了一个多智能 体团队,每个成员有专属角色:
・ 编程助手:协助编写和头脑风暴代码。
・ 代码评审员:发现错误并提出改进建议。
・ 文档员:生成清晰简明的文档。
・ 测试编写员:编写全面的单元测试。
・ 提示优化师:优化与 AI 的交互提示。
在这种多智能体系统中,代码评审员与编程助手分离,评审更客观,测试编写员则能补 足自动化测试需求。
为智能体赋予制定和监督目标的能力,是迈向真正智能、可问责 AI 系统的 基础。
Ultimately, equipping agents with the ability to formulate and oversee goals is a fundamental step toward building truly intelligent and accountable AI systems.
评估与监控
From Agents to Advanced Contractors | 从智能体到高级承包商
近期提出(Agent Companion, gulli 等)将智能体从概率性、易出错系统升级为更确 定、可问责的“承包商”,适用于复杂高风险场景(见图 2)。 传统智能体仅依赖简短指令,适合演示但在生产环境易因歧义失败。“承包商”模型通 过正式合同建立用户与 AI 的严密关系,合同详细规定任务、交付物、数据源、范围、成 本和时限,结果可客观验证。
最终,承包商框架通过正式规范、协商和可验证执行,将 AI 从易变助手升级为可问责 系统,适用于关键领域。
优先级排序
动态优先级调整是智能体行为的关键特性,使智能体能根据实时变化自主调整关注重 点。正如代码示例所示,智能体能理解模糊请求,自主选择并使用合适工具,合理安排 行动顺序以达成目标。这种自我管理能力是智能体系统与普通自动化脚本的本质区别。 最终,掌握优先级排序是打造稳健、智能的智能体在复杂真实场景下可靠运行的基础。
附录
大语言模型开发生命周期
强大的语言模型开发遵循特定流程。(个人注:以下部分应该是从《Hands On Large Language Models》这本书总结出来的)
首先是预训练阶段
模型在海量通用互联网文本上 学习语言、推理和世界知识,构建基础能力。接着是微调阶段,模型在小规模、特定任 务数据集上进一步训练,提升针对性能力。最后是对齐阶段,调整模型行为,使其输出 有益、无害并符合人类价值观。
・ 预训练技术:预训练是模型学习通用知识的初始阶段,常见目标包括:因果语言建 模(CLM,预测下一个词)、掩码语言建模(MLM,填补文本中隐藏词)、去噪目标 (恢复被破坏的输入)、对比学习(区分相似与不相似数据)、下一句预测(NSP,判 断两句是否逻辑衔接)。
微调技术 微调是用小型、专用数据集将通用模型适配到具体任务。主流方法为有 监督微调(SFT,基于标注输入输出对训练),常见变体如指令微调(提升模型对用 户指令的理解)。为提升效率,参数高效微调(PEFT)技术如 LoRA(低秩适配,仅 更新少量参数)及其内存优化版本 QLoRA 被广泛采用。检索增强生成(RAG)则通 过连接外部知识源,在微调或推理阶段提升模型能力。
对齐与安全技术 对齐是确保 AI 行为符合人类价值观,使其有益且无害。主流技术 为人类反馈强化学习(RLHF),通过“奖励模型”引导 AI 学习,常用算法如 PPO (近端策略优化)。更简化的替代方案有直接偏好优化(DPO,无需奖励模型)和 Kahneman‑Tversky 优化(KTO,简化数据收集)。为安全部署,最终会设置 Guardrails(护栏),实时过滤输出、阻止有害行为。
AgentSpace
AgentSpace 是一个旨在推动“智能体驱动型企业”的平台,通过将人工智能集成到日 常工作流中,提升组织的智能化水平。其核心功能是为企业的所有数字资产(如文档、 邮件、数据库等)提供统一的搜索能力,并利用 Google Gemini 等先进 AI 模型,理解 并整合来自不同来源的信息。
该平台支持创建和部署专用的 AI“智能体”,这些智能体不仅仅是聊天机器人,还能自 主推理、规划并执行多步任务。例如,一个智能体可以自动调研主题、整理带有引用的 报告,甚至生成音频摘要。
为实现上述功能,AgentSpace 构建了企业知识图谱,映射人与文档、数据之间的关系, 使 AI 能够理解上下文,提供更相关和个性化的结果。平台还内置了无代码界面 Agent Designer,帮助用户无需深厚技术背景即可定制智能体。
Vibe Coding
Vibe Coding:创新起点 “Vibe Coding”已成为快速创新和创意探索的强大技术。这种实践利用大语言模型 (LLM)生成初稿、梳理复杂逻辑或构建快速原型,大幅降低开发初期的阻力。它对于 克服“空白页”问题尤为宝贵,让开发者能迅速将模糊概念转化为可运行的代码。Vibe Coding 在探索陌生 API 或测试新颖架构模式时尤其有效,因为它无需一开始就追求完 美实现。生成的代码常常成为创意催化剂,为开发者提供批判、重构和扩展的基础。其 核心优势在于加速软件生命周期的发现与构思阶段。然而,Vibe Coding 虽然擅长头脑 风暴,要开发健壮、可扩展、易维护的软件,仍需更结构化的方法Ջ从纯生成转向与 专业编程智能体的协作。
这一演变在行业领袖的言论中有所体现。2025 年初,Alphabet CEO Sundar Pichai 表 示,Google“有超过 30% 的新代码由我们的 Gemini 模型辅助或生成,彻底改变了开 发速度。”微软也有类似声明。这一行业趋势表明,真正的前沿不是取代开发者,而是 赋能开发者。目标是增强关系Ջ人类引领架构与创意解决方案,智能体负责测试、文 档、评审等专业、可扩展任务。
本章提出了一个基于核心理念的人机智能体团队组织框架:人类开发者作为创意主导和 架构师,智能体则是倍增器。该框架基于三大原则:
人类主导编排:开发者是团队负责人和项目架构师,始终参与流程,编排工作流、 设定目标并做最终决策。智能体虽强大,但只是协作伙伴。开发者决定调用哪个智 能体,提供必要上下文,并对所有智能体生成结果进行最终把关,确保符合项目质 量和长期愿景。
上下文至上:智能体的表现完全依赖于上下文的质量和完整性。强大的 LLM 若缺乏优质上下文也无用。因此,框架强调由人类主导的精细上下文准备,避免自动化黑 盒检索。开发者需为每个智能体精心准备“任务简报”,包括:
・ 完整代码库:提供所有相关源码,让智能体理解现有模式和逻辑。
・ 外部知识:补充文档、API 定义或设计文档。
・ 人类简报:明确目标、需求、PR 描述和风格指南。
直连模型访问:为获得最优结果,智能体需直连前沿模型(如 Gemini 2.5 PRO、 Claude Opus 4、OpenAI、DeepSeek 等)。使用弱模型或经中间平台转发会削弱性 能。框架强调人类与底层模型的纯粹对话,确保每个智能体都能发挥最大潜力。
该框架将开发生命周期的核心功能分配给一组专业智能体,由人类开发者作为中心编排 者,分派任务并整合结果。
总结
代码开发的未来已然到来Ջ它是增强型的。孤独编码者时代已让位于开发者领导专业 智能体团队的新范式。这一模式不是削弱人类角色,而是通过自动化琐事、扩展个人影 响力,实现前所未有的开发速度。 将战术执行交给智能体,开发者可将认知精力专注于战略创新、坚韧架构设计和创造性 问题解决,打造令用户满意的产品。人机关系已被重新定义,不再是对抗,而是人类智 慧与 AI 的协作,共同组成无缝一体的团队。