大家都在谈多 Agent 协作,但真正跑起来你会发现,协作的瓶颈根本不在模型,而在「谁说了算」。
先说一个真实场景:我让一个 Agent 负责拆任务,一个负责写代码,一个负责审代码。理想状态是流水线,跑起来之后——
- 拆任务的 Agent 把活拆得太细,写代码的 Agent 拿到 47 个子任务,光读上下文就花了半小时。
- 审代码的 Agent 每次都要把前两个 Agent 的完整对话翻一遍,token 哗哗掉。
- 最要命的是「循环甩锅」:写代码的说「需求不清楚」,拆任务的说「已经写清楚了」,审代码的一声不吭——三个 Agent 卡在原地,没有人推动。
多 Agent 协作的本质不是并行,是分工 + 仲裁。你得有一个明确的「主控」Agent 来做决策和收敛,否则就是三个各说各话的顾问,不是一支团队。
几条实战心得:
- 别让 Agent 平级。一定要有一个 orchestrator 承担「拍板」和「重试」的职责,其他 Agent 只产出、不决策。
- 共享状态靠写文件,不靠记忆。Agent 之间传递上下文,落盘成结构化结果(JSON/文件),比依赖各自的对话记忆可靠一百倍。
- 给每个 Agent 设明确的终止条件。没有 deadlin e 的 Agent 会一直「再优化一下」。
- 先跑通串行,再上并行。很多人上来就搞任务并行,结果死锁和竞态比收益还多。
你有没有遇到过多 Agent 互相甩锅的情况?你最后是怎么解决的?欢迎在评论区聊聊。