首頁  >  文章  >  科技週邊  >  Agent像人一樣分工協作,還能「群組聊天」交換訊息

Agent像人一樣分工協作,還能「群組聊天」交換訊息

王林
王林轉載
2024-02-04 14:36:301195瀏覽

智能體也要有「規範手冊」!

一項名為MetaGPT的研究,透過對智能體角色進行明確分工,並要求多個智能體在協作中採用統一規範的「交流格式」等方法,讓智能體性能大增。

目前,這項研究在GitHub上已狂攬33.6k星,並在深度學習頂會ICLR 2024上被收錄為Oral論文。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

總的來說,MetaGPT是模仿人類的分工協作方式,將各種任務的標準作業流程編碼為智能體的「規範手冊”,不同角色的智能體負責不同的專業任務。

例如產品經理角色可以使用網路搜尋工具,而工程師角色可以執行程式碼:

Agent像人一樣分工協作,還能「群組聊天」交換訊息

#由此多智能體協作完成任務。

研究人員為智能體們設定了一個“訊息共享群”,智能體可以自由查看其他智能體發送的相關訊息。

經過測試,使用此方法,在程式碼補全任務的公開資料集HumanEval和MBPP上,MetaGPT分別取得了85.9%和87.7%的新SOTA。

目前這項工作已開源,在全網受到不少網友關注:

Agent像人一樣分工協作,還能「群組聊天」交換訊息

#MetaGPT長啥樣?

這項研究由DeepWisdom團隊聯合KAUST AI中心、廈門大學、CUHK(SZ)、南京大學、UPenn以及UCB等眾多大學機構的學者共同提出。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

隨著大模型能力的不斷提升,基於大模型的智能體來解決各種任務在學術界和工業界的興趣日益增長。

值得注意的是,採用多個智能體協作解決特定領域問題的研究仍處於早期階段。現有研究主要集中在透過角色扮演機制和溝通拓樸設定來增強任務理解和推理決策能力。儘管取得了一定進展,但這些方法仍然依賴直接的對話形式,缺乏智能體行為的標準規範和約束。

近期的一些工作也指出,基於對話形式的多智能體系統可能面臨資訊不一致、歧義以及可能的無效重複和無限循環等問題。

相較之下,人類工作流程中的標準作業流程(SOPs)不僅明確定義了參與角色的分工和拓樸結構,也建立了角色產出結果的標準規範。

研究表明,明確定義的SOPs可以提高任務執行的一致性和準確性,確保最終結果符合規定的品質標準。因此,為解決多智能體協作中的挑戰,研究人員設計了基於大模型的智慧體元程式框架MetaGPT。

MetaGPT要求智能體以專家形式參與協作,並依要求產生結構化的輸出,例如高品質的需求文件、架構設計圖和流程圖等。

結構化的輸出對於單一智能體即是更高層次的思維鏈(Chain-of-Thought),對於下游角色則是語意清晰、目標明確的脈絡(Context)

在MetaGPT的框架中,研究人員將SOPs的概念對齊至角色專業化、通訊協定設計以及迭代式的可執行回饋設計。

角色專業化

透過明確定義的角色分工,複雜的工作得以分解為更小、更具體的任務。

如下圖所示,不同專業的角色,初始化為不同的目標和約束,以及不同的專業技能。如產品經理角色可以使用網路搜尋工具,而工程師角色可以執行程式碼。同時,每個角色都預設遵循ReAct的行為模式。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

角色專業化使得每個智能體能夠專注於其領域內的具體任務,從而提升了大模型的輸出品質。

對於軟體開發而言,透過角色的流轉,這種分工更巧妙地完成了從自然語言到程式語言的對齊。論文中的角色消融實驗進一步證明了這一部分的效果。

通訊協定設計

在實際應用中,自然語言雖然具備語意的豐富性,但由於其非結構化的特性,在訊息傳遞過程中常常會導致訊息的扭曲甚至重要內容的遺失。

為解決這個問題,作者約束智能體以結構化的輸出(包括文件和圖表)參與協作,來提高資訊的清晰度和完整性。為驗證此設計,作者設計了多種軟體開發任務,透過產生程式碼的可執行性以及生產力指標強調結構化輸出在協作中的關鍵性。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

在多智能體協作過程中,為提高通訊效率,MetaGPT引入了基於訊息共享的發布-訂閱機制(Publish-Subscribe Mechanism)

如上圖所示,共享訊息集允許直接交換訊息,任何智慧體都可以透明地存取來自其他智慧體的訊息,無需詢問並等待回應。訂閱機制使智能體更傾向於接收與自我任務相關的訊息,避免分心於不相關的細節。同時,每個智能體可直接從共享訊息池檢索所需訊息,形成自我記憶。

可執行回饋

智能體根據環境回饋進行自我優化和主動更新,是智能體具備自主意識的表現。

在軟體開發任務上,MetaGPT為工程師的智能體設計了可執行回饋機制,以進行程式碼品質自動最佳化。

具體而言,工程師編寫並執行對應的單元測試案例,透過觀察到的執行結果,遞歸地進行決策和自我提示,實現自動debug。這種設計-測試-回饋的迭代過程持續進行,直到單元測試通過或達到最大重試次數。

多個基準測試新SOTA

在程式碼產生能力上,研究人員採用了兩個公開基準資料集:HumanEval和MBPP,並報告Pass@1指標。

另外,他們還收集了涵蓋70個典型軟體開發任務(如迷你遊戲、資料視覺化、影像處理等)的資料集SoftwareDev,並進行了多個智能體開源框架的對比,對多個軟體開發任務的可執行性和生產效率進行了統計分析和定性說明。

如下圖所示,MetaGPT在HumanEval和MBPP基準測試中均優於先前的方法,分別達到了85.9%和87.7%。相較於GPT-4的結果,MetaGPT在HumanEval資料集上相對提升了28.2%,而加入可執行回饋機制分別在HumanEval和MBPP上提升了4.2%和5.4%。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

在具有挑戰性的SoftwareDev資料集上,MetaGPT在可執行性上的得分為3.75,非常接近4,而所需的運行時間較短(503秒);產生的程式碼行數相對基線框架增加了2.24倍,而單位程式碼行數所消耗的token數下降了50%。

這些結果突顯了多智能體協作過程中SOPs帶來的效率提升。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

MetaGPT在軟體開發任務中的高可執行性和相對較短的運行時間表明了其在實際應用中的實用性和效率。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

聚焦在軟體開發領域,研究人員提供了不同智能體框架能力的質性對比。

他們發現,MetaGPT不僅具備多種模態的文件生成能力,也是目前眾多框架中唯一完整覆蓋了真實世界中軟體開發過程的開源框架。

Agent像人一樣分工協作,還能「群組聊天」交換訊息

總的來說,MetaGPT是一個新穎的多智能體框架,結合元程式設計思想,嵌入SOPs來增強大模型在多智能體協作上的能力。

透過角色專業化,工作流程管理和靈活的訊息機制,使其成為通用性和可移植性高的多智能體框架。

結合迭代式的回饋機制,MetaGPT在多個基準測試上取得SOTA效能。

結合人類社會實踐的SOPs,啟發了未來對於多智能體社會的研究和探索,也可視為對基於大模型的多智能體框架進行調節的早期嘗試。

論文連結:https://arxiv.org/abs/2308.00352
程式碼連結:https://github.com/geekan/MetaGPT

##

以上是Agent像人一樣分工協作,還能「群組聊天」交換訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除