GPT应用_MetaGPT
简介
最近朋友和 B 站都给我推 MetaGPT,正好有空就下载亲测了一下。MetaGPT 是目前(230809)github 热榜第一名,今天就加了 3000 多个星。
MetaGPT 是一个多智能体框架,能够生成不同的角色:工程师、产品经理、架构师和项目经理。然后共同构建一个软件项目,使用的模型是 GPT-4,与 AutoGPT 有些类似。
中文帮助文档见:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
实验
搭建环境
1 | $ git clone https://github.com/geekan/MetaGPT # 约11M左右 |
运行
1 | $ python startup.py "写一个微信小程序,实现简单的文件阅读和翻译功能" |
运行之后,程序创建项目:
workspace/wechat_mini_reader/
实验结果
- 最终花费:¥4.07(GPT-4 用的是一个国内的中转)
- 我的需求是:写一个微信小程序,实现简单的文件阅读和翻译功能,最终它生成了一组 Python 程序(不是微信小程序),是 demo 的感觉,离完整应用差得比较远。
- 生成 5 个代码文件,包含:Flask 构架、sqlite3 数据库,调用 google translate 的翻译,文件读取等等,整体生成数据 400 行,其中含代码 105 行,其它为设计文档。
主观感受
- 可以设置你想花多少钱调用 GPT-4,默认 3$
- 工具链做得很好,一小时之内可以上手
- 可以做 demo,简化了项目开始的工作量
- 想用它做一个完整项目,个人觉得差距还比较大
- 它生成的竞品分析,API 文档,mermaid 图也都挺好的
- 可能存在大局观问题:每个小步做得都对,合一块不一定对
代码分析
目前 metagpt 的项目,核心代码量有 80 多个 python 文件,共 6000 多行(代码文件都不大),底层也使用了 langchain
主要代码
- startup.py:代码入口,可以设置想花多少钱,需要几个角色合作……
- actions:使用 PROMPT 方式,通过调用 GPT 和其它 API 实现了具体的功能,比如:写代码、分析库依赖、文本转语音、运行代码、测试……
- document_store:各种存储的支持,faiss, milvus, chromadb 向量数据库,本地存储,各种模式数据的读取,
- management:管理所有技能
- memory:管理存储
- prompts:管理各种角色的提示
- provider:调用大语言模型,目前支持 Claude 和 OpenAI
- roles:各角色的具体实现和相关工具,角色包含:工程师,架构师,产品,项目管理……
- tools & utils:辅助工具
底层逻辑
该工具是将软件开发拆解成前后多个步骤,调用模型完成各个步骤,通过提示以及对返回结果的解析,最终结合成完整的项目。即:用大模型实现了软件开发的全链路。
可能对于开发某种类型的应用效果比较好,对于所以软件而言,个人觉得目前尚处于初始阶段。有时候不如针对具体问题,直接提问;有时候 MetaGPT 过程也给我们一些启发。
另外,真正应用过程可能遇到的问题是:开发简单的软件可能不需要这么多角色;开发复杂的软件,相互交错的工作,GPT 是否能支撑非常复杂的过程?
虽然我个人觉得离自动编程还挺远,不过还是有很多有意思和值得借鉴的内容~~
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.