MetaGPT 多智能体协作工作流
MetaGPT 是基于 SOP(标准操作流程)驱动的多智能体框架,通过角色扮演模拟真实软件团队的工作方式。产品经理、架构师、工程师和 QA 各司其职,通过结构化消息传递完成从需求到代码的全流程。
核心设计:SOP 驱动
MetaGPT 的核心创新是将软件工程 SOP 编码为智能体协作协议:
python
from metagpt.roles import ProductManager, Architect, Engineer, QaEngineer
# 定义团队 SOP
class SoftwareTeam:
async def run(self, requirement: str):
# 1. 产品经理分析需求
prd = await self.pm.analyze(requirement)
# 2. 架构师设计系统
design = await self.architect.design(prd)
# 3. 工程师实现代码
code = await self.engineer.implement(design)
# 4. QA 测试验证
report = await self.qa.test(code)
return code, report1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SOP 的价值
SOP 确保了多智能体协作的确定性。没有 SOP,多个 LLM 的自由交互容易陷入循环或发散。SOP 将协作约束为有向无环图(DAG),保证了收敛性。
消息传递机制
智能体之间通过结构化消息通信:
- 共享消息池:所有智能体可读取历史消息
- 订阅过滤:每个智能体只关注特定类型的消息
- 发布-订阅:基于消息类型的异步通信
角色定义
每个角色由三个要素定义:Profile(能力描述)、Action(可执行动作)、Watch(订阅的消息类型)。