Agent 设计模式之美 · 起点

Agent 设计模式之美

一份面向工程师的 Agent 架构概念深读:把上千个真实工程问题,压缩成同一个原子循环在两根坐标轴上的取值。基于公开论文与一手工程博客,截至 2026-06;以概念与机制为主、辅以关键伪码,不含可运行项目。通读约半天。

·适合谁

三条前置能力,缺一条会读得吃力:

前置知识

  • 写过至少一个带工具调用的 LLM 应用:知道一次 LLM 调用怎么发 tools、怎么解析 tool_call、结果怎么回填下一轮。
  • 撞过 agent 的真实失败:context window 被填满、模型忘了前面说什么、多步任务跑着跑着跑偏、token 账单失控。
  • 懂一点分布式系统的常识:知道重试、超时、幂等各自在解决什么问题(本教程会反复拿它们当 agent 设计的基础词汇)。

·不适合谁

以下读者建议先去别处:

  • 还没调用过大模型 API —— 先读 各类大模型 API 与 Prompt Engineering,把"一次调用"跑通再回来。
  • 只想要一段"接入某框架的可运行代码" —— 直接看 LangGraph 官方文档 的 quickstart 更快;本教程讲的是这些框架背后的设计取舍,不是 API 调用。
  • 想要 28 个模式逐一抄作业的速查卡 —— 本教程教的是"用两根轴自己推出模式",不是模式清单的背诵版;要清单可去 Anthropic Building Effective Agents。

·读完之后你能做到什么

这套课最值钱的一句话,文档不会替你讲:所有 agent 设计模式都是同一个原子循环(gather context → 动作 → observation 回填)的约束方式;面对任意 agent 工程问题,你能把它投影到「认知功能 × 执行拓扑」这个坐标系,读出该用哪类模式、以及为什么——因为这个循环的 actor 是概率性的分布式节点,不是确定的 GoF 对象。 具体能做到:

  • 用两个诊断问题(步数能否预先列举?是否需要反思/跨任务记忆?)把一个业务需求定位到模式族,并说出对应的延迟、token、失败模式。
  • 解释为什么 GoF 那 23 个模式搬到 agent 上会失效,以及该用分布式系统的哪些机制(幂等键、Saga 补偿、重试 vs 采样、持久化重放)补位。
  • 把任意已知模式(ReAct / Plan-Execute / Reflexion / Orchestrator-Workers)放进双轴坐标系,并预测它换一个场景会怎样失效。
  • 对一个成熟 Agent 产品(如 Claude Code 类)做架构逆向:从行为反推工具集、系统提示、控制流,再拼出整体架构。
  • 判断一个需求该用 workflow(写死控制流)还是 agent(模型自主),避免"简单任务上多 agent"这类最贵的过度设计。

一句话本质

28 个 Agent 设计模式不是要背的清单,而是同一个原子循环(context → token → 动作 → observation)在两根正交轴上的取值:认知功能(这一步在做什么)× 执行拓扑(循环之间如何组合)。

而这个循环的 actor 是概率性的——它更像分布式系统里一个不可靠的节点,不是确定的 GoF 对象。所以 agent 的设计方法直接来自分布式系统(幂等、Saga、补偿、背压、重放),不是面向对象。这两句话是整门课的两条核心前提。

现状速览 · 截至 2026-06

已是定论:Anthropic 的 6 个工作流构建块(chaining/routing/parallelization/orchestrator-workers/evaluator-optimizer + augmented LLM)与 workflow/agent 二分(2024-12);CoALA 的"记忆 × 动作空间 × 决策循环"三轴(TMLR 2024);ReAct 的 thought-action-observation 循环作为 agent 内核;"先 workflow 再 agent、能单别多"的成本纪律(Anthropic + OpenAI 一致);MemGPT 把记忆做成 RAM/disk 分层。

