随着大型语言模型(LLM)的日渐成熟,利用其构建 AI 智能体成为一个新的研究方向。已有研究使用 LLM 驱动多智能体自主完成了一些任务。
然而,现有研究主要集中在简单任务上,缺乏对复杂任务的探索。这主要是因为大型语言模型存在「幻觉」问题,特别是当多个智能体相互作用时,幻觉会进一步被放大,以至于无法用于复杂任务。
一个名为「MetaGPT」的开源框架尝试解决这个问题。MetaGPT 旨在将有效的人类工作流程作为元编程方法注入到 LLM 驱动的多智能体协作中。MetaGPT 在 GitHub 上线,目前就狂揽超过38.7star。
AI Agent被很多人认为是未来大模型的发展方向。
此前,OpenAI安全团队负责人Lilian Weng也发布了一篇详细介绍AI自动代理机器人的博客,引起了很多人的关注。
7月份发布的MetaGPT是一个全新的AI Agent项目,它基于GPT-4提供了专注于软件开发的自动代理框架,几乎可以理解为配备了产品经历、系统设计师、程序员的一个小团队,可以基于原始的需求直接生成最后的代码项目。本文主要介绍一下这个项目,并分析一下背后的实现方式。
从演示的视频看,你只需要给这个项目一条简单的原始需求,项目就可以利用GPT-4来完成最终的产品实现。下图是MetaGPT在内部通过prompt实现的一个完整的软件开发团队:
可以看到,基本上是按照现代软件开发团队涉及的角色来配备的。不过,能有这样的流程和角色的可能也不是一个小团队。在一个比较完整的软件开发团队中,一个原始需求提出来之后需要经过原始需求分析、需求评审、系统需求分析、系统设计、代码实现、代码评审、代码测试等一系列环节。这样的开发流程可以有效保证代码开发的质量,但是流程较长,不太灵活。如果能用大模型实现这个流程,显然对于软件开发的质量和效率都有很大的帮助。
相比较此前的AutoGPT,MetaGPT的实现原理稍微复杂一点。它在系统中定义了几种角色,并为每种角色配备了目标和prompt模板,以此引导相关角色解决相应问题,主要的角色包括:
从上面的表格总结可以知道,MetaGPT通过定义几种角色来完成初始需求的一步步实现过程。总的入口就是老板的需求,接下来各个角色会根据这个原始需求按照上述步骤进行处理。
MetaGPT一个有意思的设定是它为每种角色定义了一个单独的“进程”运行。每一个角色在运行中都是等待是否有相应的输入出现,一旦观察到相应的输入就会立马根据自己的目标,使用大模型来解决这个问题,并将结果返回到系统中。系统的其它角色一旦监听到有关于自己的任务输入,那就可以获取任务进行执行了。这个也与当前的开发流程和组织架构十分相似。
此外,为了让每个角色有更强大能力,MetaGPT还设置了额外的角色帮助系统完成任务,包括搜索角色、prompt分解角色等。
显然,上述分析我们可以看到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可应用于多个领域,包括但不限于:
教育:作为虚拟教师或辅导助手,为学生提供个性化的学习体验。
医疗:协助医生撰写病患记录、提供健康咨询服务。
法律:帮助律师撰写法律文书、进行案件研究。
媒体:自动生成新闻报道、文章或社交媒体内容。
企业:作为客服聊天机器人,提高客户服务效率。
在【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论文攻略 及润色等
(需要这个资源包的记得说明您还需要这个资料包)