MetaGPT攻略:华人开源多 Agent 框架。
MetaGPT 是一个由华人团队开源的多智能体协作框架,它的核心理念是“模拟一家软件公司”。在这个框架里,你可以设定产品经理、架构师、项目经理、工程师等多个AI角色,它们通过分工协作,从一句话的需求描述开始,自动生成需求文档、设计文档、任务列表,甚至直接输出代码。
适合人群:
目标: 跑通第一个Demo,理解“一句话生成软件”的过程。
环境准备
conda create -n metagpt python=3.9)。pip install metagpt。~/.metagpt/config2.yaml中填入你的OpenAI API Key(或兼容的国产大模型API,如通义千问、DeepSeek)。注意:请使用国内合法途径获取API服务,不要使用任何非法代理工具。第一个项目:生成贪吃蛇游戏
在终端运行:
metagpt "写一个贪吃蛇游戏,使用pygame"
观察输出:你会看到“产品经理”写PRD,“架构师”画技术设计,“工程师”生成代码。最终在workspace目录下找到可运行的snake_game.py。
关键理解
logs文件夹中的对话记录,理解Agent之间的协作逻辑。目标: 掌握参数调优,完成一个中等复杂度项目。
控制输出质量
config2.yaml中的max_tokens(建议4096+)和temperature(0.3-0.7之间,越低越稳定)。n_rounds控制协作轮次(默认5轮,复杂任务可增至10轮)。项目实战:生成一个待办事项Web应用
使用更具体的需求:
metagpt "创建一个Flask待办事项应用,支持用户注册、登录、增删改查任务,使用SQLite数据库,前端用Bootstrap"
如果生成的代码有bug,可以在需求中追加“请修复登录功能中的CSRF漏洞”,MetaGPT会重新分析并修复。
国产模型适配
如果你使用国产大模型(如智谱GLM、百度文心),在配置文件中将api_type改为"openai"(兼容格式),并填入对应的API地址和密钥。注意:国产模型在复杂推理任务上可能不如GPT-4,但基础文档生成和简单代码已足够。
目标: 构建自己的Agent角色和工作流。
自定义角色
在metagpt/roles/下创建新角色,例如“测试工程师”:
from metagpt.roles import Role
class Tester(Role):
name: str = "Tester"
profile: str = "Test Engineer"
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.set_actions([WriteTestCases, ExecuteTests])
串联多个项目
使用Team类创建流水线:一个项目输出作为另一个项目的输入。例如:先让MetaGPT生成API文档,再让另一个团队根据文档生成前端代码。
集成外部工具
通过ActionNode调用Git、Docker等工具。例如:在代码生成后自动运行pytest并反馈结果给“工程师”角色进行修复。
如果你发现MetaGPT不适合你的场景,可以考虑以下替代方案:
一句话总结:MetaGPT适合需要“从需求到代码全流程自动化”且愿意投入学习成本的用户;如果只是写几个函数,或者需要更稳定的输出,建议选择更轻量的工具。