Agentic Design Patterns:一本让我重新理解"Agent 到底是什么"的书

链捕手發佈於 2026-05-25更新於 2026-05-25

文章摘要

《Agentic Design Patterns》一书由Google工程总监Antonio Gullí撰写,系统性地将AI Agent开发拆解为21种设计模式。文章作者阅读后,对Agent的本质有了更深刻的理解。 书中将Agent划分为四个等级:Level 0仅为裸LLM,不具备行动能力,并非真正的Agent;Level 1能自主调用工具完成任务;Level 2具备战略规划与上下文工程能力,能对信息进行裁剪和降噪,并进行自我反思;Level 3则是多智能体协作,像团队一样分工合作。 文章重点阐述了几个核心概念: 1. **上下文工程**:超越提示词工程,系统地为Agent构建包括系统指令、外部数据、隐式信息和反馈回路在内的四层上下文环境,以提升其准确性和效率。 2. **反思模式**:采用“生产者-批评者”双智能体模式,让一个智能体负责创作,另一个负责审查和提出修改意见,通过迭代循环显著提升输出质量,但需设置合理的迭代次数以控制成本。 3. **多智能体协作**:并非越复杂越好,应根据任务复杂度选择合适的通信拓扑结构(如独立执行、对等网络、中心调度等)。通常,一个达到Level 2的单智能体加上反思机制已能应对大多数场景。 4. **记忆三层模型**:分为会话层(临时对话上下文)、状态层(任务进行中的临时数据)和持久层(跨会话的长期记忆),需要设计相应的存储与检索策略。 书末还提出了对未来Agent发展的五个假设,其中最颠覆的是“变形多智能体”:系统能根据最终目标自动创建、调整、重组智能体团队,实现完全自主的任务规划与执行。 作者建议读者可立即实践三点:为现有智能体增加一个“批评者”角色以进行审查;开始实践系统的上下文工程而非仅关注提示词;优先将单智能体能力提升至Level 2,而非盲目追求多智能体系统。 这本书的价值在于,它将许多开发者在实践中摸索的经验系统化、模式化,为AI Agent开发提供了一份清晰的“地图”。

作者:Yanhua

Antonio Gullí 是 Google 的工程总监。他写了本 453 页的书,把 AI Agent 开发拆成了 21 种设计模式。

但这不是一篇书评。我读这本书的动机很具体:我写过 Harness Engineering,写过 Clawdbot 的踩坑经验,写过“AI 智能体不是魔法”那篇从烧 Token 到真正好用的七个转折,每次写完之后都有一个没完全想透的问题:这些东西背后有没有一套可以复用的底层逻辑?

这本书给了我答案,而且比我想的更深。

你写的可能根本不是 Agent

书里最狠的判断藏在 prologue 里。

大多数人在用的“AI”,只是 Level 0:裸 LLM,没有工具、没有记忆、不会行动。你问它 2025 年奥斯卡最佳影片是哪部,它猜。书里说得很直白:Level 0 的东西,不是 Agent

往上走才是真 Agent:

  • Level 1:工具使用者

    Agent 开始用工具了:搜索、API、数据库。但它不光是“能调接口”,更要自己判断什么时候该调、调什么、结果怎么用。书里给了一个很具体的例子:用户问“最近有什么新剧”,Agent 自己意识到这条信息不在训练数据里,主动调搜索工具去找,然后合成结果。关键一步在“自己意识到”。不是人类告诉它“你去搜一下”,是它自己判断需要搜。这个判断能力,是 Level 1 的门槛。

  • Level 2:战略思考者

    多了两样东西:规划和 Context Engineering。书里定义了 Context Engineering:不做信息堆砌,做的是精心筛选、裁剪、打包上下文。例子很妙:用户要在两个地点中间找咖啡店。Agent 先调地图工具拿到一堆数据,然后自己判断“下一步只需要街道名称”,把地图输出裁剪成一个短列表,再喂给本地搜索工具。每一步都在做信息降噪。

    书里有一句话我反复看了几遍:“要让 AI 达到最高准确率,必须给它短小、聚焦、有力的上下文。” Context Engineering 就是干这件事的。

    到了这个级别,Agent 还能自我反思。干完活后自己审一遍,发现问题自己改。我后面会细讲。

  • Level 3:多 Agent 协作

    书的立场很明确:别老想着造一个全能 super agent。真正靠谱的做法是像搭团队一样,项目经理 Agent + 研究员 Agent + 设计师 Agent + 文案 Agent。书里举的例子是新产品发布:一个“项目经理 Agent”做总调度,下发任务给“市场研究 Agent”、“产品设计 Agent”、“营销 Agent”。关键是通信:Agent 之间怎么传数据、怎么同步状态、怎么处理冲突。这章画了六种通信拓扑结构,从最简单的单 Agent 到最灵活的自定义混合,每种适合什么场景都有说明。

