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