MetaGPT
把一句软件需求编排为多角色协作的软件开发流程。
- Star 数
- ★ 71k
- 最近更新
- 9 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 41/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 独立开发者只有一句“创建 2048 游戏”的产品想法,希望先生成一个位于本地 workspace 的项目仓库。
- 不适合
- 只装了 Python 3.12 及以上版本、不想额外安装 Node.js 和 pnpm 的用户
- 希望开箱即用、不愿手动编辑 ~/.metagpt/config2.yaml 并自备 API key 的用户
这个 Agent 能做什么,适合哪些场景?
MetaGPT 是一个面向软件开发的多智能体框架,将一句需求交给产品经理、架构师、项目经理和工程师等角色协作处理。它以“Code = SOP(Team)”为核心理念,将标准作业流程应用于由 LLM 组成的团队。框架可生成用户故事、竞品分析、需求、数据结构、API 和文档等产物,并可通过 CLI 在 ./workspace 创建项目仓库。除命令行外,它还提供 Python 库接口,包括 generate_repo 和 ProjectRepo。仓库还提供 DataInterpreter 角色,可通过异步 Python 调用执行数据分析任务并包含图表。
用户可运行 metagpt "Create a 2048 game" 提交自然语言需求;MetaGPT 按其软件公司角色与 SOP 处理需求,并在 ./workspace 创建仓库。Python 中可调用 metagpt.software_company.generate_repo("Create a 2048 game"),获得 ProjectRepo 并打印项目结构。运行前可用 metagpt --init-config 创建 ~/.metagpt/config2.yaml,在其中设置 llm.api_type、model、base_url 和 api_key。数据任务可实例化 metagpt.roles.di.data_interpreter.DataInterpreter,再以 await di.run(...) 运行分析请求。
- 独立开发者只有一句“创建 2048 游戏”的产品想法,希望先生成一个位于本地 workspace 的项目仓库。
- 产品负责人需要把简短需求展开为用户故事、需求、数据结构、API 和文档等软件交付物。
- 团队想试验由产品经理、架构师、项目经理和工程师角色共同执行的软件开发 SOP。
- Python 开发者希望在自己的程序中调用
generate_repo,并通过ProjectRepo检查生成的项目结构。 - 数据分析人员希望用
DataInterpreter对 sklearn Iris 数据集执行分析并请求包含图表的结果。
如何安装或部署这个 Agent?
需要 Python 3.9 或更高版本、但低于 3.12,并在实际使用前安装 Node.js 和 pnpm。
安装:
pip install --upgrade metagpt初始化配置:
metagpt --init-config编辑 ~/.metagpt/config2.yaml,至少填写:
llm.api_type: "openai"
llm.model: "gpt-4-turbo"
llm.base_url: "https://api.openai.com/v1"
llm.api_key: "YOUR_API_KEY"README 还列出 Azure、Ollama、Groq 等 api_type 选项。
如何使用这个 Agent?
配置完成后,执行:
metagpt "Create a 2048 game"该命令会在 ./workspace 创建仓库。作为 Python 库使用时:
from metagpt.software_company import generate_repo
repo = generate_repo("Create a 2048 game")
print(repo)数据分析场景可创建 DataInterpreter() 并在异步函数中调用 await di.run("Run data analysis on sklearn Iris dataset, include a plot")。
这个 Agent 有哪些优点和局限?
- 将产品经理、架构师、项目经理和工程师等明确角色编排进软件公司式流程,而非只提供单一生成调用。
- 同一自然语言需求可面向用户故事、竞品分析、需求、数据结构、API、文档和项目仓库等多类产物。
- 同时提供
metagptCLI、generate_repo/ProjectRepoPython 接口,以及DataInterpreter示例。 - 配置示例明确支持 OpenAI,并列出 Azure、Ollama、Groq 等可选
api_type。
- 运行环境限定为 Python 3.9 至低于 3.12,且实际使用前还需要 Node.js 与 pnpm。
- 必须配置模型服务的
api_key、模型和端点;README 未提供模型调用成本或费用估算。 - 默认 CLI 工作流会在
./workspace创建项目仓库,并会在用户目录创建或读取~/.metagpt/config2.yaml。 - README 的软件公司架构图注明“Gradually Implementing”,未逐项说明所有角色流程的实现完整度。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| MetaGPT 当前 | 41 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 71k | 9 个月前 | Python | OpenAI API |
| Lemon AI | 39 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 1.6k | 9 个月前 | JavaScript | OpenAI API · Claude API |
| SpecShip 工程工作流 | 61 · 存在缺口 | Agent 插件 / 技能 | ★ 257 | 3 个月前 | Shell | — |
| OpenLoopX · LLM4AD Next | 58 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 694 | 1 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 要求用户配置 API 密钥,但未说明最小权限原则;测试配置包含模拟密钥,但未说明生产环境处理;依赖列表包含多个包,但未提供安全审计;存在外部网络调用(如搜索、API),但未明确用户确认机制;未提供回滚机制;来源归属仅通过 README 中的作者和联系方式体现。扣分原因:缺少用户确认、数据流透明度和回滚机制。
证据显示:README 和测试配置一致,但依赖版本固定,可能影响可用性;失败消息未在文档中明确。扣分原因:依赖可用性未充分保证,失败消息不明确。
证据显示:README 提供了多种使用场景(CLI、库、Data Interpreter),但能力边界未明确;触发精度未详细说明;环境要求(Python 版本、Node、pnpm)已列出。扣分原因:能力边界和触发精度描述不足。
证据显示:README 结构清晰,安装说明详细,有示例和 FAQ 链接,但已知限制未明确;版本变更日志未提供;维护责任通过联系邮箱和 Discord 体现。扣分原因:已知限制和版本变更日志缺失。
证据显示:输出为代码仓库,可用性高;边际价值明显(多智能体框架);成本效益未详细说明。扣分原因:成本效益分析不足。
证据显示:README 中的声明部分有论文引用,但未提供具体证据;跨来源验证不足;事实与推断未明确区分。扣分原因:声明可追溯性不足,事实与推断混淆。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 依赖版本固定,可能影响安全更新和兼容性。
- 测试配置包含模拟密钥,但生产环境密钥管理未说明。
- 外部网络调用(如搜索、API)可能涉及数据外发,需用户确认。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.8.1 Patch release: v0.8.1
-
v0.8.0 v0.8.0: Introduction of Data Interpreter, Integration with RAG, and Expanded Support for LLMs
发布说明摘录
Release Highlights Data Interpreter: Open Source and Better "Devin" Data Interpreter is an autonomous agent that uses notebook, browser, shell, stable diffusion, and any custom tool to complete tasks. Data Interpreter has achieved state-of-the-art scores in machine learning, mathematical reasoning, and open-ended tasks, and can analyze stocks, imitate websites, and train models. It can debug code by itself, fix failures by itself, and solve a large number of real-life problems by itself. …在 GitHub 查看 ↗
常见问题
需要哪类模型凭据?
~/.metagpt/config2.yaml 中填写 api_key、model 与 base_url。README 还列出 Azure、Ollama、Groq 等 api_type 选项。它会写入本机哪些位置?
metagpt --init-config 会创建 ~/.metagpt/config2.yaml;示例 CLI 会在 ./workspace 创建项目仓库。能否嵌入已有 Python 程序?
generate_repo 和 ProjectRepo 的库调用方式,也给出了异步调用 DataInterpreter.run 的示例。