看完这四个等级,我突然明白为什么很多人说“我的 Agent 不好用”。模型没问题,问题是你在把它当聊天机器人用,它可能连 Level 1 都没到。

Context Engineering:书里最被低估的概念

我写过一篇 Harness Engineering,讲的是赛道的设计比引擎的马力更重要。看完这本书我发现,Context Engineering 就是 Harness Engineering 在 prompt 层面的映射。

传统的 Prompt Engineering 只管“你怎么问”。书里的 Context Engineering 管的是“问之前,Agent 的眼前摆着什么”。它包括四层信息:

  1. 第一层,system prompt。定义 Agent 是谁、什么语气、什么边界。大多数人只写了这一层。

  2. 第二层,外部数据。RAG 检索到的文档、工具调用的返回值、实时 API 数据。这是大部分人卡住的地方:知道要喂数据,但不知道怎么喂才不会把模型淹没。

  3. 第三层,隐式数据。用户身份、交互历史、环境状态。你没明说但 Agent 应该知道的东西。比如你跟 Agent 说“帮我给 John 发邮件确认明天的会议”,它应该知道你日历里明天的会议是什么、你和 John 是什么关系。

  4. 第四层,反馈回路。Agent 每次输出之后,自动评估质量、调整下次的上下文策略。书里把这叫“自动化的 context 优化”,Google 的 Vertex AI Prompt Optimizer 就是这个思路的工程化实现。

我读到这里的时候想起之前写那篇“AI 智能体不是魔法”,里面有一条经验是“你的智能体需要规则,而且是很多规则”。现在回头看,那些规则本质上就是 Context Engineering 的手工版,书里把它系统化了。

Reflection:两个 Agent 真的比一个好

这是全书对我最有实战价值的一个 Pattern。

Reflection 的核心很简单:Agent 干完活后自己审一遍,发现问题自己改。但实现方式有讲究。书里明确说了:Producer 和 Critic 必须用两个不同的 Agent,给不同的 system prompt。 同一个 persona 审自己的东西,一定有盲区。你让同一个 LLM 先写代码再审查自己写的代码,它大概率会说“挺好的”。

书里给了一个完整的代码示例。

  • Producer 的 prompt 是“你是一个 Python 开发者,写一个计算阶乘的函数,处理边界条件和异常”。

  • Critic 的 prompt 是“你是一个吹毛求疵的高级工程师,逐行审查代码,检查 Bug、风格、遗漏的边界条件、可改进的地方。如果完美就输出 CODE_IS_PERFECT,否则列出所有问题”。

  • 然后是一个 for 循环:Producer 写代码 → Critic 审 → Producer 根据意见改 → Critic 再审 → 直到 Critic 说 CODE_IS_PERFECT 或者达到最大迭代次数。

就这么简单。但书里提醒了一个容易被忽略的成本问题:每次反射循环都是一次新的 LLM 调用,迭代次数越多越贵。而且随着对话历史膨胀,上下文窗口被前期版本和批评意见占满,实际可用的推理空间在缩小。所以 Reflection 的最佳实践是:设一个合理的最大迭代次数(书里用的是 3),一旦 Critic 满意就停,不要追求完美

用途远不止写代码。写文章、做计划、总结文档、解决逻辑题,Producer-Critic 模型全都能套。书里列了七种应用场景,核心逻辑一样:先产出,后审查,再修正。

Multi-Agent 不是越复杂越好

Multi-Agent Collaboration 这章我最喜欢的是那六种通信拓扑图。很多人一上来就搞复杂的,但其实大部分场景三种就够了:

  1. 单 Agent(独立执行):任务能拆成互不依赖的子问题,每个 Agent 自己搞定自己的。简单,好维护。

  2. 对等网络(Peer-to-Peer):Agent 之间直接通信,没有中心控制节点。去中心化,容错性好,一个 Agent 挂了不影响全局。但协调成本高,容易乱。

  3. Supervisor(中心调度):一个 Supervisor Agent 管一群 Worker Agent。分配任务、收集结果、解决冲突。层级清晰,好管理。但 Supervisor 是单点故障,也是性能瓶颈。

另外三种(Supervisor-as-Tool、层级式、自定义混合)是前三者的变体和组合。书里说得很实在:你需要的拓扑结构取决于你的任务复杂度。 任务越拆越碎,通信成本越高,到一定程度 Supervisor 模式反而比层级式更有效率。

