writing
为什么是三层智能体,而不是一个大 agent
一个能干所有事的大模型听起来很美,但我选了把它拆成三层。原因不在能力,而在记忆、职责和可控性。
很多人第一次接触 AI 编程,第一反应是:搞一个全能的大 agent,让它什么都干。
这个想法很自然,也很诱人。一个足够聪明的模型,配上足够多的工具,理论上确实能搞定从写代码到做调研再到发消息的全流程。我一开始也这么想。但真正搭起来跑一段时间之后,我把它拆成了三层:一层定战略,一层做指挥,一层去执行。
不是因为我喜欢复杂,而是因为「一个大 agent」这个方向,在三个根本问题上会塌。
第一个问题:记忆会被搅乱
agent 的能力,很大程度来自它的记忆——它记得发生过什么、记得你上次怎么定的方向、记得这个业务的边界在哪。
但记忆是会互相污染的。如果同一个 agent 既要管品牌策略、又要管徒步产品的内容、还要管技术调试,这几摊完全不同的上下文会塞进同一个记忆里。结果就是:它讲品牌的时候突然冒出一段技术细节,做内容的时候带着策略会议的口吻。不是它不聪明,是它的脑子被搅成了一锅粥。
把不同的职责拆给不同的智能体,每个智能体有自己独立的记忆,这件事就不会发生。做品牌的只记品牌,做执行的只记执行。隔离,是为了让每一段记忆都保持纯净。
第二个问题:职责会糊在一起
一个全能 agent 还有个隐患:你很难说清它某一次出错,到底是哪个环节出的。
是没理解你的意图?是策略方向跑偏了?是执行的时候手滑?全混在一起,复盘都没法复盘。更麻烦的是权限——一个什么都干的 agent,意味着它什么都能碰,你想在某一层加个刹车都找不到地方。
拆成三层之后,职责是清楚的:
- 战略层只管「做什么、不做什么」,定方向、定优先级、做最终验收。它不碰具体执行。
- 指挥层接到战略,自己规划怎么拆、派给谁、按什么顺序,并对执行结果做一级验收。它不亲自下场干活。
- 执行层只专注自己那一个领域,把分到手里的事做好,遇到问题往上报。
每一层有每一层的边界。越级是大忌——执行层不该自作主张改战略,战略层也不该越级去指挥具体执行。这样一旦出问题,你能立刻定位是哪一层的判断失误,而不是面对一团乱麻。
第三个问题:一个脑子扛不住所有事
还有个很现实的问题:上下文窗口是有限的。
哪怕模型再强,当你把一个项目的所有背景、所有历史决策、所有执行细节全塞进一个 agent 的一次对话里,它也会开始丢东西、开始抓不住重点。不是模型不行,是没人能在同一时刻同时盯住所有层级的所有细节。
分层,本质上也是一种注意力分配。战略层只关心最关键的少数判断,不必被执行细节淹没;执行层只盯着眼前这一件事,不必背着整个战略包袱。每一层都只加载它这一层需要的上下文,负担轻,判断也更准。
那为什么不直接用两个层
有人会问:战略和执行两层不就够了吗,为什么中间还要夹一个指挥层?
因为战略和执行之间,有一道很宽的鸿沟。战略层说的是「把这个产品做成品牌」,这是一句方向。但落到执行,需要的是「今天先把这个文案写好、明天把那组图调出来」这样具体的、有顺序的小任务。
如果战略层直接指挥执行,它就得自己去把大方向切成小任务——但这正是它最不擅长、也最消耗它注意力的事。指挥层存在的意义,就是做这个翻译和切分:把一个战略意图,拆成执行层能一口一口吃下去的子任务,排好顺序,盯着推进。
战略层管「对不对」,指挥层管「怎么走」,执行层管「做得好不好」。三层各司其职,链路才跑得通。
一句话
不是一个大 agent 不够聪明,而是它把记忆、职责、注意力全压在一起,迟早会在某一点上塌掉。拆成三层,不是为了炫技,是为了让每一段记忆纯净、每一份职责清楚、每一层的注意力都聚焦在自己该看的地方。
架构的复杂度不是为了复杂本身,是为了让系统在长大之后还能被人看懂、还能被修好。