MetaGPT 获得了来自全世界媒体与网友的认可
这个项目究竟有多火?GitHub Trending 月榜世界第一的开源项目,深受国内外各大平台大v喜爱,纷纷评测分享。
项目情况
MetaGPT 开源1月时间,截至0807,成功突破10k Stars 大关,获得14.1k Stars,Forks 1.3k。
MetaGPT 荣获 GitHub Trending 月榜世界第一。
GitHub Trending Monthly
社区情况
MetaGPT 社区人数也突破 2.3k。
开发情况
MetaGPT 截至目前,总共产生57个Pull Requests。
论文发布
MetaGPT为什么有效,背后的原理是什么?近期,深度赋智 联合 厦大、港中深、南京大学、宾夕法尼亚大学、及UC伯克利联合发布相关论文。
论文探讨了通过使用由大型语言模型(LLMs)驱动的多智能体系统进行自动任务解决的进展。现有的基于LLM的多智能体系统主要集中在简单的对话任务上。由于LLM的幻觉问题,复杂任务很少被研究。为了解决这个问题,作者引入了MetaGPT,一个新颖的框架,将高效的人类工作流程作为元编程方法整合到基于LLM的多智能体协作中。MetaGPT将标准操作程序(SOPs)编码作为智能体提示,以增强结构化协调。它还要求模块化输出,允许具有领域专长的智能体验证输出并减少复合错误。该框架利用装配线范例为各种智能体分配不同的角色,建立了一个可以有效地解构复杂的多智能体协作问题的框架。在协作软件工程基准测试上的实验结果表明,与现有的基于聊天的多智能体系统相比,MetaGPT产生了更加连贯和正确的解决方案。这突显了将人类领域知识整合到多智能体系统中的潜力,为应对复杂的现实世界挑战提供了新的机会。
图1,提供了MetaGPT和现实世界人类团队之间的软件开发SOP的比较描述。它说明了SOPs如何定义社会中的工作角色和工作流程。在软件工程的背景下,瀑布方法概述了从分析到交付的步骤,促进了角色之间的团队合作。该图展示了MetaGPT如何将高级任务分解为由不同角色处理的详细可操作组件,从而促进了角色特定的专业知识和协调。这种方法反映了人类软件开发团队的工作方式,强调了MetaGPT如何设计来处理复杂任务并促进明确的角色划分。
论文还回顾了LLM为基础的自动编程、多智能体协作和自主系统设计等领域的相关工作。作者强调了将人类SOPs整合到多智能体系统中以增强其有效性的重要性。
MetaGPT的设计分为两个层次:基础组件层和协作层。基础层为单个智能体操作和系统范围的信息交换建立核心构建块,包括环境、内存、角色、动作和工具。协作层在基础组件层的基础上,指导单个智能体协同解决复杂问题。它制定了合作的基本机制:知识共享和封装工作流。
图1
图2,提供了 MetaGPT 框架的概述,展示了两层架构设计。基础组件层对智能体操作和系统范围的通信至关重要,而协作层通过知识共享和工作流封装等机制促进智能体协调。
MetaGPT 的核心机制设计包括角色定义,其中框架促进了创建各种专门的角色类。这些角色与环境互动,通过建立的订阅和发布方法。
图2
图3,提供了 MetaGPT 框架内软件开发过程的示意图。这个图说明了 MetaGPT 中的顺序软件开发过程。在收到人类的要求后,产品经理开始进行需求和可行性分析。接下来,架构师为项目制定了一个具体的技术设计。项目经理然后执行序列流程图以解决每个要求。工程师负责实际的代码开发,最后,质量保证(QA)工程师进行全面的测试。这个示意图展示了 MetaGPT 如何模仿现实世界的软件开发过程。
图3
MetaGPT 框架通过标准化输出来处理复杂任务,这有助于提高多智能体协作的一致性和效率。该框架旨在清晰地表示结构信息,并减少因多次对话而产生的不连贯性。
Dev情况
近日, MetaGPT 也 host 了首次 Dev组的会议。
对于 MetaGPT 与人类的交互方式也得出了结论。
假设: metaprogramming 会成为 silver bullet,有一个或一些 agents 可以做自动开发。
推理: 到达这个级别,人类不需要太多干预生成, agent 可以最小化与人类的交互,只在必须时对人类求助。
结论: 应该由 agent 发起求助,而非人类干预。
并且,为了能加速迭代到更优的质量,Dev组进一步对齐了需求特性点:
- 长期目标: MetaGPT 的远景是实现自我进化,这包括自我训练、微调、优化、使用和更新。
- 短期目标 : 短期内,MetaGPT 计划成为投资回报率(ROI)最高的多智能体框架,并支持全自动实施中等规模的项目(约2000行代码)。此外,它还计划完成大部分已确定的任务,以达到0.5版本。
- 可用性: 在可用性方面,MetaGPT 计划发布v0.01版本的 pip包、支持整体保存和恢复软件公司的状态、人工确认和修改流程、支持进程缓存,以及解决代码解析错误等问题。此外,他们还计划编写全方位的文档,支持 Docker,并接受用户的需求添加和修改。
- 特性: 在特性方面,MetaGPT 将专注于提供一个更标准和稳定的解析器,建立独立的输出队列,尝试原子化所有角色工作,并完成模块的设计和实施。它还会支持多种记忆模式,完善测试角色,并允许角色之间的自然沟通。
- 策略: 在策略上,MetaGPT 计划支持 ReAct、CoT、ToT 和 Reflection 策略。
- 行动: MetaGPT 将实现各种行动,包括搜索、知识搜索、数据EDA 和审查。它还计划增加文档、删除文档、进行模型训练、错误调试,以及基于 OpenAPI v3.0生成可靠的单元测试。
- 插件: MetaGPT 将与插件系统兼容,提供完整的用户体验。
- 工具: MetaGPT将支持各种API工具,如SERPER、Selenium 和 Playwright。
- 角色: MetaGPT 的目标是完善每个角色的动作池和技能池,并添加新角色,如小红书博主、电商卖家和数据分析师。
- 评估: 在评估方面,MetaGPT 计划支持游戏数据集的评估,并复制论文来实现单个游戏角色的全技能获取。它还将支持数学数据集的评估,并复制论文来达到当前数学问题解决的最佳实践。
- LLM: MetaGPT 将支持 Claude 底层API、Azure异步API、所有 API 的流式版本,并努力使 gpt-3.5-turbo 可用。
- 其他: 除了上述特点,MetaGPT 还计划清除未使用的代码,统一所有代码的样式,建立贡献标准,并支持多种语言和编程语言。