前言
前面学习了 Agent。那么一个 Agent 会是一个万能的智能体吗? 在处理复杂、多步骤、大规模任务时,单智能体还能得心应手吗?显然是不能的。像我们传统开发的并发,以及Deepseek核心的Moe架构,我们总是期望让专业的模块处理特定的事情。
于是,多智能体系统 就应运而生。
定义
MAS(Multi-Agent System,多智能体系统) 是由多个具备自主感知、决策和行动能力的智能体(Agent)组成的分布式计算系统。这些智能体通过通信、协作、竞争或协商,在共享环境中互动,共同完成单个智能体无法或难以解决的复杂任务
- 核心:“分解与协同”
- 核心流程:
-
任务分解:将宏大、模糊的复杂目标(如“制定市场策略”)拆解为多个明确的子任务(市场分析、竞品调研、报告生成)。
-
角色分配:为每个子任务分配合适的“专家”智能体,各司其职。
-
协同执行:智能体间通过预定义的协议(如合同网、黑板模型)或动态协商进行信息交换与流程协作。
-
结果整合:由一个“管理者”或“评审者”智能体汇总、评估并输出最终结果。
-
和Agent相比
<ai_architect_response>
好的,收到。作为一位经历过无数次从原型到生产环境落地的AI架构师,我可以明确地告诉你,这份表格清晰地勾勒出了智能体(Agent)从“孤胆英雄”到“精英团队”演变的核心脉络。这不仅是一个格式转换问题,更是在理解现代AI系统架构设计哲学的分水岭。
下面是你提供的表格内容转换成的标准Markdown格式,我对其中的技术表述进行了一些微调,使其更贴合工程实践中的常用术语:
| 特征 | Agent | MAS |
|---|---|---|
| 目标 | 单一、确定性目标(例如:“识别图片中的猫”) | 复合、涌现性群体目标(例如:“多机器人协同完成仓库分拣与优化”) |
| 决策方式 | 集中式(单个模型或控制器全权决策) | 分布式协同(每个智能体独立决策,并通过通信/协商达成群体策略) |
| 环境感知 | 全局或单一的局部视角 | 多模态、多视角感知(不同智能体感知环境的不同部分,信息互补与融合) |
| 鲁棒性 | 存在单点故障风险 | 具备系统冗余与韧性,部分节点失效仍可通过协作维持核心功能 |
| 复杂度处理 | 问题规模受限于单体算力与模型能力上限 | 通过分工、协作与竞争,可分布式处理超大规模、动态复杂问题 |
致命缺陷
MAS 虽然确实能解决单智能体的一些问题,但是在早期一个运行良好的 MAS 却是很难落地的,甚至可能是致命的。在一篇名为《Why do multi-agent LLM systems fail?》 的论文中,详细分析了 MAS 系统为什么么会失败?特别是在协作、执行、规划等环节出现失效的核心诱因。
论文研究指出,这些核心诱因主要在三个大的方面。
规划环节
规范与系统设计失效(占总失效案例的 41.8%,第一大核心诱因)
该环节的失效根源是任务前期的目标定义、角色分工、流程规则设计存在根本性缺陷,是任务从源头就脱轨的核心原因,具体核心诱因:
- 任务与角色规范失控(占比 16.77%) :智能体擅自篡改用户原始需求、偏离任务核心目标,或越权违背预设的角色职责(如测试员跳过核心规则校验、执行岗擅自修改需求边界),是规划环节最核心的单点失效诱因。
- 流程规划缺陷导致的步骤死循环(占比 11.57%) :任务拆解的执行流程存在逻辑漏洞,系统陷入已完成步骤的无效重复,无法推进任务进度,大量消耗算力却无有效产出。
- 终止条件规划模糊(占比 6.54%) :未明确定义任务完成的判定标准与终止触发规则,智能体无法判断何时结束流程,要么提前终止导致交付物残缺,要么陷入无意义的循环对话。
- 上下文规划缺失导致的历史信息丢失(占比 2.36%) :未设计关键信息的强制留存机制,智能体遗忘前期规划的核心目标、变量与团队共识,导致规划方向跑偏、执行逻辑完全断裂。
协作环节
智能体间对齐失效(占总失效案例的 36.9%,多智能体系统特有核心失效场景)
该环节的失效是多智能体系统区别于单智能体的核心痛点,本质是智能体间的信息流传递、共识达成、分工配合出现系统性故障,具体核心诱因:
- 沟通断裂(占比 10.6%) :协作环节第一大诱因,智能体间信息传递不完整、关键歧义不主动澄清,对任务目标、执行标准的理解出现根本性偏差,多轮对话无法达成有效共识,甚至出现完全无效的 “鸡同鸭讲”。
- 推理逻辑不匹配(占比 4.02%) :单个智能体的输出动作与自身推理逻辑、团队共识的协作规则脱节,导致协作链条出现逻辑断点,其他智能体无法承接其输出,任务推进中断。
- 无效信息冗余传递(占比 3.44%) :智能体间反复传递无增量的冗余信息,无法推进协作进度,拉长任务周期的同时,还会挤占关键信息的上下文窗口。
- 任务对齐失效(占比 2.49%) :不同智能体对任务目标、交付标准、分工边界的理解完全不一致,各自为战,输出内容无法衔接(如架构师的设计方案与程序员的代码实现完全不匹配)。
- 关键信息隐瞒(占比 2.99%) :单个智能体获取到影响全局的关键信息(如正确的 API 参数、致命 bug 的排查结果)后,未同步给协作团队,导致下游任务全链路失效。
执行环节
任务验证与落地失效(占总失效案例的 21.3%)
该环节的失效集中在任务落地执行、校验验收的收尾阶段,核心是执行动作与规划目标脱节、验收校验完全失效,具体核心诱因:
- 表面化虚假验证(占比 10.1%) :执行环节第一大诱因,负责校验的智能体仅做浅层合规检查(如代码能否编译、语句是否通顺),完全不验证输出是否符合原始任务的核心目标、业务逻辑与验收标准,甚至出现任务未完成却判定成功的 “意念验收”。
- 不完整验证(占比 9.19%) :智能体仅校验部分执行结果,遗漏核心验收项,导致存在明显缺陷的输出被放行,最终任务交付失败。
- 错误提前终止(占比 2.01%) :执行流程未完成、核心目标未达成,系统就错误触发终止条件,提前结束任务,导致交付物残缺、核心需求未满足。
- 执行与规划完全脱节:执行环节的智能体完全偏离前期规划的执行步骤、标准与边界,擅自修改执行路径,导致最终输出与规划目标完全不符。
解决方案
那么 MAS 就不能用了吗?当然不是,上述失效绝大多数并非源于单个 LLM 的能力不足,而是多智能体系统的组织架构、协作机制、流程设计存在缺陷。所以针对这些做一些优化是不是就可以用了?
战术性方法
-
改进提示词:为每个智能体编写更详细、更明确的系统提示词,明确其职责、权限和禁止的行为。
-
增加自我验证/反思步骤:在任务完成后,要求智能体进行反思,回顾自己的推理过程和最终结果是否符合初始要求。
-
优化智能体交互模式:设计更有效的对话流程,例如让多个智能体独立提出解决方案,然后进行"同行评审"或辩论。
结构性策略
-
强化验证机制:建立多层次的验证体系,例如引入专门生成"单元测试"的智能体,以及进行”端到端验收测试"的智能体。
-
设计标准化通信协议:减少智能体之间模糊的自然语言交流,转而使用结构化的格式(如JSON)进行通信。
-
引入外部记忆和状态管理:为系统增加一个共享的、持久化的记忆模块,以解决长上下文丢失问题。
通信机制
ACL
ACL(Agent Communication Language) 不是简单的数据传输协议,而是一套完整的形式化通信规范,旨在让智能体之间能进行“有意图的对话”。
-
语法:定义消息的“信封格式”。就像写信必须有收件人、主题、正文和落款,ACL消息必须包含发送者、接收者、执行原语(Performative) 和内容。执行原语是核心,它明确表达了消息的意图,例如
request(请求)、inform(告知)、propose(提议)、refuse(拒绝)等。 -
语义:解决“同一个词,不同理解”的问题。通过引入本体(Ontology) 技术,为特定领域(如医疗、制造)的概念和关系提供统一的定义。例如,在电商场景中,确保“待发货”和“未出库”被所有智能体理解为同一状态。
-
语用:规定“在什么场景下,该如何回应”。它定义了智能体接收消息后的行为规范。例如,收到
request消息后,必须在约定时间内回复accept或refuse;收到inform消息后,需根据信息重要性更新自身知识库。 -
通信协议:编排“多轮对话的剧本”。它定义了智能体间交互的完整流程,例如经典的“请求-响应-确认”三步对话,确保协作过程有序可控。
🌰
在 AutoGen 框架中,Message类(包含 content, sender, receiver等字段),通过 send()/receive()方法进行异步传递。其底层是基于事件驱动的消息总线,也就是 ACL 范式。
CNP
合同网协议(Contract Net Protocol, CNP) 是一种基于市场拍卖机制的经典协作协议,用于在分布式环境中动态分配任务。其工作流程模拟了现实中的招标过程:
- 招标:当一个智能体(管理者)有任务需要分配但自身无法完成时,它会向其他智能体(潜在承包商)广播一份“招标书”,其中包含任务描述、截止时间、要求等。
- 投标:收到招标书的智能体评估自身能力、当前负载和任务成本,如果认为自己适合,则在截止时间前向管理者提交一份“投标书”,说明自己的执行方案和报价(如所需时间、资源消耗)。
- 中标:管理者收集所有投标书,根据预设的评估策略(如成本最低、时间最短、综合效用最高)进行评选,确定中标者,并向其发送“中标通知”,同时通知其他未中标的智能体。
- 签约与执行:中标者确认接受任务,双方建立“合同”关系。中标者执行任务,并在完成后向管理者报告结果。
🌰
在 AutoGen 框架中,GroupChatManager 通过调度算法(轮询、LLM选择)决定下一个发言的Agent。这可以看作一种简化的、中心化的任务分配,即 CNP 范式。
Blackboard Model
黑板模型(Blackboard Model) 是一种模拟人类专家团队围绕一块物理黑板进行问题求解的经典人工智能架构。其核心在于 “中心化的数据共享平台” 和 “分布式的独立计算单元” 。
-
黑板(Blackboard) :一个结构化的、全局可访问的共享数据存储区。它存储了问题的初始状态、部分解、假设、待验证信息以及最终解。
-
知识源(Knowledge Sources, KS) :一组相互独立的、封装了特定领域知识的模块或智能体。每个知识源都像一位专家,只擅长处理问题的某个方面(例如,语音识别系统中的“音素识别专家”、“语法分析专家”)。它们不直接相互通信,只通过读写黑板来间接协作。
-
控制器(Controller) :系统的调度中枢。它持续监控黑板上的状态变化,根据当前求解阶段和预设策略,决定哪个知识源在何时被激活(即“哪位专家接下来上台发言”)。其调度原则通常是“机遇性”的:哪个知识源的条件最被满足,就执行哪个。
🌰
在 AutoGen 框架中,通过 ConversableAgent的 chat_messages维护对话历史,作为共享上下文。此外,其主题与订阅(Topic/Subscription) 机制是典型的发布/订阅模式,类似黑板模型的范式。
预告
后面,我们将继续怎么使用常见的一些 MAS 框架来实现一些复杂任务的处理。