一個配置文件+幾行代碼,輕松定制你的簡易西部世界 !

《西部世界》讓我們想象了一個AI模擬人類的未來。最近,斯坦福大學(xué)的研究 Generative Agents(生成式智能體)在一個虛擬沙盒世界中創(chuàng)造了多個可以像人類一樣生活、工作、互動的agent。然而截至目前,尚沒有一套成熟的流程以方便研究人員搭建自己的multi-agent虛擬環(huán)境并進行相關(guān)研究。
為了解決這個問題,OpenBMB 聯(lián)合?THUNLP 的研究者們發(fā)布了 AgentVerse(多智能體世界)開源項目,旨在為廣大研究人員提供一個易于使用、靈活且高度可擴展的平臺,以便研究者能夠?輕松定制自己的 multi-agent 環(huán)境,創(chuàng)建多個具有不同能力與不同身份的 agent,對他們的行為進行觀察,或是令他們通過協(xié)作和競爭完成復(fù)雜任務(wù)。
????倉庫地址???https://github.com/OpenBMB/AgentVerse


Generative Agents?昭示大模型夢幻潛力
—
人工智能能否模擬人類行為,是科幻和研究的永恒話題。最近斯坦福大學(xué)的一篇論文提出了一種名為 Generative Agents 的創(chuàng)新架構(gòu),基于該架構(gòu)的 agent 能夠利用 LLM 模擬真實人類行為,并記憶、檢索、反思、與其他 agent 互動。例如,當(dāng)看到早餐在燃燒時,agent 會關(guān)閉爐子;當(dāng)遇到想要交談的其他 agent 時,它會停下來與其進行對話。在這一個具有著多個 agent 的虛擬小鎮(zhèn)中,不同的 agent 就像人類在社會中各司其職,在彼此互相交流的過程中扮演自己的社會角色,度過每一天。
這一研究展示了?LLM在模擬人類行為方面的巨大潛力,展示了人工智能研究從個體智能到群體智能跨越的可能性,同時也為理解和模擬人類行為提供了一種全新的視角。同時,這一研究也為我們提供了充足的想象空間:通過利用 LLM,或許我們還可以更深入地探索多?agent?之間的交互、協(xié)作與競爭等復(fù)雜社會動態(tài)。這可能有助于發(fā)現(xiàn)與分析社會科學(xué)現(xiàn)象,驗證理論假設(shè)以及推動人工智能領(lǐng)域乃至社會科學(xué)等領(lǐng)域的創(chuàng)新發(fā)展。

AgentVerse:多智能體開源平臺
—
為了方便研究人員構(gòu)建類似 Generative Agents 研究中所呈現(xiàn)的虛擬小鎮(zhèn),AgentVerse 提供了一個靈活的框架,簡化了搭建基于 LLM 的 multi-agent 場景的流程,使研究者們能夠投入更多的精力在 multi-agent 場景的相關(guān)研究上,而非在繁瑣的實現(xiàn)細節(jié)上。同時,框架也并不拘泥于 Generative Agents 研究中所展示的場景,而是可以根據(jù)研究者的需求進行自行定制。AgentVerse 在框架的設(shè)計上有著幾個突出的特點:
易用性:AgentVerse 提供了一組基本的模塊,讓研究者們可以輕松高效地創(chuàng)建 multi-agent 環(huán)境。對于簡單場景,只需編寫一個配置文件和幾行代碼,就可以輕松運行。
可擴展性:AgentVerse 將 multi-agent 環(huán)境抽象為五個功能模塊:
Describer:用于為每個 agent 提供其當(dāng)前所處環(huán)境的描述
Order:用于決定 agent 在環(huán)境中的行動順序
Selector:用于篩選掉不符合環(huán)境要求的 agent 回復(fù)
Updater:用于將 agent 回復(fù)更新至可以看到該回復(fù)的其他 agent 記憶中
Visibility:用于維護每個 agent 可以看到的其他 agent 名單(例如當(dāng)兩個 agent 處于不同房間時,他們不應(yīng)互相看見)
不同功能模塊提供了不同的接口,因此對于無法直接使用 AgentVerse 提供的基本模塊構(gòu)建的復(fù)雜環(huán)境,研究者可以自定義修改五個功能模塊中的一個或多個,以根據(jù)自己的需求快速構(gòu)建自己的 multi-agent 環(huán)境。
支持工具:AgentVerse 支持使用工具(插件)的 multi-agent 環(huán)境,即在 agent 與環(huán)境進行交互的過程中,允許 agent 根據(jù)當(dāng)前狀態(tài)決定是否使用工具。目前,AgentVerse 支持?BMTools?提供的各種工具。
支持不同的LLM:AgentVerse 基于 LangChain 構(gòu)建,因此能夠支持各種已經(jīng)囊括在 LangChain 中的主流大型語言模型。研究者還可以通過參考 LangChain 文檔,輕松自定義自己的 LLM。
AgentVerse 的開發(fā),給廣大研究人員和開發(fā)者帶來了一個全新的 multi-agent 交互實驗場,為探索虛擬世界中 agent 之間的協(xié)作、競爭和學(xué)習(xí)提供了極大便利。未來,基于 AgentVerse 的各類創(chuàng)新應(yīng)用和突破性研究將有望在人工智能領(lǐng)域掀起一股新潮。

