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