今天小編分享的科學經驗:Agent像人一樣分工協作,還能“群聊”交換信息,歡迎閱讀。
智能體也要有 " 規範手冊 "!
一項名為MetaGPT的研究,通過對智能體角色進行明确分工,并要求多個智能體在協作中采用統一規範的 " 交流格式 " 等方法,讓智能體性能大增。
目前,這項研究在 GitHub 上已狂攬 33.6k 星,并在深度學習頂會 ICLR 2024 上被收錄為 Oral 論文。
總的來說,MetaGPT 是模仿人類的分工協作方式,将各種任務的标準操作流程編碼為智能體的 " 規範手冊 ",不同角色的智能體負責不同的專業任務。
比如產品經理角色可以使用網絡搜索工具,而工程師角色可以執行代碼:
由此多智能體協作完成任務。
研究人員甚至還為智能體們設定了一個 " 消息共享群 ",不同角色的智能體可以在 " 群 " 裡自由查看和自我任務相關的其他智能體發送來的消息。
經測試,使用這種方法,在代碼補全任務的公開數據集 HumanEval 和 MBPP 上,MetaGPT 分别取得了 85.9% 和 87.7% 的新 SOTA。
目前這項工作已開源,在全網受到不少網友關注:
MetaGPT 長啥樣?
這項研究由 DeepWisdom 團隊聯合 KAUST AI 中心、廈門大學、CUHK(SZ)、南京大學、UPenn 以及 UCB 等眾多高校機構的學者共同提出。
随着大模型能力的不斷提升,基于大模型的智能體來解決各種任務在學術界和工業界的興趣日益增長。
值得注意的是,對于采用多個智能體協作解決特定領網域問題的研究仍處于早期階段。現有研究主要集中在通過角色扮演機制和通信拓撲設定來增強任務理解和推理決策能力。盡管取得了一定進展,但這些方法仍然依賴于直接的對話形式,缺乏對智能體行為的标準規範和約束。
近期的一些工作也指出,基于對話形式的多智能體系統可能面臨信息不一致、歧義以及可能的無效重復和無限循環等問題。
相較之下,人類工作流程中的标準操作流程(SOPs)不僅明确定義了參與角色的分工和拓撲結構,還建立了角色產出結果的标準規範。
研究表明,明确定義的 SOPs 可以提高任務執行的一致性和準确性,确保最終結果符合規定的質量标準。因此,為解決多智能體協作中的挑戰,研究人員設計了基于大模型的智能體元編程框架 MetaGPT。
MetaGPT 要求智能體以專家形式參與協作,并按要求生成結構化的輸出,例如高質量的需求文檔、架構設計圖和流程圖等。
結構化的輸出對于單個智能體即是更高層次的思維鏈(Chain-of-Thought),對于下遊角色則是語義清晰、目标明确的上下文(Context)。
在 MetaGPT 的框架中,研究人員将 SOPs 的概念對齊至角色專業化、通信協定設計以及迭代式的可執行反饋設計。
角色專業化
通過明确定義的角色分工,復雜的工作得以分解為更小、更具體的任務。
如下圖所示,不同專業的角色,初始化為不同的目标和約束,以及不同的專業技能。如產品經理角色可以使用網絡搜索工具,而工程師角色可以執行代碼。與此同時,每個角色都默認遵循 ReAct 的行為模式。
角色專業化使得每個智能體能夠專注于其領網域内的具體任務,從而提升了大模型的輸出質量。
對于軟體開發而言,通過角色的流轉,這種分工更巧妙地完成了從自然語言到編程語言的對齊。論文中的角色消融實驗進一步證明了這一部分的效果。
通信協定設計
在實際應用中,自然語言雖然具備語義的豐富性,但由于其非結構化的特性,在消息傳遞過程中常常會導致信息的歪曲甚至重要内容的丢失。
為解決這一問題,作者約束智能體以結構化的輸出(包括文檔和圖表)參與協作,來提高信息的清晰度和完整性。為驗證這一設計,作者設計了多種軟體開發任務,通過生成代碼的可執行性以及生產力指标強調結構化輸出在協作中的關鍵性。
在多智能體協作過程中,為提高通信效率,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%。
在具有挑戰性的 SoftwareDev 數據集上,MetaGPT 在可執行性上的得分為 3.75,非常接近 4,而所需的運行時間較短 ( 503 秒 ) ;生成的代碼行數相對基線框架增加了 2.24 倍,而部門代碼行數所消耗的 token 數下降了 50%。
這些結果突顯了多智能體協作過程中 SOPs 帶來的效率提升。
MetaGPT 在軟體開發任務中的高可執行性和相對較短的運行時間表明了其在實際應用中的實用性和效率。
聚焦在軟體開發領網域,研究人員提供了不同智能體框架能力的定性對比。
他們發現,MetaGPT 不僅具備多種模态的檔案生成能力,也是目前眾多框架中唯一完整覆蓋了真實世界中軟體開發過程的開源框架。
總的來說,MetaGPT 是一個新穎的多智能體框架,結合元編程思想,嵌入 SOPs 來增強大模型在多智能體協作上的能力。
通過角色專業化,工作流管理和靈活的消息機制,使其成為通用性和可移植性高的多智能體框架。
結合迭代式的反饋機制,MetaGPT 在多個基準測試上取得 SOTA 性能。
結合人類社會實踐的 SOPs,啟發了未來對于多智能體社會的研究和探索,也可視為對基于大模型的多智能體框架進行調節的早期嘗試。
論文鏈接:https://arxiv.org/abs/2308.00352
代碼鏈接:https://github.com/geekan/MetaGPT
— 完 —
點這裡關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>