仍在快速变化:context engineering 取代 prompt engineering 成为 agent 设计主学科(2025-09);长期记忆方案无统一标准(memory tool 仍 public beta);code-execution-with-MCP 被视为"架构重置"(2025-11,尚早期);多 agent 的 supervisor vs swarm 谁更优无定论(Anthropic 力推 vs Cognition《Don't Build Multi-Agents》公开对撞);摘要式 compaction 被实测有损(Factory.ai:跨会话留存仅 37%)而受质疑,结构化驱逐等替代方案兴起。

已被取代:把 GoF 模式直接套到 agent(当确定对象编排);"temperature=0 即可复现 LLM 输出"(2025-09 被 batch 不变性证伪);把多 agent 当默认更优解(实测简单任务单 agent 更省更准);靠超大 context window 代替记忆(被 context rot 证据推翻)。

先打一支预防针 · 流畅感 ≠ 学会

这门课有大量"原来如此"的瞬间,而顺畅恰恰最危险。读的时候盯住三句自我话术:

「我读得很顺」—— 顺,往往只是面熟,不是学会。
「我做题很快」—— 快,往往是题型眼熟,不是真的辨析清楚。
「我没卡壳」—— 没卡,往往是没真正碰到那条会改变你判断的边界。

每章末尾的自测题、`想一想` 折叠块、以及第 10 章的辨析场景,都是用来戳破这三种假象的。先合上教程作答,再展开对照。

·概念地图

整门课挂在一个中心和两根轴上。中心是那个所有模式共享的原子循环;纵轴问"这一步循环在做什么"(认知功能),横轴问"循环之间如何连接"(执行拓扑);范式觉醒是地基(定义这两根轴),治理是横切约束,组合是最后的集成收口。九个模块都能在这张图上找到自己的位置。

地基·定义两轴 纵轴 横轴 横切约束 集成收口 双轴框架 · 原子循环 context→token→动作→observation 01 范式觉醒 GoF 失效·分布式补位·逆向法 认知功能轴 感知·记忆·推理·行动·反思 一步在做什么 执行拓扑轴 单循环·规划执行·编排·多Agent 循环如何组合(协作) 08 治理 护栏·审批·爆炸半径·可观测 09 组合 模式选型·搭你的 Harness
图 0九个模块都挂在"一个中心 + 两根轴"上。注意:纵轴(认知功能)和横轴(执行拓扑)是正交的——同一套认知循环可以塞进任意拓扑,所以"这一步做什么"和"循环怎么连"是两个能独立拨动的旋钮,这正是全课的钥匙。

·怎么读:三条路径

按目的选一条,不必从头到尾匀速读:

  • 只想建立心智模型(推荐) —— 01 范式觉醒吃透两根轴,再顺着 02→09 把每个认知功能/拓扑挂上去,10 自测验收。约半天。
  • 正在做 agent 架构选型 —— 精读 01 的 §1.3(用坐标系反推选型)拿到判据,直奔你当前卡住的那个模块(记忆?协作?治理?),回头补 01 的双轴定义。
  • 要看懂 / 评审别人的 agent 代码 —— 先读 01 §1.4 逆向五步法当你的拆解清单,再用 02–08 各模块的"备选方案表"逐项核对对方的设计取舍。

·目录

·学完之后

这门课建立的是"agent 设计"的骨架,以下方向各自把一个模块做深:

  • 记忆 / RAG 深读 —— 把第 03 章的记忆与检索单独做透(写入治理、检索排序、遗忘策略)。
  • 推理模式深读 —— ReAct / CoT / ToT / 推理模型的取舍与边界,对应第 04 章。
  • 多 Agent 协作 —— supervisor / swarm / handoff 的工程实现与实测对比,对应第 07 章。
  • 可观测性与评估 —— 把第 08 章治理落到 tracing、eval、回归,是投产前的必修。
  • 上下文工程 —— compaction、context editing、token 预算,是贯穿全课的横切技能。