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(具备工具使用、反思和记忆),这足以覆盖绝大多数实际场景。

你可能也喜欢

三年之后:回看 2023 年我对 ChatGPT 的判断

2023年3月,在GPT-4发布前,作者王健硕对ChatGPT的未来做出了二十项预测。三年后的2026年,他使用AI agent对这些判断进行回顾验证,评估其准确性。 **主要看对的方面:** 1. **RAG成为主流**:预测通过外部检索而非修改模型来解决知识更新和幻觉问题,这已成为行业标准架构。 2. **LUI(自然语言界面)兴起**:预测自然语言交互将催生巨大新产业,Agent、MCP协议等发展印证了这一点,但LUI是与GUI共存而非取代。 3. **机器人网络与新寻址系统**:预测Agent将自动协作并需要新寻址方式,MCP、A2A等协议正朝此方向发展。 4. **中国能做出可用大模型**:预测中美模型差距会迅速缩小,事实如此,但真正领先的国内厂商与其当初点名不同。 5. **AI无意识与图灵测试本质**:核心判断“AI无意识,图灵测试仅测表象”基本成立,但“绝无意识”的绝对论断被后续研究置于灰区。 **看错或看偏的方面:** 1. **GPT-4参数数量**:所传“100T参数”严重错误,实际约为1.8T。 2. **LLM的数学能力**:诊断“数学差需外挂工具”正确,但“不可能自行学会”的结论被后续“推理模型”在IMO夺金证伪。 3. **价值捕获**:预测价值在应用层,但现实中算力层(如英伟达)捕获了最大利润,模型层反而亏损。 4. **版权问题**:判断“生成物可能无法登记版权”正确,但认为能“规避侵权”则错误,已出现巨额侵权赔偿案例。 5. **信息茧房与世界大同**:机制上AI会将观点向众数平均,但AI正快速走向“千人千面”的个性化,可能制造新茧房而非消解极化。 6. **大模型成本**:预测“局部战争”和玩家涌入正确,但“5-10亿美元封顶”的成本估算与前沿训练实际花费严重不符。 **总结规律:** 1. 判断**方向和机制**比具体数字、程度更可靠。 2. 倾向于**高估短期变化速度,低估长期能力上限**。 3. 容易忽略**问题内部的分布差异**(如总量正确但部分群体受损)。 4. **留有餘地、分层表述**的判断更经得起时间检验。 5. 一些根本性争论,**三年时间不足以给出最终答案**。 这次回顾表明,在快速变化的领域,把握大方向比追求精确预测更重要,同时需警惕绝对化表述并承认认知的局限性。

链捕手16分钟前

三年之后:回看 2023 年我对 ChatGPT 的判断

链捕手16分钟前

交易

现货
合约
活动图片