多 Agent 协作怎么不乱套:接力、传话、并行与防跑飞(附真实机制拆解)
前言
上一篇讲记忆时留了个钩子:多个 Agent 怎么协作。一个 Agent 再聪明也有边界,长流程记不住、专业深度不够,解法是组队。这篇把组队机制讲透:借手和接力两条路怎么分、上下文怎么传不爆炸、并行串行怎么定、跑飞了怎么拉回来。全部按我自己 Agent 平台的真实机制讲,给在做多 Agent 系统的朋友当参考。
一、两条路:借手(委派)和接力(编排)
借手:主 Agent 临时叫帮手干专业活,干完还结果就走。特点是浅——只许一跳,帮手不能再叫帮手,防止互相踢皮球。
接力:先把长流程拆成计划(每步谁干、干什么、依赖什么),再按计划一棒一棒传,前一步产出是后一步输入。像流水线,工位固定,传半成品。
借手解决"我缺个技能",接力解决"这活要很多步"。
二、接力三步跑
三、上下文怎么传:共享储物柜加取件单
第二步的 Agent 怎么知道第一步干了什么?直觉做法是把全部聊天记录灌过去,上下文直接爆炸。
我们用固定名字的共享状态:
- 每步干完,产出按固定名字存进共享状态(步骤编号加固定前缀),谁存的一目了然;
- 下一步在计划里显式声明"我需要哪几步的产出",装配时平台只注入声明过的;
- 没声明的,一分钱上下文都拿不到。
三个好处:上下文精确可控、依赖显式可见、出问题好排查(每步产出有名字有出处)。
四、并行与串行
默认串行:步骤间有依赖,第一步的产出是第二步的原料,只能排队。
声明并行:计划里一行标记声明并行组,同组步骤同时开工跑完汇合。并行度有上限档位(按任务规模分三档,最多十来个同时跑),防止把下游服务打挂。
抢资源上锁:并行步骤都要改同一份文件?给资源上锁,谁先抢到谁先干。锁有两套实现:多机部署走分布式锁,单机走进程内锁,语义一致。
五、防跑飞:五道闸加故障三档
五道闸:步数闸(生成期校验,超限计划不让开跑)、时间闸、token 闸(花费超限就停)、死循环闸(同一环境状态反复出现就掐)、方向闸(每隔几步反思一次还在不在正道)。
故障三档:临时故障(网络抖动、限流)喂回重试,有次数上限;要人拍板的(权限冲突)整场挂起等审批;致命错误直接中止,中文说清楚为什么停、停在第几步。
六、什么时候用多 Agent(我的判断标准)
反过来,两三步的小活就别拆了,编排本身也有成本。
总结
口诀带走:借手管借技能,接力管长流程;产出进储物柜,依赖写取件单;默认串行,声明并行,抢资源上锁;五道闸防跑飞,故障分三档。
组队之后的新问题:一个 Agent 想要多技能,绑 100 个 Skill 工具列表会不会爆?下一篇:一个 Agent 绑 100 个 Skill,工具列表为什么不爆。
你的多 Agent 系统卡在哪一步?评论区聊聊。
网硕互联帮助中心



评论前必须登录!
注册