设计坐标系|别把 Agent 模式学成名词表

大家好,我是十三!欢迎来到十三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

相关推荐
Qinana1 小时前
一文讲透:Harness Engineering的来龙去脉
ai编程
doiito1 小时前
我选了 Oxigraph 做 AI 的大脑,然后整个系统开挂了
agent
隐层漫游者1 小时前
深度解析LangGraph:从入门到动态工作流,彻底搞懂它与LangChain的爱恨情仇(含节点/边/状态管理/条件路由核心源码)
agent
tabzzz1 小时前
我眼中的 ReAct:从推理到行动的 Agent 循环
agent
Sunia1 小时前
《AgentX 专栏》09-MCP协议双向打通:让AgentX既能被Claude调用又能调度全球工具生态
java·架构
喵了几个咪1 小时前
基于 Flutter 的 Headless CMS 全平台前端架构:技术解析与二次开发导引
前端·flutter·架构
三水不滴1 小时前
读懂 Harness,掌握智能体工程化的核心骨架
ai编程
莫逸风1 小时前
【AgentScope】4.会话(Session)详解
java·llm·agent·agentscope