我的体会是,很多人搭 Multi-Agent 的时候花了 80% 的时间在通信协议上,忘了问一个更基本的问题:这个任务真的需要多个 Agent 吗? 书里写得很清楚,Level 2 的单 Agent + Reflection 往往已经够用了。Level 3 是给那些单 Agent 确实搞不定的场景准备的。

Memory 三层模型,我之前隐约感觉到了但没命名

Memory 这章我最有共鸣,因为我写 Obsidian + Claude 那两篇文章的时候,一直在琢磨一个问题:Agent 的记忆该怎么分层?

书里给了答案:

  1. Session(会话层):当前对话的上下文窗口,这是最短的记忆,对话结束就没了。长上下文模型只是把这个窗口放大了,但本质上还是临时的,而且每次推理都要处理整个窗口,又贵又慢。

  2. State(状态层):当前任务进行中的临时数据。比如“正在做的任务是什么”,“已经完成到哪一步”“中间产生了哪些数据”。比 Session 长,但任务结束就清理,书里用 Google ADK 的 State 机制做了完整示例。

  3. Memory(持久层):跨会话、跨任务的长期记忆。用户偏好、学到的经验、重要的历史决策,存数据库或向量库里,语义检索。书里强调了一个很重要的点:Memory 不只是存下来,还要设计“存什么、什么时候存、怎么检索”的一整套策略。存太多了噪声大,存少了不够用。

我之前写 Clawdbot 那篇文章里提到“状态文件”和“工作区文档”,本质上就是在手搓 State 层和 Memory 层,书里把这件事框架化了。

五种假设,第五个最离谱

书末提了五个关于 Agent 未来的假设,前四个还在合理推演范围内:通用型 Agent 从写代码到管项目、深度个性化主动发现你的需求、具身智能走出屏幕进物理世界、Agent 成为独立经济实体。

第五个把我震住了:变形 Multi-Agent

你只声明目标,比如“做一个卖精品咖啡的电商生意”。系统自动决定:先创建“市场研究 Agent”和“品牌 Agent”。跑了一轮数据后,自己判断品牌 Agent 不需要了,拆成三个新的:“Logo 设计 Agent”、“建站 Agent”、“供应链 Agent”。如果建站 Agent 成了瓶颈,系统会自动复制出三个并行 Agent 同时干不同的页面。整个过程中,系统持续自动调优每个 Agent 的 prompt,不断重组团队架构。

书里管这叫“目标驱动的、自我变形的多 Agent 系统”。它不是在执行你写的计划,是在自己生成计划、自己调整计划、自己重组执行团队。

这让我想起 Karpathy 的 AutoResearch:写一个 program.md,定义目标、指标、边界,按“启动”。人类在循环外面。但这本书推得更远:连 Agent 团队怎么组建、怎么重组,都交给系统自己决定。人类只声明“要什么”。

三件可以马上做的事

读完这本书,我有三个立刻可以落地的动作:

  • 第一,给你现在的 Agent 加一个 Critic。 不管你是用 Claude Code、CrewAI 还是自己搭的框架,在你现有的 workflow 末尾加一步:让另一个 Agent(用不同的 system prompt)审查上一步的输出。代码生成加代码审查,文章撰写加事实核查,计划制定加可行性评审。多一次 LLM 调用,但质量提升往往翻倍。书里的 Producer-Critic 模式是即插即用的。

  • 第二,开始做 Context Engineering,不只是 Prompt Engineering。 回头看你写给 Agent 的指令文件。如果全是“你要怎么做”的规则,缺少“你现在面对什么环境”的上下文,补上。告诉 Agent 它现在在哪个项目里、之前做过什么决定、用户偏好是什么。书里的 Context Engineering 那章和你的 AGENTS.md 是同一件事的两个表述。

  • 第三,先别急着上 Multi-Agent。 把你的单 Agent 做到 Level 2:有工具、有 Reflection、有 Memory。书里反复强调,Level 2 的单 Agent 加上 Producer-Critic 和 Context Engineering,能覆盖绝大多数实际场景。Level 3 是给真正跨领域、多阶段、需要并行分工的任务准备的。大多数人的问题不是 Agent 不够多,是一个 Agent 都没调好。

这本书 453 页,Springer 2025 年出版。代码示例覆盖 LangChain/LangGraph、Google ADK、CrewAI、OpenAI API。前言是 Google Cloud AI VP 写的,还有个 Goldman Sachs CIO 的推荐序,意外地好看。

