GitHub 1.1萬星,模擬軟件開發流程,開源框架MetaGPT爆火
隨著大型語言模型(LLM)的日漸成熟,利用其構建 AI 智能體成為一個新的研究方向。已有研究使用 LLM 驅動多智能體自主完成了一些任務。
然而,現有研究主要集中在簡單任務上,缺乏對復雜任務的探索。這主要是因為大型語言模型存在「幻覺」問題,特別是當多個智能體相互作用時,幻覺會進一步被放大,以至于無法用于復雜任務。
最近,一個名為「MetaGPT」的開源框架嘗試解決這個問題。MetaGPT 旨在將有效的人類工作流程作為元編程方法注入到 LLM 驅動的多智能體協作中。MetaGPT 在 GitHub 上線幾天,就狂攬超過 11.1k star。
項目地址:https://github.com/geekan/MetaGPT
簡單來說,MetaGPT 讓多智能體的協作過程模擬軟件開發公司的工作流程,這就需要為每個智能體分配角色,并規劃智能體的協作過程。軟件開發公司的人員分配情況通常如下圖所示:
具體來說,MetaGPT 首先將標準化操作程序 (SOP) 編碼到 prompt 中,使得多個智能體的協作過程結構化。然后,研究團隊進一步讓輸出模塊化,賦予智能體與人類工作者相當的領域專業知識,以驗證輸出并減少復合錯誤。
通過這種方式,MetaGPT 以工作流水線的形式為各個智能體分配了不同的角色,進而建立了一個能夠有效、凝聚地解構復雜多智能體協作問題的框架。
對于軟件開發來說,系統架構和接口設計是非常關鍵的一步,研究團隊以推薦引擎開發為例,展示了 MetaGPT 中的「架構師智能體」自主生成的系統接口設計:
MetaGPT 可以讓智能體完成多種復雜任務,例如開發一個簡單的游戲軟件,MetaGPT 的任務執行流程可以和人類開發者的 SOP 流程一一對應:
MetaGPT 會收到用戶輸入的需求,就會有智能體作為產品經理進行需求和可行性分析,再由充當架構師、項目經理、工程師的智能體按順序完成軟件開發。最后還有智能體負責對軟件進行全面的測試。整個過程很好地模擬了現實世界的開發過程。
我們來看一個 MetaGPT 完成具體開發任務的例子,用戶只輸入一句需求:寫一個 「21 點游戲(Blackjack)」,MetaGPT 就經過需求分析、任務規劃,成功編寫出游戲代碼:
研究團隊在項目路線圖中介紹道:MetaGPT 短期內將完成自主實現中型項目(約 2000 行代碼)的目標,最終 MetaGPT 將能夠自主訓練、微調、優化、應用和更新。
目前,MetaGPT 已發表研究論文《METAGPT: META PROGRAMMING FOR MULTI-AGENT COLLABORATIVE FRAMEWORK》。
論文地址:https://arxiv.org/pdf/2308.00352.pdf
感興趣的讀者可以閱讀論文,了解更多研究內容。