项目摘要
MetaGPT[1] 是一个多智能体框架,其核心目标非常明确——通过自然语言编程,模拟出一家完整的AI软件公司。只需输入一句简单的需求描述,它就能自动生成一整套软件工程产物:用户故事、竞品分析、需求说明、数据结构、API文档,甚至包括可执行的代码。

在原理上,MetaGPT将不同专业角色分配给大型语言模型(LLMs),让这些AI角色像真实团队成员一样紧密协作,共同攻克复杂的软件开发任务。
项目简介
MetaGPT完整模拟了一家软件公司的运转流程——产品经理负责梳理和细化用户需求,架构师设计技术方案与系统架构,项目经理制定排期并协调进度,工程师负责编写代码。整个协作过程高度结构化且富有条理。
它的核心理念是将标准操作程序(SOP)注入到由LLMs组成的团队中,从而实现代码的自动化生成。换句话说,MetaGPT让AI学会了“按照规范流程办事”,大幅提升代码产出效率。
主要特点
- 自动化: 只需一行需求输入,即可自动输出用户故事、竞品分析、需求说明、数据结构、API、文档等全套软件工程交付物。
- 协作: 通过精确的角色分配,让多个LLM各司其职,形成真正的闭环协作机制。
使用场景
MetaGPT最适配那些需要快速迭代、小步快跑的软件团队,尤其是初创公司和研究项目。它能够极大缩短从概念原型到可运行代码之间的距离,提升产品验证速度。
使用方法
安装
系统需要提前安装Python 3.9或以上版本。然后一条命令即可完成安装:
pip install --upgrade metagpt配置
运行初始化命令生成配置文件,也可以手动编辑 ~/.metagpt/config2.yaml:
metagpt --init-config使用
安装配置完成后,直接在终端中下达指令即可:
metagpt "创建一个2048游戏"也可以在Python代码中作为库进行调用:
from metagpt.software_company import generate_repo, ProjectRepo
repo = generate_repo("创建一个2048游戏")
print(repo)支持多种LLM
MetaGPT对底层模型的选择相当开放,支持的主流大语言模型包括但不限于以下:
- OpenAI API:可用 'gpt-4-turbo' 或 'gpt-3.5-turbo'。
- Anthropic / Claude API:支持以 'claude-*' 开头的模型。
- Zhipu API:具体模型清单参见
llm_config.py。 - iFlytek 星火API:通常只需配置
SPARK_APPID、SPARK_API_SECRET和SPARK_API_KEY。 - Azure OpenAI API:需要配置
base_url、api_key和api_version。 - Google Gemini:默认模型 'gemini-pro'。
- 百度千帆API:支持 'ERNIE-*' 模型及部分开源模型。
- 阿里DashScope API:支持 'qwen-*' 模型及部分开源模型。
- Moonshot / Kimi API:支持以 'moonshot-v1-*' 开头的模型。
- Fireworks API:支持 'Fireworksmodels'。
- Mistral API:支持 'Mistralmodels'。
- Yi / lingyiwanwu API:支持以 'yi-34b-*' 开头的模型。
- ollama API:支持模型 'llama2'。
- WizardLM-2-8x22b via openrouter:通过 openrouter 访问。
- Llama-3-70b instruct via openrouter:通过 openrouter 访问。
- Llama-3-70b via groq:通过 groq 访问。
- Amazon Bedrock API:使用 IAM 密钥对,支持 'meta.llama3-70b-instruct-v1:0'。
参考文档
- 在线文档[2]
- 快速开始指南[3]
- MetaGPT能做什么?[4]
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
资源列表
[1] Github 项目地址: https://github.com/geekan/MetaGPT
[2] 在线文档: https://docs.deepwisdom.ai/main/en/
[3] 快速开始: https://docs.deepwisdom.ai/main/en/guide/get_started/quickstart.html
[4] MetaGPT能做什么?: https://docs.deepwisdom.ai/main/en/guide/get_started/introduction.html
