Loading...

文章背景图

MetaGPT:模拟软件公司多智能体框架安装与使用指南

2026-10-15
0
- 字
- 分钟
|

MetaGPT

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.yaml

key.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、画图、写分析报告。适合数据分析师快速出报告。

八、跳转链接

评论交流

文章目录