MetaGPT 获得了来自全世界媒体与网友的认可
这个项目究竟有多火?GitHub Trending 月榜世界第一的开源项目,深受国内外各大平台大v喜爱,纷纷评测分享。
项目地址:https://github.com/geekan/MetaGPT
项目情况
MetaGPT 开源1月时间,截至0807,成功突破10k Stars 大关,获得16.7k Stars,Forks 1.3k。
MetaGPT 荣获 GitHub Trending 月榜世界第一。
社区情况
MetaGPT 社区人数也突破 2.3k。
开发情况
MetaGPT 截至目前,总共产生57个Pull Requests。
论文发布
MetaGPT为什么有效,背后的原理是什么?近期,深度赋智 联合 厦大、港中深、南京大学、宾夕法尼亚大学、及UC伯克利联合发布相关论文。
论文探讨了通过使用由大型语言模型(LLMs)驱动的多智能体系统进行自动任务解决的进展。现有的基于LLM的多智能体系统主要集中在简单的对话任务上。由于LLM的幻觉问题,复杂任务很少被研究。为了解决这个问题,作者引入了MetaGPT,一个新颖的框架,将高效的人类工作流程作为元编程方法整合到基于LLM的多智能体协作中。MetaGPT将标准操作程序(SOPs)编码作为智能体提示,以增强结构化协调。它还要求模块化输出,允许具有领域专长的智能体验证输出并减少复合错误。该框架利用装配线范例为各种智能体分配不同的角色,建立了一个可以有效地解构复杂的多智能体协作问题的框架。在协作软件工程基准测试上的实验结果表明,与现有的基于聊天的多智能体系统相比,MetaGPT产生了更加连贯和正确的解决方案。这突显了将人类领域知识整合到多智能体系统中的潜力,为应对复杂的现实世界挑战提供了新的机会。
下图,提供了MetaGPT和现实世界人类团队之间的软件开发SOP的比较描述。它说明了SOPs如何定义社会中的工作角色和工作流程。在软件工程的背景下,瀑布方法概述了从分析到交付的步骤,促进了角色之间的团队合作。该图展示了MetaGPT如何将高级任务分解为由不同角色处理的详细可操作组件,从而促进了角色特定的专业知识和协调。这种方法反映了人类软件开发团队的工作方式,强调了MetaGPT如何设计来处理复杂任务并促进明确的角色划分。
论文还回顾了LLM为基础的自动编程、多智能体协作和自主系统设计等领域的相关工作。作者强调了将人类SOPs整合到多智能体系统中以增强其有效性的重要性。
MetaGPT的设计分为两个层次:基础组件层和协作层。基础层为单个智能体操作和系统范围的信息交换建立核心构建块,包括环境、内存、角色、动作和工具。协作层在基础组件层的基础上,指导单个智能体协同解决复杂问题。它制定了合作的基本机制:知识共享和封装工作流。
下图,提供了 MetaGPT 框架的概述,展示了两层架构设计。基础组件层对智能体操作和系统范围的通信至关重要,而协作层通过知识共享和工作流封装等机制促进智能体协调。
MetaGPT 的核心机制设计包括角色定义,其中框架促进了创建各种专门的角色类。这些角色与环境互动,通过建立的订阅和发布方法。
下图,提供了 MetaGPT 框架内软件开发过程的示意图。这个图说明了 MetaGPT 中的顺序软件开发过程。在收到人类的要求后,产品经理开始进行需求和可行性分析。接下来,架构师为项目制定了一个具体的技术设计。项目经理然后执行序列流程图以解决每个要求。工程师负责实际的代码开发,最后,质量保证(QA)工程师进行全面的测试。这个示意图展示了 MetaGPT 如何模仿现实世界的软件开发过程。
MetaGPT 框架通过标准化输出来处理复杂任务,这有助于提高多智能体协作的一致性和效率。该框架旨在清晰地表示结构信息,并减少因多次对话而产生的不连贯性。
项目地址:https://github.com/geekan/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 还计划清除未使用的代码,统一所有代码的样式,建立贡献标准,并支持多种语言和编程语言。