MetaGPT 让多个 Agent 模拟软件公司的角色(产品经理、架构师、工程师、QA),按照标准化流程(SOP) 从一句话需求自动生成完整软件。
用户需求: "开发一个贪吃蛇游戏"
│
┌────▼─────┐
│ 产品经理 │ → 输出: PRD(产品需求文档)
└────┬─────┘
│
┌────▼─────┐
│ 架构师 │ → 输出: 系统设计 + 数据结构
└────┬─────┘
│
┌────▼─────┐
│ 工程师 │ → 输出: 代码实现
└────┬─────┘
│
┌────▼─────┐
│ QA 工程师│ → 输出: 测试用例 + 测试报告
└──────────┘
核心理念:SOP(标准作业流程)> 自由对话。每个角色有明确的输入/输出规范。
| 概念 | 说明 |
|---|---|
| Role | 角色定义(产品经理、架构师、工程师等) |
| Action | 角色的具体行为(撰写 PRD、写代码等) |
| Message | 角色之间传递的结构化消息 |
| Environment | 共享的执行环境 |
| SOP | 标准化流程定义 |
pip install metagptimport asyncio
from metagpt.software_company import generate_repo
async def main():
await generate_repo(
idea="开发一个命令行天气查询工具,支持输入城市名获取天气",
investment=5.0, # 最大投入(美元,控制 token 消耗)
n_round=5 # 最大交互轮数
)
# 自动生成:
# 1. docs/prd.md — 产品需求文档
# 2. docs/system_design.md — 系统设计
# 3. workspace/ — 完整代码
# 4. tests/ — 测试用例
asyncio.run(main())- 结构化输出 — SOP 保证每一步都有明确的交付物
- 端到端 — 从需求到代码全自动
- 48k+ Stars — 社区认可度高
- 可复现 — 相同输入倾向于产生相似输出
- 适合教学 — 直观理解多 Agent 协作
- 场景单一 — 主要面向软件开发流程
- 灵活性低 — SOP 是固定的,难以自定义
- 生成质量 — 复杂项目的代码质量参差不齐
- Token 消耗 — 全流程跑一遍费用不低
| 适合 | 不适合 |
|---|---|
| 快速生成 MVP 原型 | 需要高度定制化的工作流 |
| 教学演示多 Agent 协作 | 非软件开发场景 |
| 需求明确的小项目 | 大型复杂项目 |
| 了解 Agent 协作模式 | 需要实时交互的场景 |