目標智能體社會,MetaGPT攜手Jürgen Schmidhuber團隊

WBOY
發布: 2023-11-09 08:37:45
轉載
1071 人瀏覽過

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

过去数月,MetaGPT [1] 的智能体(Agents)软件公司实例让人印象深刻,它迅速在 GitHub 获得了30k star,也获得了数十个全球专业媒体与大V报道。但智能体软件公司只是智能体社会(Agent Society)的一个缩影。智能体社会或许会有软件公司、电商公司、游戏公司,也会拥有大量的独立智能体提供生产力。现代人工智能之父 Jürgen Schmidhuber 也非常认可智能体社会的理念,他与其团队对MetaGPT做出了显著贡献,列入了 MetaGPT 作者名单。

早在1986年,马文·明斯基以《心智社会》(Society of Mind, SOM)[2] 之作引领了人工智能领域的一场思想革命。他提出了一个极具创见的理论:心智不需由具有智能的单独部件构成,反而是由一系列简单部件的相互作用集结而成的复杂系统,正是这种集结,催生了我们所认识的智能和意识。这一理念对于构建自主智能体以及其后续发展,产生了不可估量的深远影响。

随着人工智能技术至2023年的飞跃,我们现在可以设想,如果每个微小部件本身都拥有一定程度的智能,它们将如何相互作用,产生何种层次的集体智能。2023年上半年关于自然语言心智社会(NLSOM,  Language Agent Society)的研究论文 [3] 中,来自阿卜杜拉国王科技大学、瑞士人工智能实验室、牛津大学以及苏黎世联邦理工学院等知名研究机构的科学家们共同探讨了智能体社群的可能性。

他们提出,构建成由语言驱动的智能体社区,能够协同完成单一智能体无法或难以独立完成的任务。研究中提出了一系列实验构想,这些实验构想不仅仅是概念验证,它们被视作迈向一个包含万亿级智能体社会的先导,这个社会可能也会包括人类成员。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

https://arxiv.org/pdf/2305.17066.pdf

在2023年的 CogX Festival 上,Jürgen 向听众展示了他对于大型语言模型(LLMs)的深刻见解。他在讨论智能体(Agents)相关的话题时,提到了构建自我改进系统的多种途径,包括通用图灵机(Universal Turing Machine)[4] 和哥德尔机(Gödel machines)[5]。他指出,目前的大语言模型为我们提供了一种全新的思维模式 — 通过使用通用符号语言(例如:自然语言或编程代码)作为接口,来串联不同的模型。这些模型能够与其他语言模型进行交流,共同构建起一个自然语言心智社会(NLSOM)的范例。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

Jürgen Schmidhuber 教授是瑞士人工智能实验室 (IDSIA) 的科学主任,以及阿卜杜拉国王科技大学人工智能中心 (AI Initiative, KAUST) 的主任。他的工作对强化学习(Reinforcement Learning),元学习(Meta Learning),以及神经网络(Neural Network)等重要人工智能方向有着深刻的影响。

截止目前,Schmidhuber 教授的谷歌学术引用为21万,其中作为共同发明人的长短时记忆(LSTM)论文单篇引用过9万。他在15岁就希望能开发一种比它聪明并且能够自我完善的人工智能,然后他就可以退休了。DeepMind 创始初期四人中的两人以及他们招募的第一个人工智能博士都来自 Jürgen Schmidhuber 的实验室。

在 Jürgen 构想的这一社会中,所有的交流都是透明且易于解释的。他提到了一个被称作“Mindstorm”的概念,即当给定一个问题时,这个自然语言心智社会能够协同合作进行解答。

在这个过程中,社会中的每个成员可能会有不同的想法和视角,它们将收集并整合这些不同的思路,从而做出集体决策。

这种方式特别适合于解决那些单个智能体无法有效解决的问题。Jürgen 进一步举例说明,这种问题可以是编程性质的,如使用 Python 语言解决一个具体的编程难题。通过这种协同作用,智能体社会的智能集结,将能够实现超越个体能力的解决方案。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

此次 MetaGPT 项目的迭代获得了 Jürgen 直接指导,其团队也在代码、写作、工程上做了大量支持。

接下來,本文將詳細解析MetaGPT論文的更新內容,以便讓讀者能更深入地理解其細節。

1、論文與框架更新

論文3.1 節更新:闡述了MetaGPT框架中的角色專業化設計和角色分工概念,說明了單一智能體在MetaGPT中的行為模式和SOPs下的組織方式。

論文 3.2 節更新:介紹MetaGPT框架中的通訊機制,包括結構化通訊介面設計和發布-訂閱機制。

論文 3.3 節更新:引入了可執行回饋機制,它是一種在程式碼執行過程中進行持續迭代和自我修正的機制。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

Fig.2. 通訊協定範例(左)和運行中可執行回饋的迭代程式設計範例(右)。左圖:Agents使用共享訊息池發布結構化訊息。它們還可以根據自己的配置訂閱相關訊息。右圖:產生初始程式碼後,工程師Agent可執行程式碼並檢查運行中是否報錯。如果發生報錯,Agent會檢查執行結果,並將它們與 PRD、系統設計和程式碼檔案進行比較,進行程式碼的重寫和最佳化。

1.1、智能體通訊協定

目前大部分多智能體都是透過以自然語言為主的對話形式來完成協作,但這對於解決具體特定任務而言並不是最優的方式。

