大家好,我是十三!欢迎来到十三Tech。
看《Agent 设计模式之美》第四讲时,我脑子里冒出来一个熟悉画面:很多年前刚学 GoF 设计模式,书里二十多个模式都很新鲜,我也愿意拿到项目里试。
后来慢慢发现,关键不是接受不接受新东西,而是要学会判断什么时候该用、什么时候先放一放。
明明一个简单分支就能解决的问题,套上策略也能跑;明明一个普通函数就够了,抽成工厂也不是不能写。只是回头看,那更像是"认识了模式",还没有真正形成选型能力。
现在学 Agent 设计模式,我又看到了同样的熟悉感。
感知、记忆、推理、行动、反思、协作、治理;链式、路由、并行、循环、编排、层级。这些新概念我愿意学,但如果只是把词背下来,真正做系统时还是会回到经验判断。
所以第四讲对我最大的提醒是:Agent 设计坐标系的价值,不是知道更多模式,而是让选型有顺序、有边界、有取舍。
这篇聊的就是这个判断。
一、只知道模式名,离会设计还差很远
我以前学设计模式时,有过一个阶段:看到一个新模式,就想找地方用。
这其实很好理解。刚学到一个新工具,总想在真实项目里验证它的价值。可工程里很多问题不是"能不能用",而是"值不值得用"。
Agent 模式也是一样。
比如一个需求来了:做一个能帮用户分析需求并生成方案的 Agent。听起来什么都能往里塞:加记忆、加反思、加并行、加协作,再加治理。
听起来很完整,对吧?
但真这么做,首版大概率会变成一个难以调试的系统。
因为每加一个模式,都不是白送的。记忆会带来污染,反思会增加延迟,并行会放大调用量,协作也会让责任归属更难。
所以模式不是装饰品。
模式更像系统里的结构性承诺。你用了它,就要承担它带来的复杂度。
这也是我现在看第四讲最认同的一点:学习 Agent 模式,不能停在"认识模式",必须进入"选择模式"。
二、坐标系先帮我们把问题放对位置
第三讲里我聊过,Agent 设计至少要分清两个维度:能力维度和执行维度。
第四讲往前推进了一步:当这些维度都出现后,怎么真正用起来?
我的理解是,设计坐标系就像一张工程选型地图。
能力维度回答"系统要会什么"。比如是否需要感知复杂输入、长期记忆、推理规划、工具行动、反思修正、角色协作和治理边界。
执行维度回答"系统怎么跑"。是链式推进,还是路由分流;是并行探索,还是循环修正;是中心编排,还是层级委派。
这两个维度合起来,才开始接近真正的设计问题。
我把课程里的模式选型卡放在这里。

这张图最有价值的地方,不是某个术语,而是它给了一个顺序:
先评估能力需求,再判断主运行形态,最后为关键能力选择模式。
这个顺序很克制。它没有鼓励我们把所有模式都堆上去,而是先问:这个任务里,哪几类能力是 Heavy 的?也就是强需求能力。
这其实很像做服务端架构选型。
不是一上来就问"要不要微服务",而是先问业务复杂度、团队规模、数据一致性、稳定性要求。微服务只是一个可能解法。
Agent 模式也一样。
三、首版 Agent 先别急着"全家桶"
这一讲里有个建议我觉得特别朴素,也特别重要:第一版不要堆太多模式。
这句话听起来没那么酷,但很工程。
我见过不少系统复杂度失控,都是从"顺手再加一个能力"开始的。最开始只是想记住用户偏好,后来又想自我检查、多角色讨论,最后还要审批。
每一步单看都合理,合在一起就不一定了。
| 首版常见想法 | 更稳的做法 |
|---|---|
| 把七类能力都安排上 | 先找 2 到 3 个关键能力 |
| 一上来多 Agent 协作 | 先验证单体链路是否稳定 |
| 先追求自我反思 | 先定义质量标准和退出条件 |
| 工具能接就都接 | 先明确权限、回滚和审计边界 |
首版克制,是为了更好地接住新能力。
克制是为了让问题可以被观察、被定位、被修正。一个只有三四个关键设计点的 Agent,也更容易知道下一步该把新能力加在哪里。
反过来,如果首版就是全家桶,出问题时很难判断:是模型不行,Prompt不行,记忆不行,还是拓扑不行。
工程里最可怕的不是系统简单,而是系统复杂到你不知道该改哪里。
所以我现在会把"先少用几个模式"看成一种设计能力,而不是能力不足。
四、GoF 到 Agent,变的不是数量,是问题空间
第四讲里还有一张 GoF 23 和 Agent 28 的对比图。

如果只看数字,很容易误解成:以前 23 个模式,现在 28 个模式,所以只是模式库扩容。
但我觉得真正的变化不在数量。
GoF 主要处理的是对象世界里的创建、结构和行为。它关心代码对象怎么协作,变化怎么隔离,职责怎么分配。
Agent 模式处理的是智能能力世界里的感知、记忆、推理、行动、反思、协作和治理。它关心能力怎么组合,上下文怎么组织,不确定性怎么被约束。
两个世界有关联,但问题空间不一样。
这也是为什么我不会简单把 Agent 模式理解成"新时代 GoF"。这个说法容易让人以为只是换了一批模式名。
更准确地讲,Agent 模式是在传统软件工程之上,多了一层智能能力设计。
过去我们说"这里用策略模式",团队大概知道你想隔离一组可替换算法。以后我们说"这里需要反思模式",也应该能让团队迅速对齐:这个环节质量不稳定,需要生成、评审、修正的反馈闭环。
模式最终要变成团队共同语言,而不是个人知识储备。
五、我会怎么用这张坐标系
如果以后真要从零设计一个 Agent,我会把第四讲这套坐标系压成四个问题。
第一个问题:任务里最关键的能力是什么?
不要把"智能体"当成一个整体词。拆开看,是感知复杂,还是记忆关键?是推理路径长,还是行动副作用大?是需要协作,还是更需要治理?
第二个问题:主运行形态是什么?
能链式就别编排,能路由就别层级,能单体跑通就别急着多 Agent。不是因为复杂结构不好,而是复杂结构要有足够理由。
第三个问题:哪些能力值得上 Heavy 模式?
不是所有能力都需要重设计。一个首版 Agent 里,真正值得认真打磨的,往往只有少数几个关键点。
第四个问题:每新增一个模式,代价是什么?
成本、延迟、调试难度、可观测性、失败恢复、权限治理,这些都要算进去。模式带来能力,也带来债务。
这四个问题问完,方案可能没那么花哨,但会更接近真实工程。
六、学模式,是为了让选型更可复盘
回到开头那个画面。
当年学 GoF,我花了很久才明白:设计模式不是为了让代码看起来更复杂,而是为了在合适的地方,用一套大家都懂的语言,解决反复出现的问题。
今天学 Agent 设计模式,我觉得也是同一个道理。
如果没有坐标系,模式越多,选择越容易靠感觉;如果有坐标系,模式就会从名词表变成选型工具。
我现在还在学习阶段,很多模式怎么落到真实项目里,还要继续拆。但第四讲至少让我把方向想清楚了:先充分理解新模式,再判断"这个问题到底落在哪个坐标上"。
一个靠谱的 Agent 系统,不是把所有聪明能力都塞进去。
真正的设计能力,是知道该让系统聪明在哪里,也知道该让它克制在哪里。
关于十三Tech
All in AI Agent方向的架构师,专注AI工程实践。
相信AI是程序员的最佳搭档,帮助每一位开发者驾驭AI。
联系方式:569893882@qq.com
GitHub:@TriTechAI