用例:在AgentVerse中構(gòu)建簡易課堂環(huán)境
—
作為一個例子,在AgentVerse中構(gòu)建一個只包含教授、助教以及學(xué)生共三個人的簡易課堂環(huán)境,并模擬上課的過程只需要三步:
1. 創(chuàng)建一個yaml配置文件,并寫明環(huán)境的配置:

在AgentVerse中,multi-agent環(huán)境被抽象為5個模塊,order, visibility, selector, updater和 describer,他們可以分別進行配置。讀者可以參考倉庫中的README了解這些模塊的更詳細的介紹。
2. 繼續(xù)添加agent的配置,下面是作為教授的agent的配置:

3. 最后,按照在 format_prompt 中指定的輸出格式,寫一個簡單的 parser 來從這一格式中提取出模型的輸出內(nèi)容即可。例如,如果我們要求模型必須按如下格式輸出:
Action: Speak
Action Input: (some content)
那么我們則需要寫一個 parser 接受上述格式,并提取出 (some content) 中的內(nèi)容。以下為一份示例代碼:

4. 至此大功告成,通過一份配置文件以及一個簡單的 parser,我們完成了一個簡易教室環(huán)境的搭建,現(xiàn)在我們可以開始查看 agent 模擬上課的情況了!更多詳細內(nèi)容,請參考倉庫中的介紹。

一同助力?AgentVerse?成為更好的橋梁
—
OpenBMB 團隊一直走在“讓大模型飛入千家萬戶”的路上,始終專注于提供用戶友好的大模型開源工具集,AgentVerse 是我們的最新探索成果,這個多智能體開源平臺雖然具有易于使用、靈活且高度可擴展的優(yōu)點,但仍有很多改進的空間。未來,我們將從以下幾個方面不斷優(yōu)化和更新 AgentVerse:
首先,我們將撰寫更為詳細的使用文檔,以降低該框架的使用門檻
其次,致力于支持更多的實際場景,提供更加方便擴展的接口
另外,我們將持續(xù)關(guān)注并支持更多開源大模型,以滿足各種應(yīng)用場景的需求
最后,我們將關(guān)注對話交互和用戶體驗的優(yōu)化,以助力用戶更便捷地利用 AgentVerse 構(gòu)建和運行各類 multi-agent 應(yīng)用
我們誠摯邀請 OpenBMB 開源社區(qū)的伙伴們共同參與,為 AgentVerse 的完善和發(fā)展貢獻力量。在未來的發(fā)展中,我們希望 AgentVerse 成為一個連接研究者、開發(fā)者和行業(yè)應(yīng)用的橋梁,催生更多人工智能的創(chuàng)新成果。
?? 傳送門 |AgentVerse?
???https://github.com/OpenBMB/AgentVerse
?? 傳送門?OpenBMB 主頁?
???https://www.openbmb.org/home
?? 傳送門 |OpenBMB GitHub?
???https://github.com/OpenBMB
????加社群/ 提建議/ 有疑問?
請找 OpenBMB 萬能小助手:

?? 關(guān)注我們
微信搜索關(guān)注 “OpenBMB開源社區(qū)”
后臺回復(fù)“CPM-Live” 即可加入CPM-Live加油群
還可獲取更多大模型干貨知識和前沿資訊! ??