但我推荐它的理由不是“全面”。是你读完会意识到一件事:你过去半年在 Agent 上踩的坑,都有人整理成模式了。你不需要再去发明 Reflection,不需要再去猜 Memory 该怎么分层,不需要再去试 Multi-Agent 该用哪种通信拓扑。

有人替你画了地图,剩下的就是走。

你在用 AI Agent 做开发吗?你现在的 Agent 到了 Level 几?

相關問答

Q文章中提到AI Agent有哪几个等级?分别是什么?

A文章中将AI Agent分为四个等级:Level 0:裸LLM,没有工具、没有记忆、不会行动,严格来说不是Agent。Level 1:工具使用者,能自行判断何时调用工具并处理结果。Level 2:战略思考者,具备规划能力和Context Engineering(精心筛选、裁剪、打包上下文),并能自我反思。Level 3:多Agent协作,像团队一样分工合作。

Q什么是Context Engineering?它与传统的Prompt Engineering有何不同?

AContext Engineering是书中提出的概念,指的是精心筛选、裁剪、打包Agent执行任务时所面对的上下文信息,以确保上下文短小、聚焦、有力。它包含四层信息:system prompt、外部数据、隐式数据和反馈回路。它与Prompt Engineering的不同在于:Prompt Engineering主要关注“怎么问”,而Context Engineering关注的是“问之前,Agent的眼前摆着什么”,即任务的环境和背景信息,范围更广,更具战略性。

Q书中提到的Reflection(反射)模式是如何运作的?其最佳实践是什么?

AReflection模式运作方式是:一个Producer Agent完成任务(如写代码),然后另一个具有不同system prompt的Critic Agent进行审查并提供反馈,Producer再根据反馈修改,如此循环,直到Critic满意或达到最大迭代次数。其核心在于Producer和Critic必须是两个不同的Agent,以克服自我审查的盲区。最佳实践包括:设定合理的最大迭代次数(书中建议为3),一旦Critic满意就停止,不要追求完美,以控制成本和避免上下文窗口膨胀。

Q文章作者在“多Agent协作”方面,推荐了哪三种基础的通信拓扑结构?

A作者推荐了三种基础通信拓扑结构:1. 单Agent(独立执行):任务可拆分为互不依赖的子问题,每个Agent独立工作。2. 对等网络:Agent之间直接通信,没有中心节点,去中心化但协调成本高。3. Supervisor(中心调度):一个中心调度的Supervisor Agent管理一群Worker Agent,层级清晰但存在单点故障风险。更复杂的拓扑是这三种的变体和组合,应根据任务复杂度选择。

Q作者读完这本书后,提出了哪三件可以立刻落地执行的建议?

A作者提出了三件可以立刻落地执行的建议:第一,给现有的Agent工作流增加一个Critic(审查者),用不同的system prompt对输出进行审查,以提升质量。第二,开始做Context Engineering,不只是Prompt Engineering,为Agent补充关于环境、项目历史和用户偏好的上下文信息。第三,不要急于构建多Agent系统,先把单Agent的能力提升到Level 2(具备工具使用、反思和记忆),这足以覆盖绝大多数实际场景。

你可能也喜歡

我们抓取了上千条招聘信息,发现字节要重启手机研发了

2025年12月,字节跳动推出的“豆包手机”作为AI Agent技术预览版,首次让AI能“看见”屏幕、操作手机App,独立完成查车票、购物等任务,成为AI Agent热潮的先驱。但随后因微信、淘宝等主流App的访问限制,其发展遇阻。 近期,字节跳动官方社招页面释放出大量与手机研发相关的岗位信息,分析显示其可能正在重启手机级终端研发。招聘岗位主要涉及三个方向: 1. **豆包手机助手**:岗位聚焦于提升AI的Agent能力(任务拆解、工具调用等)、构建长期记忆系统,并确保其在手机端能稳定执行任务。 2. **移动操作系统(OS)**:大量岗位涉及内核、芯片适配、驱动、功耗、热管理等手机底层系统开发,表明字节正深入解决AI Agent在手机端实时响应与系统稳定的核心难题。 3. **硬件与量产**:坐标深圳的岗位涵盖人机交互设计、整机工艺、结构、测试等,指向硬件研发和量产准备,这远超单纯开发App的范畴。 文章分析认为,在AI时代,手机可能从“App的容器”转变为“Agent的身体”。AI Agent若想直接为用户操作服务,就必须跨越App的中间层,这会触及现有超级App的核心利益,面临权限与风控挑战。因此,字节跳动招聘这些软硬件结合的岗位,意味着它不再满足于只做手机里的应用,而是必须深入终端底层,以确保其AI Agent能成为下一代用户入口。此举不一定意味着一定会推出自有品牌手机,但标志着字节正为AI Agent落地实体终端进行实质性布局。

