曩昔数月,MetaGPT [1] 的智能体(Agents)软件公司实例让人印象深化,它迅速在 GitHub 获得了30k star,也获得了数十个全球专业媒体与大V报道。但智能体软件公司只是智能体社会(Agent Society)的一个缩影。智能体社会或许会有软件公司、电商公司、游戏公司,也会具有很多的独立智能体供给出产力。现代人工智能之父 Jrgen Schmidhuber 也非常认可智能体社会的理念,他与其团队对MetaGPT做出了明显贡献,列入了 MetaGPT 作者名单。
早在1986年,马文明斯基以《心智社会》(Society of Mind, SOM)[2] 之作引领了人工智能领域的一场思想革命。他提出了一个极具创见的理论:心智不需由具有智能的单独部件构成,反而是由一系列简单部件的相互作用集结而成的杂乱体系,正是这种集结,催生了咱们所认识的智能和意识。这一理念关于构建自主智能体以及其后续发展,发生了不可估量的深远影响。
随着人工智能技术至2023年的飞跃,咱们现在能够设想,假如每个细小部件本身都具有必定程度的智能,它们将如何相互作用,发生何种层次的团体智能。2023年上半年关于自然言语心智社会(NLSOM, Language Agent Society)的研评论文 [3] 中,来自阿卜杜拉国王科技大学、瑞士人工智能试验室、牛津大学以及苏黎世联邦理工学院等闻名研讨机构的科学家们一起探讨了智能体社群的或许性。
他们提出,构建成由言语驱动的智能体社区,能够协同完结单一智能体无法或难以独立完结的使命。研讨中提出了一系列试验设想,这些试验设想不仅仅是概念验证,它们被视作迈向一个包含万亿级智能体社会的先导,这个社会或许也会包含人类成员。
在2023年的CogX Festival上,Jrgen向听众展现了他关于大型言语模型(LLMs)的深化见解。他在评论智能体(Agents)相关的话题时,提到了构建自我改善体系的多种途径,包含通用图灵机(Universal Turing Machine)[4]和哥德尔机(Gdel machines)[5]。他指出,目前的大言语模型为咱们供给了一种全新的思想办法—经过运用通用符号言语(例如:自然言语或编程代码)作为接口,来串联不同的模型。这些模型能够与其他言语模型进行交流,一起构建起一个自然言语心智社会(NLSOM)的典范。
Jrgen Schmidhuber 教授是瑞士人工智能试验室 (IDSIA) 的科学主任,以及阿卜杜拉国王科技大学人工智能中心 (AI Initiative, KAUST) 的主任。他的工作对强化学习(Reinforcement Learning),元学习(Meta Learning),以及神经网络(Neural Network)等重要人工智能方向有着深化的影响。
截止目前,Schmidhuber 教授的谷歌学术引用为21万,其间作为一起发明人的长短时记忆(LSTM)论文单篇引用过9万。他在15岁就希望能开发一种比它聪明并且能够自我完善的人工智能,然后他就能够退休了。DeepMind 创始初期四人中的两人以及他们招募的第一个人工智能博士都来自 Jrgen Schmidhuber 的试验室。
在 Jrgen 设想的这一社会中,一切的交流都是通明且易于解说的。他提到了一个被称作“Mindstorm”的概念,即当给定一个问题时,这个自然言语心智社会能够协同协作进行回答。
在这个过程中,社会中的每个成员或许会有不同的想法和视角,它们将收集并整合这些不同的思路,然后做出团体决议计划。
这种办法特别适合于处理那些单个智能体无法有用处理的问题。Jrgen 进一步举例阐明,这种问题能够是编程性质的,如运用 Python 言语处理一个具体的编程难题。经过这种协同作用,智能体社会的智能集结,将能够实现逾越个体才能的处理方案。
此次 MetaGPT 项目的迭代获得了 Jrgen 直接指导,其团队也在代码、写作、工程上做了很多支撑。
接下来,本文将具体解析MetaGPT论文的更新内容,以便让读者能够愈加深化地了解其细节。
1、论文与结构更新
论文 3.1 节更新:论述了MetaGPT结构中的人物专业化规划和人物分工概念,阐明了单个智能体在MetaGPT中的行为办法和SOPs下的组织办法。
论文 3.2 节更新:介绍MetaGPT结构中的通讯机制,包含结构化通讯接口规划和发布-订阅机制。
论文3.3节更新:引进了可履行反应机制,它是一种在代码履行过程中进行持续迭代和自我纠正的机制。
Fig.2. 通讯协议示例(左)和运转中可履行反应的迭代编程示例(右)。左图:Agents运用同享音讯池发布结构化音讯。它们还能够依据自己的装备订阅相关音讯。右图:生成初始代码后,工程师Agent可履行代码并查看运转中是否报错。假如呈现报错,Agent会查看履行成果,并将它们与 PRD、体系规划和代码文件进行比较,进行代码的重写和优化。
1.1、智能体通讯协议
目前大部分多智能体都是经过以自然言语为主的对话办法来完结协作,但这关于处理具体特定使命而言并不是最优的办法。
没有约束和特定要求的自然言语输出,或许会导致信息内容的失真或许语义焦点的偏移。
因而,结构化的通讯内容和接口办法有助于智能体之间进行快速精确的使命要求了解,也有利于信息内容的最大化保留。参考人类SOPs中对不同岗位的人物要求,咱们给每个人物设定了契合人类对应岗位专家的输出规范,要求智能体将原始自然言语信息转换为更结构化的表达(如下图所示),如数据结构、API规划和时序图。
Fig.3 MetaGPT软件开发流程示意图,标明结构化的SOPs能够带来较好的作用 。更具体的演示见附录B
在后续的试验中,咱们对比了 MetaGPT 和 ChatDev(运用谈天办法的交流协作机制)来进行软件开发的这一杂乱使命的实践处理作用,成果阐明结构化的通讯接口规划关于智能体协作能带来明显作用。
发布-订阅机制
在多智能体的通讯过程中,仅仅依靠1v1的单点通讯办法不仅会加剧通讯拓扑的杂乱度,导致协作的功率低下,也会急剧增加开发本钱。因而,咱们经过【发布-订阅】的音讯机制,在结构内实现了同享音讯池和基于爱好的订阅办法。
具体来说,环境供给同享的音讯池,智能体能够从中直接获取信息,无需逐个问询其他智能体。与此同时,智能体可依据自己爱好/重视的行为来进行音讯的过滤和筛选,然后减少音讯/记忆的过载。如图3所示,架构师首要重视产品经理的PRD文档输出,而对测验工程师的文档则重视较少。
1.2、可履行迭代反应规划
调试和履行反应在日常编程使命中发挥着重要作用。然而,现有办法往往缺少自我纠正机制,仅经过代码审查和评定机制进行代码可行性点评。为了进一步减少 LLM 在生成代码上的幻觉问题,咱们引进了可履行反应机制,对代码进行迭代改善。经过主动的代码履行测验成果反应,进行代码可行性点评和判别,促进 LLM 进行自我的迭代和优化。如图2所示,工程师可依据代码履行成果持续更新代码,迭代测验,直到测验经过或许最大N次重试退出。
2、试验更新
在试验部分,咱们增加了对SOPs引进多智能体结构作用的探究试验,和可履行迭代反应带来的代码质量的提高试验。在数据集上:
- 针对代码质量的作用点评:咱们运用了两个公共基准数据集:HumanEval和MBPP。
1)HumanEval 包含 164 个手写编程使命。这些使命包含功用阐明、描绘、参考代码和测验。
2)MBPP 包含 427 个 Python 使命。这些使命涵盖中心概念和规范库功用,并包含阐明、参考代码和主动测验。 - 咱们提出了更具有挑战性的软件开发使命的基准数据集 SoftwareDev:咱们的 SoftwareDev 数据集收集了 70 个具有代表性的软件开发使命实例,每个实例都有自己的使命提示(见论文表 5)。这些使命的规模多种多样(见论文图 5),如迷你游戏、图像处理算法、数据可视化等。它们为真实的开发使命供给了一个强大的测验平台。与之前的数据集不同,SoftwareDev 侧重于工程方面。在比较中,咱们随机挑选了七个具有代表性的使命进行点评。
2.1、可履行迭代反应规划
图4标明,MetaGPT在HumanEval和MBPP基准测验中均优于之前的一切办法。当MetaGPT(运用GPT-4作为基础模型),与GPT-4相比,它在HumanEval基准测验中的Pass @1明显提高。它在这两个公共基准测验中达到了85.9%和87.7%(考虑到试验本钱,部分模型的数值成果直接运用的Dong et al. (2023).所供给的成果[6])。
Figure 4: Pass rates on the MBPP and HumanEval with a single attempt.
2.2、软件开发使命数据集 & 点评方针
关于 SoftwareDev,咱们优先考虑生成项目的实践可用性,并经过人工点评(A、E)或计算剖析(B、C、D)来点评性能,咱们经过可视化示例展现了 MetaGPT 的自主软件生成才能(论文图 5)。有关其他试验和剖析,可参阅论文附录 C:
(A)可履行性:该方针将生成代码从1(失败/无功用)到4(无缺点)进行评级。1代表无功用,2代表可运转但不完美,3代表挨近完美,4代表无缺点。
(B)本钱:这儿的本钱点评包含(1)项目运转时刻(2)Token消耗量和(3)实践费用。
(C)代码计算信息:包含(1)代码文件数量(2)每个文件的平均代码行数 以及(3)总代码行数。
(D)出产功率:根本定义为Token运用量除以代码行数,即每行代码消耗的Token,该数值越小阐明代码出产功率越高。
(E)人工修订本钱:以确保代码顺畅运转所需的修订轮数来量化,这表明人工干预的频率,如调试或导入依靠等修订。
2.3、SOPs vs ChatChain
在处理特定使命的场景中,为了探究 SOPs 对多智能体协作的作用,咱们挑选了开源工作中支撑软件开发使命的智能体结构 ChatDev 作为试验比较方针。ChatDev 是基于 ChatChain 和软件开发瀑布流的人物分工进行智能体组织和协作的结构。咱们从 SoftwareDev 挑选了7个使命进行对比,并比较了上述的相关方针来阐明差异。
如论文表 1 所示,在具有挑战性的 SoftwareDev 数据集上,MetaGPT 几乎在一切方针上都优于 ChatDev。
例如:在可履行性方面,MetaGPT 得到了 3.75 分,非常挨近 4 分(白璧无瑕)。此外,它花费的时刻(503 秒)也明显少于 ChatDev。
在代码计算和人工修改的本钱上也明显优于 ChatDev。虽然 MetaGPT 需求更多的 Token(24,613 或 31,255,而 ChatDev 为 19,292 ),但它只需求 126.5/124.3 个 Tokens 就能生成一行代码。相比之下,ChatDev 运用了 248.9 个 Tokens。
这些成果凸显了 SOPs 在多智能体协作中的优势。
3、称谢
感谢来自KAUST AI中心的履行秘书Sarah Salhi,博士后王宇辉,以及博士生王文一关于此论文供给的主张以及协助。
[2] en.wikipedia.org/wiki/Societ…
[4] en.wikipedia.org/wiki/Univer…