做企业网站排名,学校为什么要建设网站,印度人通过什么网站做国际贸易,网站建设致谢在 AI 产品爆炸的今天#xff0c;拥有各种本领的 AI 产品层出不穷#xff0c;但 MetaGPT 的出现仍然显的格外耀眼#xff0c;其可以实现只输入单一 prompt#xff0c;就可以输出需求分析、需求文档、技术架构、最终代码等等产物#xff0c;这相当于一个开发团队的输出成果…在 AI 产品爆炸的今天拥有各种本领的 AI 产品层出不穷但 MetaGPT 的出现仍然显的格外耀眼其可以实现只输入单一 prompt就可以输出需求分析、需求文档、技术架构、最终代码等等产物这相当于一个开发团队的输出成果为何 MetaGPT 拥有此等本事且听我娓娓道来。 MetaGPT 是一个多代理协同的元编程框架META PROGRAMMING FOR MULTI-AGENT COLLABORATIVE FRAMEWORK读起来感觉有些拗口 那你需要首先了解一下什么是多代理的语言模型这里先容我讲一个故事: 想必大家都用过 ChatGPT 或者和它类似的生成式 AI 程序他就像一个知识丰富的老者每当你向他进行提问时或者换句话说向他输入一个 prompt 时他都会用他渊博的知识对你进行解答让我们带入一个场景某一天你想让 ChatGPT 给你生成一份低脂健康菜谱当你输入相应的提示词时它给你返回了所需要的食材但你突然发现有一道菜你不会做这时你又需要问它关于这道菜的制作流程等你知道这道菜的制作流程后你突然发现有一个食材你不知道哪里有卖这时你还需要查找该食材的购买方法... ...
看到这里想必聪明的你一定想到了既然 AI 懂得这么多为什么还需要一次又一次的进行询问呢它自己应该可以分饰多个角色可以既是一个营养师也是一个大厨还可以是一个采购专家而我们只需要提出一个需求这些 AI 角色就可以各司其职帮我解决问题。 没错这就是拥有多个代理的语言模型像营养师、大厨、采购专家它们就是一个个的代理它们经过专属领域知识的训练是各自领域的专家重要的是他们之间懂得协作可以合作解决问题。这就是 MetaGPT 要做的事情只不过它专攻的是软件领域培养的专家是产品经理项目经理架构师和开发工程师就和现实的软件公司一样他想通过这些 AI 专家来干掉软件公司 说了这么多接下来我们来了解一下 MetaGPT 是如何实现多代理间的协同的 MetaGPT 的框架主要分为两个层级分别是 基础组件层Foundation Components Layer协同层Collaborations Layer让我们对这两个层级分别进行介绍 基础组件层Foundation Components Layer基础组件顾名思义其是为上层提供基础能力的包括 AI 代理的角色设置代理角色可以执行的动作代理角色们所处的环境以及共享的记忆等 协同层Collaborations Layer是 MetaGPT 的核心功能所在包含其两大法宝分别为 封装工作流程Encapsulating Workflows知识共享Knowledge Sharing。 封装工作流程Encapsulating Workflows
工作流是人们对从事工作协同的总结和提炼是来自人类社会的智慧我们可以将总结和提炼出的流程称作标准化操作流程Standardized Operating Procedures简称 SOPs。 对于标准化操作流程来说我们需要关心的是任务拆解包含哪些流程由哪些角色参与了流程以及每一步流程的标准化输出是什么。 知识共享Knowledge Sharing
可以理解为不同角色间存在着一个消息中心他就像是这些角色的司令在统领着他们把控整个流程。 它负责实现不同角色的消息传递并且也负责通知在当前流程轮到那个角色需要干活了。 在 MetaGPT 中每一个角色就相当于一个 AI 代理你需要填写它的名称职业目标以及对它的约束条件角色构建完成后就会根据 SOPs 给它分配到相应的流程中就可以让它开始上班了 那么 MetaGPT 中软件开发的 SOPs 是什么样的呢 对于用户输入的需求首先由产品经理角色进行处理该角色的标准化输出包括 产品目标 用户故事 竟品分析 需求分析 需求池 这些标准化的输出内容会进入共享知识库从而让下一节点的角色可以学习。接下来由架构师的角色进行架构设计该角色的标准化输出包括 程序调用图时序图类图 程序文件列表
紧接着就由项目经理进行项目分析该角色的标准化输出包括 任务分析 任务列表 逻辑分析即每个文件的作用
完成角色的标准化输出后就可以由工程师进行开发这时该角色的标准化输出为每一个文件的代码内容。最后一个步骤则是 QA 环节测试工程师会 review 每一个文件的代码最终输出程序代码本体。
从上述流程来看 MetaGPT 相当还原一个标准的程序开发流程通过该流程串联其每一个 AI 代理角色进行工作简直就像是一个程序生成车间 说到这里你有没有很心动也想试用一下 MetaGPT当然没问题MetaGPT 是完全开源的你可以在 Github Repo 上来访问其使用方法这里我只做一个简单的介绍 确保在你的环境中存在 node 和 npm并且使用 npm 安装 mermaid-cli :
sudo npm install -g mermaid-js/mermaid-cli 确保你的环境中存在 python并且版本为 v3.9; 克隆 MetaGPT 到本地并且安装依赖:
git clone https://github.com/geekan/metagptcd metagptpip install -e. 设置你的 AI token通常使用 ChatGPT 4.0 API token :
// config/config.yamlOPENAI_API_KEY: your-openai-token 现在你就可以尝试输入你的 prompt :
# Run the scriptpython startup.py Write a cli snake game 运行后代码以及相应的设计文件会生成在 workspace 目录下接着就可以运行生成后的代码:
# workspace/your-projectpython main.py 就现阶段来说 MetaGPT 还远远不能替换掉软件公司因为软件开发是一个不断迭代改进的过程而只通过一句话的 prompt 还是远远不能生成一个完整的软件其还需要增加更多可以对程序进行设计的节点例如反复的需求讨论以及增加 ui 设计数据库设计等流程AI 自动化的程序设计还有很长的路要走。 但它的出现也向我们传递了一个信号即这是一个程序开发走向工业化的时代而像 MetaGPT 这样的多代理协同编程框架必然将如同蒸汽机一样带领我们打开新时代的大门。 那么如何在变化中求生存如何在颠覆中找到新风口呢鼎道智联一直在探索新兴科技技术并且DingOS 智能操作系统也正在探索利用这些新兴技术来实现“助天下人尽享智能物联服务”。如果你也认可我们的想法欢迎关注我们加入鼎道生态~