当前位置:首页|资讯|AutoGPT|GitHub|AI聊天机器人|编程|大语言模型

GitHub38.7K!MetaGPT:另一个AutoGPT,多个AI聊天机器人协作框架

作者:人工智能-研究所发布时间:2024-04-12

随着大型语言模型(LLM)的日渐成熟,利用其构建 AI 智能体成为一个新的研究方向。已有研究使用 LLM 驱动多智能体自主完成了一些任务。

然而,现有研究主要集中在简单任务上,缺乏对复杂任务的探索。这主要是因为大型语言模型存在「幻觉」问题,特别是当多个智能体相互作用时,幻觉会进一步被放大,以至于无法用于复杂任务。

一个名为「MetaGPT」的开源框架尝试解决这个问题。MetaGPT 旨在将有效的人类工作流程作为元编程方法注入到 LLM 驱动的多智能体协作中。MetaGPT 在 GitHub 上线,目前就狂揽超过38.7star。

MetaGPT简介

AI Agent被很多人认为是未来大模型的发展方向。

此前,OpenAI安全团队负责人Lilian Weng也发布了一篇详细介绍AI自动代理机器人的博客,引起了很多人的关注。

7月份发布的MetaGPT是一个全新的AI Agent项目,它基于GPT-4提供了专注于软件开发的自动代理框架,几乎可以理解为配备了产品经历、系统设计师、程序员的一个小团队,可以基于原始的需求直接生成最后的代码项目。本文主要介绍一下这个项目,并分析一下背后的实现方式。

从演示的视频看,你只需要给这个项目一条简单的原始需求,项目就可以利用GPT-4来完成最终的产品实现。下图是MetaGPT在内部通过prompt实现的一个完整的软件开发团队:

可以看到,基本上是按照现代软件开发团队涉及的角色来配备的。不过,能有这样的流程和角色的可能也不是一个小团队。在一个比较完整的软件开发团队中,一个原始需求提出来之后需要经过原始需求分析、需求评审、系统需求分析、系统设计、代码实现、代码评审、代码测试等一系列环节。这样的开发流程可以有效保证代码开发的质量,但是流程较长,不太灵活。如果能用大模型实现这个流程,显然对于软件开发的质量和效率都有很大的帮助。

MetaGPT的实现原理

相比较此前的AutoGPT,MetaGPT的实现原理稍微复杂一点。它在系统中定义了几种角色,并为每种角色配备了目标和prompt模板,以此引导相关角色解决相应问题,主要的角色包括:

从上面的表格总结可以知道,MetaGPT通过定义几种角色来完成初始需求的一步步实现过程。总的入口就是老板的需求,接下来各个角色会根据这个原始需求按照上述步骤进行处理。

MetaGPT一个有意思的设定是它为每种角色定义了一个单独的“进程”运行。每一个角色在运行中都是等待是否有相应的输入出现,一旦观察到相应的输入就会立马根据自己的目标,使用大模型来解决这个问题,并将结果返回到系统中。系统的其它角色一旦监听到有关于自己的任务输入,那就可以获取任务进行执行了。这个也与当前的开发流程和组织架构十分相似。

此外,为了让每个角色有更强大能力,MetaGPT还设置了额外的角色帮助系统完成任务,包括搜索角色、prompt分解角色等。

MetaGPT内置的任务和技能

显然,上述分析我们可以看到MetaGPT最本质的方案是预置多种角色,这些角色都有自己的目标以及输入和输出,它会根据环境中观察的与自己相关的输入来处理。

那么,这些角色有哪些能力和技能呢?这里也总结一下。需要注意的是,这里总结的技能都是一个单独的文件,每一个角色都可以通过引入这种技能来增强自己的能力:

分析代码库:analyze_dep_libs.py

azure的语音合成:azure_tts.py

debug:debug_error.py

设计api:design_api.py

api评审:design_api_review.py

设计文件名:design_filenames.py

项目管理:project_management.py

代码运行:run_code.py

搜索和摘要:search_and_summarize.py

写代码:write_code.py

写代码评审:write_code_review.py

写需求说明书:write_prd.py

写需求说明书评审:write_prd_review.py

写测试用例:write_test.py

简单来说,上面每一个技能都对应一个py文件,每一个py文件里面定义的都是对应技能的prompt模板。最终各个角色都是通过自己所有你有的这些技能来处理输入和输出,完成任务。

MetaGPT 的核心特色功能如下:

1、MetaGPT 将复杂任务分解成多个相对简单的子任务,每个子任务由一个 LLM AI聊天机器人执行,代理之间通过标准化流程文件(SOP)沟通协作。

2、SOP 可以减少代理之间自由对话带来的幻觉风险,保证执行效率。

3、MetaGPT 还有基础层存储代理对话信息,供所有代理查询利用。

4、用户为每个AI聊天机器人设定明确目标和约束,代理必须遵守,这也有助于减少幻觉。

5、MetaGPT 通过AI聊天机器人分工协作、SOP 沟通、设定目标约束等方法,实现单个提示就可以完成复杂任务,同时尽量减少语言模型的幻觉问题。

MetaGPT 已发表研究论文《METAGPT: META PROGRAMMING FOR MULTI-AGENT COLLABORATIVE FRAMEWORK》

MetaGPT的应用场景

MetaGPT可应用于多个领域,包括但不限于:

教育:作为虚拟教师或辅导助手,为学生提供个性化的学习体验。

医疗:协助医生撰写病患记录、提供健康咨询服务。

法律:帮助律师撰写法律文书、进行案件研究。

媒体:自动生成新闻报道、文章或社交媒体内容。

企业:作为客服聊天机器人,提高客户服务效率。

在【AI技术星球】VX公众号后台回复:211,获取MetaGPT 论文代码资料,赶快学起来!

为帮助大家节省时间,如果对开题选题,或者相关的技术有不理解,不知道毕设如何下手,需要论文指导发刊的 【AI交叉学科、SCI、CCF-ABC、期刊、会议、本硕博论文、在职论文指导、大佬Kaggle带队拿牌、 润色发刊等 】 都可以加下方图中威信,我们特聘了TOP级高校教授、AI导师在线科研辅导 

白嫖100G入门到进阶AI资源包+kaggle带队拿牌+就业指导+技术问题答疑

资料包:1、超详细的人工智能学习路

2、OpenCV、Pytorch、YOLO等教程

3、人工智能快速入门教程(Python基础、数学基础、NLP)附源码课件数据

4、机器学习算法+深度学习神经网络基础教程

5、人工智能必看书籍(花书、西瓜书、蜥蜴书等)

6、顶刊论文及行业报告

7、SCI论文攻略 及润色等

(需要这个资源包的记得说明您还需要这个资料包)





Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1