**Multi-Agent(多智能体系统)**指的是:
让多个具有独立能力的 Agent 协同完成一个复杂任务,而不是让一个 Agent 独自完成所有事情。
简单理解:
单 Agent:
用户
|
v
一个Agent
|
+-- 思考
+-- 调工具
+-- 输出结果
Multi-Agent:
用户
|
v
主Agent / Orchestrator
|
+--------------+-----------------+
| | |
v v v
规划Agent 编码Agent 数据Agent
| | |
+-------------+-------------+
|
v
汇总结果
类似一个团队:
项目经理负责拆任务
程序员负责写代码
测试工程师负责测试
产品经理负责需求分析
每个 Agent 有自己的职责。
一、为什么需要 Multi-Agent?
因为单 Agent 有几个问题:
1. 任务太复杂
例如:
帮我开发一个机器人云平台
包含:
需求分析
|
架构设计
|
数据库设计
|
后端开发
|
前端开发
|
测试
|
部署
一个 Agent:
我要同时负责所有事情
易:
上下文太长
注意力分散
推理质量下降
Multi-Agent:
拆成:
Manager Agent
|
+---- 架构Agent
|
+---- Backend Agent
|
+---- Frontend Agent
|
+---- Test Agent
每个 Agent 专注一个领域。
二、Multi-Agent核心组成
一般有 4 个部分:
1. Supervisor / Manager Agent(管理Agent)
也叫:
Orchestrator
Coordinator
Planner
负责:
任务拆解
用户:
开发一个机器人控制系统
Manager:
拆:
Task1:
设计通信协议
Task2:
实现SDK
Task3:
开发后台服务
Task4:
测试
Agent选择
决定:
这个任务交给谁?
2. Worker Agent(执行Agent)
真正干活。
例如:
Coding Agent
负责:
生成代码
代码优化
Bug修复
Research Agent
负责:
搜索资料
分析论文
总结方案
Testing Agent
负责:
测试代码
发现问题
生成测试报告
三、Agent之间怎么通信?
主要有几种方式。
方式1:消息传递(Message Passing)
类似微服务。
例如:
Agent A:
发送:
{
from:"Planner",
to:"Coder",
task:
"实现TCP通信模块"
}
Coder:
返回:
{
status:"done",
result:
"完成TCP Server"
}
方式2:共享Memory
多个Agent访问同一个记忆。
例如:
Shared Memory:
Project Memory
需求:
机器人远程控制
架构:
MQTT + ROS2
代码:
TCP SDK
Agent读取:
Coding Agent:
看到需求
Testing Agent:
看到代码
方式3:黑板模式(Blackboard)
经典AI架构。
类似:
Blackboard
需求:
xxxx
设计:
xxxx
代码:
xxxx
Agent1 ---> 写入
Agent2 ---> 读取
Agent3 ---> 修改