第39回 多智能体协作——分工、辩论与协调算法
一人智短多有漏,众口一词未必真。
分工若无规矩在,吵成一锅更伤神。
第38回我们把单智能体拴在状态机上:能重试、能回滚、能审计。
可很多任务天生像“工地项目”,不是一个人能扛的:
- 一边查资料,一边写代码,一边做评测
- 一边做规划,一边做执行,一边做验收
- 一边做方案,一边做反对意见,一边做风险清单
于是多智能体(Multi-Agent)系统兴起:
让多个 LLM 代理协作,试图用“群体智能”换可靠性与效率。
近年的综述把多智能体协作机制系统化归纳:通信、协调、任务分配、共识形成等都各有门道。1
同时也强调了挑战:上下文管理、记忆管理、角色对齐与任务分配都可能变成新的失败源头。2
这一回不谈框架名,谈“算法味”的三件事:
- 怎么分工
- 怎么交流
- 怎么达成共识
一、分工:不是“多几个聊天框”,而是“角色有边界”
常见的分工方式(直觉版):
- 主从式:一个协调者(Manager)下发任务,多个工人(Worker)执行
- 专家式:不同代理负责不同领域(检索、写作、验证、合规)
- 辩论式:一正一反对冲,最后由裁判收敛
分工的关键在“边界”:
- 谁能改最终答案
- 谁只能提建议
- 谁负责验收与否决
没有边界,多智能体最容易演变成“互相覆盖、互相打架”。
二、交流:拓扑决定信息流
交流不是越多越好,拓扑(谁跟谁说)决定效率与稳定:
- 星型:大家只对协调者说,最可控
- 环形:信息轮转,适合逐步改进
- 树形:层级汇总,适合大任务分解
- 全连接:最自由,但最容易噪声爆炸
综述里常把通信模式也归类:汇报、接力、辩论、共享记忆等。1
你把它理解成开会就行:
全员自由发言很热闹,但往往最没效率。
三、共识:多数表决、裁判仲裁与“带验证的共识”
多智能体的共识形成,常见三种:
- 多数表决:谁赞成票多听谁
- 裁判仲裁:专门一个 Judge 代理做裁决
- 带验证的共识:先投票,再用工具/检索/单元测试验证胜者
第三种最贴近导读的“慢思考”:
不是靠嘴赢,而是靠证据赢。
四、极简可跑代码:一个“多代理投票 + 规则验证”的玩具
下面代码模拟:
- 三个代理给出答案与置信度(手工写死,演示结构)
- 先做加权投票
- 再做一个极简验证(答案必须包含“引用”字样)
def weighted_vote(candidates):
score = {}
for ans, w in candidates:
score[ans] = score.get(ans, 0.0) + w
best = max(score.items(), key=lambda x: x[1])[0]
return best, score
def verify(ans):
return "引用" in ans
if __name__ == "__main__":
agents = [
("答案:……(略)\n引用:证据A", 0.6),
("答案:……(略)\n引用:证据B", 0.3),
("答案:……(略)", 0.8),
]
best, detail = weighted_vote(agents)
print("vote_detail=", detail)
print("best=", best)
print("verify=", verify(best))
你会发现一个现实直觉:
如果不加验证,“最自信的胡说”可能赢。
一旦加上验证门槛,系统就会偏向“更像可交付物”的答案。
这就是多智能体系统的正确打开方式:
把共识建立在可验证约束上,而不是建立在音量上。
五、小结:协作系统的难点不在“多”,在“收口”
多智能体有可能更强,也有可能更乱。
能不能变强,取决于你是否做到:
- 分工有边界
- 通信有拓扑
- 共识有验证
下一回(第40回)我们不唱赞歌,专讲翻车:
多智能体失败分析——常见失败模式、根因分类与“怎么止血”。
欲知后事如何,且听下回分解。
幻觉核查
- 多智能体协作机制(通信/协调/共识等)系统化分类:可核对综述对机制维度的归纳。1
- 多智能体挑战(任务分配、上下文与记忆管理、对齐等):可核对挑战论文对问题列表的讨论。2
- 本回代码为投票与验证的结构演示,不代表真实多智能体系统的安全性、鲁棒性与评测方案。
逻辑审计
- 与第38回衔接:第38回解决“单体工作流可控”,第39回把可控思想迁移到群体:拓扑与验证就是群体的护栏。
- 与导读一致:导读强调“慢思考与自校验”,本回把自校验升级为“群体共识 + 验证收口”。
- 为第40回铺路:只讲机制不讲失败是空谈;下一回用失败模式把工程要点钉死。
引用与溯源
Footnotes
-
Multi-Agent Collaboration Mechanisms: A Survey of LLMs arXiv:2501.06322 (2025-01) https://arxiv.org/abs/2501.06322 ↩ ↩2 ↩3
-
Han, S., et al. LLM Multi-Agent Systems: Challenges and Open Problems arXiv:2402.03578 (v3: 2026-01-28) https://arxiv.org/abs/2402.03578 ↩ ↩2