本文系作者 [架构精进之路] 原创,著作权归作者所有,未经授权禁止任何形式的转载、抄袭或盗用,违者必究。
一、问题思考
在 AI 快速发展的今天,我们能明显感受到不同智能系统的差异:有的擅长自然对话,有的依托技能点精准响应。
**deepseek(自然对话) vs 豆包(技能点模式):


**
这种技术架构的差异,直接导致二者在使用方式、适配场景与用户体验上呈现显著不同。
而多智能体系统,正是通过独特的架构设计,让 AI 突破单智能体的能力边界,实现更复杂的任务协作。

二、多智能体系统介绍
2.1 概念简介
多智能体系统 (Multi-Agent Systems, MAS)是相对单智能体系统(Single-agent System)而言。
多智能体组成虚拟团队,模拟人类专业协作模式,以解决超越单智能体能力边界的复杂问题。
其实和人类很像,一个人的大脑装太多信息会影响效率,单智能体面对复杂任务时,稳定性和能力都会受限。而多智能体系统,就像组建了一个虚拟专业团队,通过模拟人类协作模式解决复杂问题。 正所谓"术业有专攻",一个人的力量,永远抵不过一个专业的团队。
这就是 MAS,即多智能体系统设计的初衷。

2.2 技术本质
MAS 技术本质是 分布式系统思想 的延续,构建分布式认知网络 ,通过智能体(Agent)间的目标驱动协作 与环境交互反馈,实现超越单智能体能力边界的复杂问题求解。

MAS 的技术独特性:
-
功能节点从预定逻辑功能(eg. 数据库节点、计算节点)提升为具备意图推导能力
-
通信内容从结构化数据升级为自然语言指令
-
决策机制从中心控制变为协商自治
基于以上三点,让多智能体之间像专业团队一样 "各司其职、灵活协作"。
三、LangGraph 多智能体系统
从极具代表性的 AI 框架中汲取本质思想(MAS 架构的实践典范)
3.1 多智能体架构
在多智能体系统中,有几种连接智能体的方法:
-
网络:每个智能体都可以与 其他所有智能体 进行通信
-
监管智能体:每个智能体与单个监管智能体进行通信
-
监督者(工具调用):这是监督者架构的一种特殊情况,单个智能体可以表示为工具
-
分层式:你可以使用 超级监督智能体 定义一个多智能体系统
-
自定义:每个智能体仅与一部分智能体进行通信

3.2 核心概念
Command
LangGraph 中构建多智能体架构的新工具/语法糖
Command = 更新状态(节点) + 控制流(边)(即 让Agent 知道 "下一步做什么、状态怎么更新")
csharp
const myNode = (state: typeof StateAnnotation.State) => {
return new Command({
update: { foo: "bar" },
goto: "other_subgraph", // where `other_subgraph` is a node in the parent graph
graph: Command.PARENT,
});
};
Handoffs
多智能体交互中的一种常见模式,即一个智能体将控制权交接给另一个智能体。
ini
# With type hints, you can specify the possible nodes this can go to.
def agent(state: MessagesState) -> Command[Literal[..., END]]:
...
return Command(
goto=..., # The next node(s) to go to
update={"messages": [response]} # The update to apply to the state
)
两者的关联
关联代码实现:
javascript
// Define the nodes
const nodeASubgraph = async (_state: typeof StateAnnotation.State) => {
console.log("Called A");
// this is a replacement for a real conditional edge function
const goto = Math.random() > .5 ? "nodeB" : "nodeC";
// note how Command allows you to BOTH update the graph state AND route to the next node
return new Command({
update: {
foo: "a",
},
goto,
// this tells LangGraph to navigate to node_b or node_c in the parent graph
// NOTE: this will navigate to the closest parent graph relative to the subgraph
graph: Command.PARENT,
});
};
const subgraph = new StateGraph(StateAnnotation)
.addNode("nodeA", nodeASubgraph)
.addEdge("__start__", "nodeA")
.compile();
const parentGraph= new StateGraph(StateAnnotation)
.addNode("subgraph", subgraph, { ends: ["nodeB", "nodeC"] })
.addNode("nodeB", nodeB)
.addNode("nodeC", nodeC)
.addEdge("__start__", "subgraph")
.compile();
await parentGraph.invoke({ foo: "" });
Command 驱动 Handoffs 的发生,而 Handoffs 是 Command 在智能体间传递的载体和实现方式。


四、 其他多智能体系统探究
除LangGraph 框架之外,其他优秀的多智能体框架介绍:
4.1 AutoGen(Microsoft)
AutoGen 的核心价值:让 AI 协作 "像聊天一样自然"
1、基类与角色分工
-
核心基类:ConversableAgent 对话引擎
-
角色分工:AssistantAgent、UserProxyAgent、GroupChatManager
2、定义Agent + 定制交互逻辑
-
定义Agent:人类代理A、助手B
-
注册自定义回复函数:让Agent 具备智能响应能力
3、程序运行:对话驱动的任务执行

4.2 CrewAI(OpenAI)
CrewAI 既支持 "智能体自主协作" (Crew),也支持 "流程化精细编排"(Flows),覆盖从灵活创新到严格流程的多样化协作需求
-
Crew 模式
-
Agent 拥有独立能力(LLM + Tools)和共享记忆,自主分工执行任务
-
Flows 模式
-
通过 Code 编排协作单元的交互,结合状态管理实现流程级精细控制

核心对比:
维度
Crew 模式
Flows 模式
控制粒度
智能体自主决策
代码定义的流程级控制
核心优势
灵活分工、自主协作
步骤精确、依赖清晰
典型场景
创意生成、多角色模拟
数据流水线、复杂工作流
4.3 MetaGPT(国产)
MetaGPT 多智能体协作开发软件的标准流程(SOP)
-
左侧:软件开发标准流程
-
中间:智能体分工
-
右侧:人机交互阶段

MetaGPT提出了一个通信协议,以提高角色通信效率,还实现了结构化的通信接口和有效的发布-订阅机制
-
共享消息池:协作的"神经中枢"
-
发布(publish)
:将信息写入消息池(eg. PM 发布任务)
-
订阅(subscription)
:监听感兴趣的消息(eg. Engineer 订阅开发任务)

4.4 小结
AutoGen、CrewAI、MetaGPT 三款 MAS 框架对比:

五、结语
多智能体系统(MAS)不仅是对人类社会协作关系的映射,其真正价值在于探索和创造具备超协同增益的AI群体智能。
然而,不同框架之间依然存在较高的学习和开发门槛。随着 LLM 能力的持续提升,未来的 Agent 框架必将朝着更简洁、高效、易用的方向演进。
后续 AI 内容学习,持续更新,欢迎关注~
·END·
希望今天的讲解对大家有所帮助,谢谢!
Thanks for reading!
作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长。
关注并私信我回复"01",送你一份程序员成长进阶大礼包,欢迎勾搭。