MetaGPT:模拟软件公司多智能体框架安装与使用指南
| 项目名称 | geekan/MetaGPT |
| 仓库地址 | https://github.com/geekan/MetaGPT |
| 官方网站 | https://metagpt.com.cn/ |
| 官方文档 | MetaGPT 文档(中文) |
| 最新更新时间 | 2026-10-15(持续活跃更新) |
| 项目定位 | "第一个 AI 软件公司"——一个提示词生成完整 PRD、设计、代码、测试 |
| 开源协议 | MIT |
一、项目背景
2023 年 6 月,一篇题为 "MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework" 的论文引爆了 Agent 圈:只要输入一句话"做一个类似抖音的短视频 App",系统就能自动产出 PRD(产品需求文档)、技术设计文档、数据结构、API 设计,再由"工程师"角色写出代码——整个过程模拟一家完整软件公司的分工。
MetaGPT 由 DeepWisdom(深言科技)张奇等人开源,核心创新在于把"软件公司 SOP(标准作业流程)"编码成了多 Agent 的协作规则:产品经理(ProductManager)、架构师(Architect)、项目经理(ProjectManager)、工程师(Engineer)、QA 工程师(QaEngineer)各司其职,通过结构化的文档(JSON/Markdown)交接,而不是自由聊天。这极大降低了多 Agent 之间的信息熵,让"AI 写代码"从玩具走向可用。
MetaGPT 是 GitHub 历史上最快拿到 4 万 Star 的项目之一,被 MIT、Stanford 等机构引用。后续它衍生出了 Data Interpreter(数据分析 Agent)、RPG(游戏开发 Agent)、AFlow(自动 Agent 工作流搜索)等子项目,形成一个完整的 AI 软件公司生态。
二、核心特性
- SOP 驱动:把软件公司流程硬编码为 Agent 协作 SOP,不靠自由对话。
- 结构化输出:PRD、设计、任务拆分、代码都是标准化文档,便于审查与迭代。
- 多角色协作:PM、Architect、Engineer、QA、Researcher、DataAnalyst 等开箱即用。
- 代码生成与执行:自动写 Python/Web/前端代码,并能跑测试、修 bug。
- Data Interpreter:上传 Excel/CSV,自动做数据分析与可视化。
- RPG 游戏开发:一句话生成可玩的文字/2D 游戏。
- 多 LLM 后端:OpenAI、Claude、DeepSeek、Qwen、本地模型均可。
- 开源 + 商业双轨:核心开源,配套 MetaGPT Pro 企业版。
三、环境要求
- Python:3.9 – 3.12(推荐 3.9 / 3.10)。
- 操作系统:Linux / macOS / WSL2。
- LLM API Key:强烈推荐用 GPT-4o / Claude 3.5 / DeepSeek-V3 这种强模型,弱模型出活质量差。
- Docker:推荐方式,避免本地依赖地狱。
- 磁盘:项目工作目录预计几百 MB,模型由 API 提供。
四、详细部署步骤
方式一:pip 安装(最简单)
conda create -n metagpt python=3.9 -y
conda activate metagpt
pip install --upgrade metagpt
# 或最新开发版
pip install --upgrade git+https://github.com/geekan/MetaGPT.git方式二:从源码安装
git clone https://github.com/geekan/MetaGPT.git
cd MetaGPT
pip install -e .方式三:Docker 部署(推荐生产用)
# 1) 拉镜像
docker pull metagpt/metagpt:latest
# 2) 准备配置目录
mkdir -p /opt/metagpt/{config,workspace}
# 3) 导出默认配置模板
docker run --rm metagpt/metagpt:latest \
cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
# 4) 编辑 key.yaml,填入 LLM Key
vim /opt/metagpt/config/key.yamlkey.yaml 关键内容:
llm:
api_type: "openai" # 或 deepseek / claude
base_url: "https://api.openai.com/v1"
api_key: "sk-xxxx"
model: "gpt-4o-mini"
# 如果用 DeepSeek:
# llm:
# api_type: "deepseek"
# base_url: "https://api.deepseek.com"
# api_key: "sk-xxxx"
# model: "deepseek-chat"启动容器:
docker run -d \
--name metagpt \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/workspace \
metagpt/metagpt:latest命令行跑一个项目
metagpt "写一个贪吃蛇 Python 小游戏,带键盘控制和计分"输出会在 workspace/ 目录下生成:
docs/prd.md— 产品需求文档docs/design.md— 技术设计docs/data_schema.md— 数据结构main.py/*.py— 代码main_test.py— 测试
Python API 调用
from metagpt.software_company import SoftwareCompany
from metagpt.team import Team
async def main():
company = Team()
company.hire([
ProductManager(),
Architect(),
ProjectManager(),
Engineer(),
])
company.invest(investment=3.0) # 花多少美元预算
company.run_project("开发一个待办事项 CLI 工具")
await company.run(n_round=5)
import asyncio
asyncio.run(main())Data Interpreter(数据分析)
# 安装额外依赖
pip install -e .[selenium]
# 命令行
metagpt --idea "分析 data.csv 里的销售数据,给出可视化报告" \
--use-invest-msg --project-name sales_report五、进阶使用与生产建议
5.1 预算控制技巧
MetaGPT 跑一次完整软件公司流程会调用 LLM 几十到上百次,成本容易失控。强烈建议:
- 永远用
invest(investment=N)限定美元预算; - 开发调试阶段用便宜模型(gpt-4o-mini、DeepSeek-V3);
- 最终生成代码环节再切到强模型;
- 观察每轮 token 消耗,定位是哪个角色在烧钱。
5.2 自定义角色
继承 Role 类即可定义新岗位:
from metagpt.roles import Role
from metagpt.actions import WriteSOP
class OperationSpecialist(Role):
name = "小运营"
profile = "增长运营专家"
goal = "为产品设计冷启动增长方案"
async def _act(self):
todo = self.rc.todo
if isinstance(todo, WriteSOP):
return await todo.run(context=self.rc.history)5.3 常见产物解读
一次完整 run 后,workspace 目录里通常会有:
docs/prd.md:产品需求文档,含用户故事、功能清单;docs/design.md:技术架构图、模块划分;docs/api_spec.md:接口定义;main.py及各模块代码;main_test.py:单元测试。
六、使用方法示例
预算控制:invest(investment=3.0) 限定最多花 3 美元 LLM 费用,超出会自动停止,避免烧钱。
查看产物:
ls workspace/<project_name>/
cat workspace/<project_name>/docs/prd.md典型任务示例:
- "做一个命令行待办工具,支持增删改查和 JSON 持久化。"
- "开发一个 FastAPI 待办后端,带 SQLite 和 JWT 登录。"
- "写一个爬虫,每天抓 Hacker News 首页存到 Markdown。"
默认账号密码:MetaGPT 是命令行/Python 工具,没有 Web 后台、不需要登录。所有 LLM 调用走你在 key.yaml 里配置的 API Key。
七、常见问题(FAQ)
Q1:跑一次要花多少钱?
一个中等项目(贪吃蛇这种小工具)用 gpt-4o-mini 大约 0.5-2 美元;用 gpt-4o 可能 5-20 美元。务必设置 investment 上限。
Q2:代码跑不起来?
MetaGPT 生成的代码依赖模型能力。建议 (1) 用最新最强模型;(2) 用 python main_test.py 看报错,再让 MetaGPT 修一轮;(3) 检查 Python 环境是否装了所需依赖。
Q3:支持国产大模型吗?
支持。在 key.yaml 里把 api_type 改成 deepseek / zhipuai / qianfan,填对应 base_url 与 api_key 即可。
Q4:和 Devin、Devin 类产品比?
MetaGPT 是开源研究框架,强调多角色 SOP;Devin 是闭源商业产品,带浏览器、沙箱、长时任务能力。MetaGPT 适合学习二次开发,Devin 适合直接花钱用。
Q5:能改成非软件开发的 Agent 公司吗?
可以。MetaGPT 的 Role 是可继承的,你可以自定义"运营""财务""法务"等角色,搭一个非软件的虚拟公司。
Q6:生成的代码质量如何?
取决于模型。用 GPT-4o/Claude 3.5 生成的小项目(几百行)可直接跑;大项目会有架构问题,需要人工 review。建议把 MetaGPT 的输出当"初稿",再让工程师接手。
Q7:Data Interpreter 是什么?
MetaGPT 团队出的子项目,专门做数据分析:上传 Excel/CSV,自动 EDA、画图、写分析报告。适合数据分析师快速出报告。