沒有約束和特定要求的自然語言輸出,可能會導致資訊內容的失真或語意焦點的偏移。

因此,結構化的通訊內容和介面形式有助於智能體之間進行快速且準確的任務要求理解,也有利於資訊內容的最大化保留。參考人類 SOPs 中對不同崗位的角色要求,我們為每個角色設定了符合人類對應崗位專家的輸出規範,要求智能體將原始自然語言訊息轉換為更結構化的表達(如下圖所示),如資料結構、API設計和時序圖。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

Fig.3 MetaGPT 軟體開發流程示意圖,​​顯示結構化的 SOPs 可帶來較好的效果 。更詳細的演示請見附錄 B

在後續的實驗中,我們比較了MetaGPT 和ChatDev(使用聊天形式的溝通協作機制)來進行軟體開發的這項複雜任務的實際解決效果,結果說明結構化的通訊介面設計對於智慧體協作能帶來顯著效果。

發布-訂閱機制

在多智能體的通訊過程中,僅依賴1v1的單點通訊方式不僅會加劇通訊拓樸的複雜度,導致協作的效率低下,也會急劇增加開發成本。因此,我們透過【發布-訂閱】的訊息機制,在框架內實現了共享訊息池和基於興趣的訂閱方式。

具體來說,環境提供共享的消息池,智能體可以從中直接獲取信息,無需逐一詢問其他智能體。同時,智能體可根據自己興趣/關注的行為來進行訊息的過濾和篩選,從而減少訊息/記憶的過載。如圖3所示,架構師主要專注於產品經理的 PRD文件輸出,而對測試工程師的文件則關注較少。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

1.2、可執行迭代回饋設計

調試和執行回饋在日常程式設計任務中發揮重要作用。然而,現有方法往往缺乏自我修正機制,僅透過程式碼審查和評審機制進行程式碼可行性評估。為了進一步減少 LLM 在生成程式碼上的幻覺問題,我們引入了可執行回饋機制,對程式碼進行迭代改進。透過自動的程式碼執行測試結果回饋,進行程式碼可行性評估和判斷,促進 LLM 進行自我的迭代和最佳化。如圖2所示,工程師可依程式碼執行結果持續更新程式碼,迭代測試,直到測試通過或最大N次重試退出。

2、實驗更新

在實驗部分,我們增加了對 SOPs 引入多智能體框架效果的探索實驗,和執行迭代回饋所帶來的程式碼質量的提升實驗。在資料集上:

  1. 針對程式碼品質的效果評估:我們使用了兩個公共基準資料集:HumanEval 和 MBPP。
    1)HumanEval 包含 164 個手寫程式設計任務。這些任務包括功能說明、描述、參考程式碼和測試。
     2)MBPP 包含 427 個 Python 任務。這些任務涵蓋核心概念和標準庫功能,並包括說明、參考程式碼和自動測試。
  2. 我們提出了更具挑戰性的軟體開發任務的基準資料集SoftwareDev:我們的SoftwareDev 資料集收集了70 個具有代表性的軟體開發任務實例,每個實例都有自己的任務提示(見論文表5)。這些任務的範圍多種多樣(見論文圖 5),如迷你遊戲、影像處理演算法、資料視覺化等。它們為真實的開發任務提供了一個強大的測試平台。與先前的資料集不同,SoftwareDev 專注於工程方面。在比較中,我們隨機選擇了七個代表性的任務進行評估。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

2.1、可執行迭代回饋設計

圖 4 顯示,MetaGPT 在 HumanEval 與 MBPP 基準測試中均優於之前的所有方法。當 MetaGPT(使用 GPT-4 作為基礎模型),與 GPT-4 相比,它在 HumanEval 基準測試中的 Pass @1 顯著提高。它在這兩個公共基準測試中達到了 85.9% 和 87.7%(考慮到實驗成本,部分模型的數值結果直接使用的 Dong et al. (2023). 所提供的結果 [6])。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

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)人工修訂成本:以確保程式碼順利運行所需的修訂輪數來量化,這表示人工幹預的頻率,如調試或導入依賴等修訂。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

2.3、SOPs vs ChatChain

在解決特定任務的場景中,為了探討SOPs 對多智能體協作的效果,我們選擇了開源工作中支援軟體開發任務的智能體框架ChatDev 作為實驗比較對象。 ChatDev 是基於 ChatChain 和軟體開發瀑布流的角色分工進行智慧體組織和協作的框架。我們從 SoftwareDev 選擇了7個任務進行對比,並比較了上述的相關指標來說明差異。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

如論文表 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 在多智能體協作中的優勢。

目标智能体社会,MetaGPT携手Jürgen Schmidhuber团队

3、致謝

感謝來自 KAUST AI 中心的執行秘書 Sarah Salhi,博士後王宇輝,以及博士生王文一於此論文提供的建議以及幫助。

[1] https://arxiv.org/pdf/2308.00352.pdf

[2] https://en.wikipedia.org/wiki/Society_of_Mind

[3] https://arxiv.org/pdf/2305.17066.pdf

[4] https://en.wikipedia.org/wiki/Universal_Turing_machine

[5] https://en.wikipedia.org/wiki/Gödel_machine

[6] https://arxiv。 org/abs/2304.07590

以上是目標智能體社會,MetaGPT攜手Jürgen Schmidhuber團隊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jiqizhixin.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板