很多人以为,多 Agent 就是多开几个 bot。
起初看起来也确实如此:一个负责查资料,一个负责写东西,一个负责执行任务,再加一个总控,系统一下子就热闹起来了。可只要真的跑上一段时间,你很快就会发现,节点变多,不代表协作变强。很多时候,它只是把原本单点的混乱,复制成了分布式混乱。
今天这个 Agent 还在整理情报,下一秒就被拉去写文章;刚写完文章,又得去做路由判断;判断完还要继续执行细节、处理异常、回报结果。任务一多,整个系统就会开始发飘:谁都在干活,但边界不清;链路一直在跑,但结果很难沉淀。
所以我后来越来越确定一件事:
多 Agent 真正的重点,从来不是数量,而是分工。
如果只是多起几个 bot,最后大概率只会得到一个更复杂的单 Agent。真正有价值的,是把它们组织成一套有边界、有路由、能长期运转的工作流。
这篇文章想讲的,就是这件事:怎么把 OpenClaw 从“一个会聊天的 Agent”,慢慢搭成一个能持续协作的小系统。
为什么单 Agent 迟早会不够用
很多人会走向多 Agent,不是因为原来的那个 Agent 不够聪明,而是因为它背的职责越来越多。
刚开始,你可能只让它做一件事,比如整理资料。过几天,你会忍不住继续加需求:顺手写摘要、筛掉低质量内容、生成标题、发到频道、记录结果。再往后,你甚至还想让它决定什么值得跟进,什么适合写文章,什么应该进入待办。
这些事单看都不大,但混在一个 Agent 身上,问题就会慢慢显出来。
第一,上下文会越来越脏。它刚看完一堆资讯,下一轮就得切去写博客;刚写完博客,又要回头处理工程问题。角色频繁切换,语境不断变化,输出自然很难一直稳定。
第二,判断和执行会缠在一起。判断“这条信息值不值得跟”,和真正去把一件事做完,本来就是两种不同工作。前者更像编辑和分析,后者更像工程和交付。如果让一个 Agent 同时背这两种职责,它很容易在该保守的时候冲太快,在该快的时候又反而犹豫。
第三,你以为自己在自动化,实际上可能只是把混乱放大了。任务确实在流转,但边界、责任和沉淀都没有建立起来。系统看起来很忙,结果却不一定更稳。
所以,当你开始觉得一个 Agent “什么都能做,但越来越难管”的时候,通常就该考虑拆角色了。
多 Agent 不是越多越好,而是先把职责拆开
我现在更偏爱一种很朴素的结构:总控、输入、判断、执行,四层分开。
名字不重要,节点放在哪也不是最关键的。真正关键的是,每一层都知道自己负责什么,也知道自己不该做什么。
你可以把它理解成一个很轻量的小团队:
- 一个负责接需求、收结果、定节奏
- 一个负责把原始信息搬回来
- 一个负责筛选、判断和分流
- 一个负责把明确的任务真正做完
只要这几种职责拆清楚,多 Agent 才有机会从“热闹”变成“可持续”。
总控层:负责编排,不负责包打天下
总控 Agent 最重要的职责,不是产出,而是调度。
它应该负责这些事:
- 接住人的需求
- 判断问题该流向哪一层
- 把阶段性结果串起来
- 控制优先级和执行顺序
- 对外输出最后的可用结果
它最不该做的,是长期亲自下场承担大量细节工作。
因为总控一旦又采集、又判断、又执行,很快就会重新退化成那个“什么都做的单 Agent”。表面上是中心,实际上变成瓶颈。
一个健康的总控,更像项目负责人:它知道全局,但不会把所有活都揽到自己身上。
输入层:负责把原料搬回来
很多人做工作流,一上来就想让 Agent 直接给结论。但真正长期有用的系统,往往不是先强在结论,而是先强在输入。
输入层的价值其实很朴素:
- 盯住固定信息源
- 收集候选内容
- 做基础清洗
- 保留原始出处
- 按统一结构交给下一层
它像一个资料员,负责把东西摆上桌。
这个角色最重要的优点,不是聪明,而是稳定。你不需要它替你做太多判断,更不希望它边采集边自作主张地删掉未来可能有用的线索。
所以输入层的设计原则很简单:宁可克制一点,也不要过度发挥。
判断层:负责筛选,不急着动手
如果说输入层解决的是“有什么”,那判断层解决的就是“什么值得做”。
这是多 Agent 工作流里最容易被低估的一层,但它往往决定了整个系统是不是有复利。
判断层适合做的事,包括:
- 判断哪些信息值得跟
- 给候选项做优先级排序
- 区分短讯、长文、工程动作和暂存线索
- 决定哪些任务该继续分发,哪些到这里就该停止
这层的价值,不在于它写得多漂亮,而在于它能帮整个系统降噪。
没有判断层,系统就很容易走向两个极端:要么什么都收,越堆越杂;要么谁都能拍板,最后标准混乱。
把判断单独拎出来,本质上是在给工作流加一个“编辑台”。这一步做得好,后面的执行层会轻松很多。
执行层:负责把事情做完
执行层最重要的能力,不是自由发挥,而是把明确的问题做成明确的结果。
适合交给执行层的任务,通常具备几个特征:
- 目标清楚
- 输入完整
- 验证方式明确
- 输出可交付
比如写成稿、整理结构、生成固定格式内容、做工程改动、补齐验证步骤,这类任务都适合放在执行层。
执行层最怕的,其实就两件事。
一个是目标模糊。如果你只给它一句“你看着办”,它就很容易一边猜需求,一边乱扩边界。执行 Agent 不是不能思考,而是最好别同时承担“定义问题”和“解决问题”。
另一个是权限过宽。执行层如果什么都能看、什么都能调、什么都能决定,它迟早会开始越界。这不是模型“坏”,而是结构上没有拦住它。
所以一个稳的执行 Agent,不是最像全能选手的那个,而是那个能在边界内把事做漂亮的人。
一套能长期跑的系统,链路必须清楚
多 Agent 搭起来之后,第二个大坑往往不是角色,而是链路。
很多人一开始会本能地追求“全互通”:A 能直接找 B,B 能直接调 C,C 也能反过来叫 A。看起来非常灵活,像搭出了一张自由流动的网络。
但这种结构的问题在于:一旦任务稍微复杂,系统就会很难追。
你会开始遇到这些问题:
- 这条消息是谁发起的?
- 结果为什么回到了两个地方?
- 同一件事为什么被执行了两次?
- 哪一层该记住历史,哪一层应该是短记忆?
- 出问题之后,应该先查哪一跳?
所以我更推荐的做法是:把多 Agent 协作尽量做成清晰的会话流转,而不是一团谁都能随时插手的网。
说得直白一点,链路要像路由,不要像吵架群。
为什么不是所有节点都需要互相直连
这是很多人设计协作系统时最容易踩的坑。
总觉得每个节点都能直连更高级,实际上,过度直连通常意味着过度耦合。
一个更稳的思路是:
- 让少数核心节点拥有分发权
- 让大多数节点只处理本层问题
- 必要时通过桥接或中转传递任务
- 不强求每个节点都知道全局
这样做的好处很直接。
第一,更容易排查。你知道消息从哪里来,应该到哪里去,在哪一步停住才算正常。
第二,更容易替换。某个节点想换模型、换角色、换技能,不需要把整个系统一并拆掉。
第三,更容易控制边界。输入层不需要知道执行细节,执行层也没必要看到整条历史链路。每一层只关心自己真正需要的部分,系统会干净很多。
多 Agent 协作,最怕的是每个人都觉得自己应该知道全部。现实里好的团队不是这么运作的,Agent 也一样。
从“能触发”到“会协作”,是工作流成熟的分水岭
很多多 Agent 系统最开始都靠很直接的方式串起来:定时触发、脚本调用、远程命令、简单中转。这完全没问题,原型阶段本来就该先跑起来。
但如果你想把它从实验玩具变成长期系统,就必须意识到一件事:能触发,不等于会协作。
一个只是能把任务发出去的系统,解决的是“怎么开始”。而一个真正能长期运作的工作流,解决的是:
- 谁来接
- 接了之后做什么
- 做完回给谁
- 哪一步负责判断
- 哪一步负责落档
- 失败时怎么补救
- 成功后怎么沉淀
这就是为什么,系统跑到后面,重点一定会从“触发方式”慢慢转向“协作语义”。
简单说,前期看起来像在折腾调度,后期本质上是在搭组织。
Skill 不是越多越强,越接近岗位越好
这件事很值得单独拎出来讲,因为太多人会在这里走偏。
刚开始给 Agent 配 skill,很容易越配越上头。总觉得“这个也装上吧,那个以后可能会用到”,最后每个 Agent 都像一个大杂烩:会写、会查、会发、会诊断、会发布、会分析、会搜集……
短期看起来很强,长期基本一定出问题。
原因很简单:skill 会反过来塑造角色行为。
一个本来只该做输入的 Agent,如果装了太多分析和写作能力,就很容易忍不住顺手下结论。一个本来该做执行的 Agent,如果挂了太多外部能力,也很容易开始把任务越做越宽。
所以我现在更认同一个原则:先定义岗位,再给能力。不要先堆能力,再指望它自己学会克制。
输入层就给它输入需要的东西;判断层保留筛选和分析能力;执行层保留交付相关能力;总控层强调编排、沟通和收束。
能力越像岗位,系统越稳。别把 skill 当收藏夹,最好把它当权限系统。
多 Agent 最常见的问题,其实都很“土”
很多人聊多 Agent,喜欢聊模型谁更强、推理谁更深、响应谁更像人。这些当然重要,但真到了日常运行阶段,把系统拖垮的往往不是这些,而是更基础的东西。
模型兼容会把链路问题放大。只要系统里存在多种来源、多种接口风格、多种行为偏好,兼容问题就会被放大。单点用时可能只是偶发不稳,一旦上链路,就可能变成下游全错。
限流不是偶发,而是要预设的现实。只要你接外部源、公共服务或共享能力,限流就是迟早会来的东西。真正成熟的工作流,不是假设自己永远通畅,而是接受失败本来就是系统输入的一部分。
配置漂移特别难查。比起直接报错,我反而更怕那种“系统看起来能跑,但总感觉哪里不对”的状态。节点一多,只要角色文件、默认设置、路由方式、技能版本稍微有一点点不一致,最终表现就会开始发虚。
角色文件越写越长,最后谁都不像自己。很多 Agent 一开始边界很清楚,后来补丁越打越多,规则越加越密,最后变成一个什么都知道、什么都舍不得删的庞然大物。
日志刷屏也不代表系统健康。如果一套工作流每天都在产生大量“我在运行”“我已收到”“我已转发”“我已完成”的消息,但真正能留下来的结果很少,那说明它在制造噪声,不是在创造价值。
这些问题看起来一点都不酷,但它们往往决定系统能不能活过第一个月。
多 Agent 真正值钱的,是把流程做成闭环
很多人最初做 Agent,都会先做资讯汇总、日报、周报。这类应用上手快,也最容易看到成果,所以很自然。
但如果系统长期只停留在“抓一点信息,再发一条总结”,它的上限其实不高。
因为真正有复利的,不是“发出去”,而是“留下来并接着用”。
一套成熟的多 Agent 工作流,最好能慢慢形成下面这条链:
情报 -> 判断 -> 内容 -> 落地 -> 沉淀
这五步少哪一步,价值都会打折。
情报,让你不用等到有空才去看世界发生了什么。
判断,把噪声和信号分开,不让后面的执行层被一堆杂事拖死。
内容,把线索变成结构化表达,让信息从“看过”变成“可复用”。
落地,把该改的改、该写的写、该发的发、该验证的验证。
沉淀,则把这次做过的东西变成下一次的基础,而不是每次重新开始。
这也是为什么我始终觉得,只做“早报机器人”是不够的。早报当然可以有,但它更像入口,不应该是终点。
真正值钱的,是你有没有把一次次分散的信息流,积成自己的判断系统、内容系统和执行系统。
如果你今天要开始搭,最实用的起步方式是什么
如果你现在也想做一套多 Agent 工作流,我的建议不是一步到位,而是先把骨架搭对。
第一步,先拆职责,不急着拆太多节点。先明确哪些事情不能再混在一个 Agent 身上:输入和判断最好拆开,判断和执行最好拆开,执行和总控最好拆开。只要这三刀拆对,后面节点是两台、三台还是更多,其实都只是实现问题。
第二步,先保证链路可追踪。任务怎么进来,去哪一层,谁返回结果,谁负责最终汇总,这些都要能讲清楚。你要的是一个能追得明白的系统,而不是一个看起来很灵动、出了错却完全无从下手的系统。
第三步,给每层设置“不要做什么”。很多系统不是坏在不会做,而是坏在做了太多不该做的事。所以角色定义里,除了“负责什么”,一定也要写清楚“不负责什么”。
第四步,让每次运行都留下资产。不管是情报列表、判断结果、成稿、任务记录还是结构化输出,最好都能进入下一轮工作。只要你能做到这一点,系统就会慢慢从“帮你做事”变成“替你积累”。
结尾:别把多 Agent 做成更复杂的单 Agent
写到最后,我最想说的其实只有一句话:
多 Agent 的目标,不是让系统显得更高级,而是让协作真的发生。
如果一个系统只是节点更多、消息更多、链路更长,但职责没拆开,边界没收紧,沉淀没建立,那它本质上只是一个更复杂的单 Agent。
真正值得投入时间去搭的多 Agent 工作流,应该具备这些特征:
- 每个角色知道自己负责什么
- 每条链路都说得清为什么这样走
- 每次运行都能产出可继续利用的结果
- 每一层都在帮下一层减负,而不是加噪声
- 系统不是越跑越乱,而是越跑越顺
当它开始稳定运转之后,你会发现,它最有价值的地方并不是“自动回复”或者“自动汇总”这种表层能力。
它真正值钱的,是把一个人的工作方式,慢慢变成一套会协作、会积累、会长期产生复利的系统。
这时候,你拥有的就不再只是几个 Agent。
你拥有的是一支开始成形的小团队。
#OpenClaw #MultiAgent #Workflow #AIAgent #自动化