清華智能體宇宙火了,AI模擬“囚徒困境”等實驗只需幾行簡單配置
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
可以輕松模擬社會實驗的多智能體宇宙來了——
它由清華大學(xué)聯(lián)合北郵、微信團(tuán)隊推出,目前已在GitHub攬獲1.1k標(biāo)星。

名字簡單粗暴,就叫“AgentVerse”。
劃重點:這個環(huán)境專門針對大語言模型開發(fā),也就是智能體們可以運(yùn)用LLM的能力完成任務(wù)。
而只需幾行簡單配置,你想讓智能體們在什么環(huán)境出生,就能在什么環(huán)境成長。
比如“囚徒困境”:
獄警向兩個嫌疑人agent提出一個兩難挑戰(zhàn),讓他們自己決定是合作互惠還是背叛。

比如“NLP課堂”:
教授通過文字形式授課,學(xué)生agent通過有問題時舉手、被點名之后方可發(fā)言提問的方式,一步步學(xué)會知識。

甚至,還能模擬簡單的寶可夢游戲…而且還是用戶可以直接參與進(jìn)去的那種:
(通過輸入文本進(jìn)行對話)

要啥有啥,全憑你自己發(fā)揮。
作者也表示,這個項目的初衷就是簡化大伙兒用LLM構(gòu)建自定義多智能體環(huán)境的過程,讓大家能夠?qū)W⒂谘芯勘旧怼?/p>
目前,AgentVerse的論文已經(jīng)發(fā)布,源碼也在路上了。

趕緊來瞧瞧。
4個階段、5大基礎(chǔ)組件
正如AgentVerse專為大模型開發(fā),如今人類訓(xùn)練智能體的效果正是在各種LLM的加持下,跟著進(jìn)步了很多,比如更強(qiáng)的泛化能力。
不過,就和現(xiàn)實世界一樣,即使有LLM助力,學(xué)會合作也是這些智能體們必須要經(jīng)歷的一件事。
在此,作者提出了多智能體環(huán)境構(gòu)建框架AgentVerse。
它的工作流程模擬了人類合作解決問題的過程,一共分為4個階段:
1、專家招募(Expert Recruitment)。
根據(jù)當(dāng)前問題解決進(jìn)度調(diào)整由那些agent來處理任務(wù)。
2、討論合作策略(Collaborative Decision)。
由上一階段招募的agent討論解決問題所需的分工,需要達(dá)成共識。
3、執(zhí)行(Action Execution)
agent們與環(huán)境進(jìn)行交互,完成任務(wù)。
4、評估(Evaluation)
任務(wù)完成后,此模塊將當(dāng)前狀態(tài)與期望目標(biāo)進(jìn)行比對,如果沒有達(dá)到預(yù)期就發(fā)送反饋獎勵重新回到第一步驟。

如開頭提到,AgentVerse框架的亮點之一就是可以實現(xiàn)自定義環(huán)境配置。
那么如何自定義?
方法是通過5個基礎(chǔ)組件。
每一個組件代表的其實是一個規(guī)則,組合不同的規(guī)則就可以搭建出不同的環(huán)境,從而方便研究人員研究不同條件下智能體的行為。

具體來看,這5個組件分別是:
- 描述器(Describer),它為每個agent提供每次環(huán)境的描述。通過自定義該組件,你就能根據(jù)你自己的特定要求來構(gòu)建環(huán)境。
- 順序(Order),它定義agent在環(huán)境中采取操作的順序,可以采用幾個默認(rèn)選項,比如random(隨機(jī))、sequential(按順序)和concurrent(所有agent在每個回合中都采取行動),也可以自定義。
- 選擇器(Selector),有時agent會生成一些無效信息,它就用于過濾這些信息,選擇有效內(nèi)容。
- 更新器(Updater),用于更新每個agent的內(nèi)存。這是因為有時某個agent的響應(yīng)不應(yīng)被所有agent看到(比如不在一個房間),它的作用就是在每個響應(yīng)發(fā)生后,僅更新每個agent應(yīng)看到內(nèi)容。
- Visibility(可見性),用于維護(hù)agent列表,每當(dāng)有agent移動到另一個房間或者產(chǎn)生其他變化時,它會向所有agent更新列表。
除了這5個基礎(chǔ)組件,AgentVerse還有一個非?;A(chǔ)的元素:agent。
目前,系統(tǒng)提供兩種類型:一個是ConversationAgent,一個是ToolAgent,含義如其名。
當(dāng)然,通過繼承BaseAgent類我們還能定制第三種,以及更多類型代理。
如何配置?
手動clone或者pip命令即可安裝AgentVerse。
需要注意的是,得準(zhǔn)備一個OpenAI API密鑰,以及安裝BMTools(可選,如果你需要它提供的各種擴(kuò)展工具)。

如上準(zhǔn)備就緒后:
1、我們可以直接運(yùn)行他們搭好的例子。
除了開頭展示的“囚徒困境”、NLP課堂、寶可夢游戲,還有軟件設(shè)計場景(1個寫代碼的agent、1個測試agent、1個審查agent)、數(shù)據(jù)庫管理場景和文本評估場景。

值得注意的是,在NLP課堂這個主題上,作者提供了非常多的環(huán)境可選:
除了開頭展示的那個可進(jìn)行提問操作的case,還有可以發(fā)起小組討論、學(xué)生在聽課時使用必應(yīng)進(jìn)行搜索、用WolframAlpha API玩算術(shù)游戲等等。
2、自己動手搭一個。
自己動手可以先來一個簡單的,比如構(gòu)建一個只有1名教授、1名學(xué)生和1個助教的課堂環(huán)境。
首先創(chuàng)建任務(wù)目錄并配置環(huán)境,也就是上面介紹的5個基礎(chǔ)組件配置:

然后是配置agent,下面是教授的示例:
可以看到agent類型、名字、所用LLM類型等信息。

最后編寫輸出解析器,服務(wù)gent的響應(yīng),比如可以讓模型在提示模版中以下格式輸出:

以上就是一個簡單教室環(huán)境的大概流程了。
以看到步驟并不復(fù)雜,當(dāng)然,具體操作還是參閱項目原文。
如果你覺得這種太簡單,也可以定制一個更復(fù)雜的。但具體教程還沒出(據(jù)說很快了)。
從作者提前透露的信息來看,大體也還是圍繞五個基本組件、環(huán)境本身和agent來進(jìn)行。
另外,AgentVerse未來還會新增一些強(qiáng)大功能,比如支持本地LLM、添加文檔等等,可以期待。
One More Thing
在論文中,作者也對AgentVerse環(huán)境構(gòu)建的多智能體協(xié)作任務(wù)中,agent出現(xiàn)的一些社會行為進(jìn)行了研究。
這些行為包括:
(1)積極行為,比如在我的世界游戲中,提出和別的agent一起收集甘蔗加快造紙進(jìn)度,或者幫還沒完成毛皮收集的人一起收集;

(2)消極行為,比如從眾、搞破壞。

在此,作者也討論了一些可能的策略,用于復(fù)用積極行為、摒棄消極行為,最終提高多智能體間的合作能力。
感興趣的讀者可以進(jìn)一步查閱論文。
項目地址:https://github.com/OpenBMB/AgentVerse
論文地址:https://arxiv.org/abs/2308.10848


