marsbit4 分鐘前

我们抓取了上千条招聘信息,发现字节要重启手机研发了

marsbit4 分鐘前

AI 冲击下的 SaaS 软件股:拆解 Salesforce、ServiceNow、Snowflake 的抄底逻辑

本文深入分析了在AI浪潮冲击下,美股SaaS(软件即服务)板块遭遇的剧烈抛售,并聚焦三家代表性公司——Salesforce、ServiceNow和Snowflake——探讨其“抄底”逻辑。 **核心观点:AI并非杀死所有软件,而是重塑价值分配。** 市场过度简化了“AI颠覆软件”的叙事。实际上,AI正在淘汰那些仅提供功能界面的软件公司,但同时奖励那些提供数据基础设施、工作流治理和AI编排平台的企业。 **市场背景:** 所谓“SaaS末日”导致板块普跌,情绪极度悲观。与拥挤的半导体板块相比,软件板块持仓处于历史低位,呈现极端情绪撕裂,可能孕育反弹机会。 **三家公司拆解:** 1. **Salesforce:安全边际之选。** 作为CRM龙头,拥有深厚的客户数据护城河。其估值处于历史低位(前瞻市盈率13-14倍),现金流强劲,回购力度大。虽面临“席位压缩”挑战,但其推出的“Agentforce”正尝试从“按人头收费”转向“按任务量收费”,以平滑过渡至AI时代。 2. **ServiceNow:清晰的AI叙事。** 其战略是成为“AI控制塔”,即企业级AI Agent的治理、编排和执行层,而非亲自下场做AI模型。这一“企业AI操作系统”的定位获得了英伟达CEO黄仁勋的背书。公司增长稳健,AI相关合同价值目标持续上调。 3. **Snowflake:高弹性高风险。** 作为数据平台,其按使用量付费的模式天然受益于AI工作负载增长,且不受传统SaaS“席位压缩”困扰。它是三家中增长最快的,但也是唯一尚未实现GAAP盈利、面临激烈竞争(如Databricks)且估值较高的公司。 **总结:** 投资者可根据自身偏好选择:追求安全边际看Salesforce,认可AI治理平台逻辑看ServiceNow,追求高增长弹性并能承受高波动则考虑Snowflake。当前软件板块的普跌可能错杀了一批有能力转型为AI时代基础设施的优质公司,提供了潜在的布局机会。

marsbit25 分鐘前

AI 冲击下的 SaaS 软件股:拆解 Salesforce、ServiceNow、Snowflake 的抄底逻辑

marsbit25 分鐘前

Vitalik 谈以太坊基金会的未来:一艘更小、更鲜明、却更长久的船

以太坊联合创始人Vitalik Buterin近日分享了个人对以太坊基金会(EF)未来方向的看法。他强调,EF不应成为“以太坊的中心”,而应是生态中一个职责明确的节点。随着EF完成其最初的设计使命,其未来将更加聚焦于长远发展,即专注于推动对以太坊作为抗审查、抗捕获、开放、隐私和安全的系统至关重要的核心工作,而非盲目扩张。 Vitalik指出,EF的资源有限,仅持有约0.16%的ETH,远低于其他区块链项目。因此,EF需要做出艰难抉择,更加鲜明地立足其核心使命,即CROPS价值观(抗审查、韧性、开放、隐私、安全)。这意味着EF的文化将更具立场,并将部分此前由其承担的工作和人才剥离出去,交由外部资本和生态力量推动。 在他看来,以太坊的未来不应仅仅追求高TPS,而应在CROPS维度上做到“令人惊叹”。具体目标包括:利用AI形式化验证实现“可证明无Bug的以太坊”;维持兼具高容错异步安全性和抵御同步网络攻击的高可用共识;以及通过FOCIL、EIP-8141等技术推进“中介最小化”,增强用户隐私和自主权。这些目标与提升可扩展性并不冲突,并将巩固ETH作为核心资产的价值。 Vitalik总结道,未来的EF将是一艘更小、立场更鲜明、但旨在航行更久的船,致力于确保以太坊为世界带来真正的积极意义。他感谢所有为此努力的内外部贡献者。

链捕手51 分鐘前

Vitalik 谈以太坊基金会的未来:一艘更小、更鲜明、却更长久的船

链捕手51 分鐘前

交易

現貨
合約
活动图片