Al Agent--大模型時(shí)代重要落地方向
一、LLM-based Agent 整體架構(gòu)
大語言模型 Agent 的構(gòu)成,主要分為以下 4 個(gè)模塊:
1. 畫像模塊:主要描述 Agent 的背景信息
下面介紹畫像模塊的主要內(nèi)容和生成策略。
畫像內(nèi)容,主要基于 3 種信息:人口統(tǒng)計(jì)信息、個(gè)性信息和社交信息。
生成策略:主要采用 3 種策略來生成畫像內(nèi)容:
- 手工設(shè)計(jì)方法:自行通過指定的方式,將用戶畫像的內(nèi)容寫入大模型的 prompt 中;適用于 Agent 數(shù)量比較少的情況;
- 大模型生成方法:首先指定少量畫像,并將其作為示例,進(jìn)而使用大語言模型生成更多的畫像;適用于大量 Agent 的情況;
- 數(shù)據(jù)對齊方法:需要根據(jù)事先指定的數(shù)據(jù)集中人物的背景信息作為大語言模型的 prompt,進(jìn)而做相應(yīng)的預(yù)測。
2. 記憶模塊:主要目的是記錄 Agent 行為,并為未來 Agent 決策提供支撐
記憶結(jié)構(gòu):
- 統(tǒng)一記憶:僅考慮短期記憶,不考慮長期記憶。
- 混合記憶:長期記憶和短期記憶相結(jié)合。
記憶形式:主要基于以下 4 種形式。
- 語言
- 數(shù)據(jù)庫
- 向量表示
- 列表
記憶內(nèi)容:常見以下 3 種操作:
- 記憶讀取
- 記憶寫入
- 記憶反思
3. 規(guī)劃模塊
- 無需反饋的規(guī)劃:大語言模型在做推理的過程中無需外界環(huán)境的反饋。這類規(guī)劃進(jìn)一步細(xì)分為三種類型:基于單路的推理,僅使用一次大語言模型就可以完整輸出推理的步驟;基于多路的推理,借鑒眾包的思想,讓大語言模型生成多個(gè)推理路徑,進(jìn)而確定最佳路徑;借用外部的規(guī)劃器。
- 帶有反饋的規(guī)劃:這種規(guī)劃方式需要外界環(huán)境提供反饋,而大語言模型需要基于環(huán)境的反饋進(jìn)行下一步以及后續(xù)的規(guī)劃。這類規(guī)劃反饋的提供者來自三個(gè)方面:環(huán)境反饋、人類反饋和模型反饋。
4. 動(dòng)作模塊
- 動(dòng)作目標(biāo):有些 Agent 的目標(biāo)是完成某個(gè)任務(wù),有些是交流,有些是探索。
- 動(dòng)作生成:有些 Agent 是依靠記憶回想生成動(dòng)作,有些是按照原有計(jì)劃執(zhí)行特定的動(dòng)作。
- 動(dòng)作空間:有些動(dòng)作空間是工具的集合,有些是基于大語言模型自身知識(shí),從自我認(rèn)知的角度考慮整個(gè)動(dòng)作空間。
- 動(dòng)作影響:包括對環(huán)境的影響、對內(nèi)在狀態(tài)的影響,以及對未來新動(dòng)作的影響。
以上是 Agent 的整體框架,更多內(nèi)容可參考下述論文:
Lei Wang, Chen Ma, Xueyang Feng, Zeyu Zhang, Hao Yang, Jingsen Zhang, Zhiyuan Chen, Jiakai Tang, Xu Chen, Yankai Lin, Wayne Xin Zhao, Zhewei Wei, Ji-Rong Wen:A Survey on Large Language Model based Autonomous Agents. CoRR abs/2308.11432 (2023)
二、LLM-based Agent 重點(diǎn)&難點(diǎn)問題
當(dāng)前大語言模型 Agent 的重點(diǎn)和難點(diǎn)問題主要包括:
1. 如何提升 Agent 的角色扮演能力
Agent 最重要的功能是通過扮演某種角色,來完成特定的任務(wù),或者完成各種各樣的模擬,因此 Agent 的角色扮演能力至關(guān)重要。
(1)Agent 角色扮演能力定義
Agent 角色扮演能力分為兩個(gè)維度:
- 角色和 Agent 行為關(guān)系
- 角色在環(huán)境中演化機(jī)制
(2)Agent 角色扮演能力評估
定義了角色扮演能力之后,接下來要對 Agent 角色扮演能力,從以下兩個(gè)方面進(jìn)行評估:
- 角色扮演評估指標(biāo)
- 角色扮演評估場景
(3)Agent 角色扮演能力提升
在評估的基礎(chǔ)上,需要進(jìn)一步對 Agent 的角色扮演能力進(jìn)行提升,有如下兩種方法:
- 通過 Prompt 提升角色扮演能力:該方法本質(zhì)是通過設(shè)計(jì) prompt 來激發(fā)原有大語言模型的能力;
- 通過微調(diào)提升角色扮演能力:該方法通常是基于外部的數(shù)據(jù),重新對大語言模型進(jìn)行 finetune,來提升角色扮演能力。
2. 如何設(shè)計(jì) Agent 記憶機(jī)制
Agent 和大語言模型最大的不同在于,Agent 能夠在環(huán)境中不斷進(jìn)行自我演化和自我學(xué)習(xí);而這其中,記憶機(jī)制扮演了非常重要的角色。從 3 個(gè)維度來分析 Agent 的記憶機(jī)制:
(1)Agent 記憶機(jī)制設(shè)計(jì)
常見有以下兩種記憶機(jī)制:
- 基于向量檢索的記憶機(jī)制
- 基于 LLM 總結(jié)的記憶機(jī)制
(2)Agent 記憶能力評估
對 Agent 記憶能力的評估,主要需要確定以下兩點(diǎn):
- 評估指標(biāo)
- 評估場景
(3)Agent 記憶機(jī)制演化
最后需要對 Agent 記憶機(jī)制演化進(jìn)行分析,包括:
- 記憶機(jī)制的演化
- 記憶機(jī)制的自主更新
3. 如何提升 Agent 推理/規(guī)劃能力
(1)Agent 任務(wù)分解能力
- 子任務(wù)定義和拆解
- 任務(wù)執(zhí)行最優(yōu)順序
(2)Agent 推理和外界反饋融合
- 設(shè)計(jì)推理過程中外界反饋的融入機(jī)制:讓 Agent 和環(huán)境形成互相交互的整體;
- 提升 Agent 對外界反饋的響應(yīng)能力:一方面需要 Agent 真實(shí)應(yīng)對外界環(huán)境,另一方面需要 Agent 能夠?qū)ν饨绛h(huán)境提出問題并尋求解答方案。
4. 如何設(shè)計(jì)多 Agent 高效協(xié)同機(jī)制
(1)多 Agents 合作機(jī)制
- Agents 不同角色定義
- Agents 合作機(jī)制設(shè)計(jì)
(2)多 Agents 辯論機(jī)制
- Agents 辯論機(jī)制設(shè)計(jì)
- Agents 辯論收斂條件確定
三、基于大語言模型的用戶行為模擬智能體
下面會(huì)舉幾個(gè) Agent 的實(shí)際案例。首先是基于大語言模型的用戶行為模擬智能體。該智能體也是大語言模型智能體與用戶行為分析相結(jié)合的早期工作。該工作中,每個(gè) Agent 分為三個(gè)模塊:
1. 畫像模塊
對不同的 Agent 指定不同的屬性,比如 ID、姓名、職業(yè)、年齡、興趣以及特征等。
2. 記憶模塊
記憶模塊包括三個(gè)子模塊
(1)感受記憶
(2)短期記憶
- 將客觀觀測到的 raw observation 進(jìn)行處理后,生成信息量更高的觀測,將其存放到短期記憶中;
- 短期記憶內(nèi)容的存儲(chǔ)時(shí)間比較短
(3)長期記憶
- 短期記憶的內(nèi)容經(jīng)過反復(fù)的觸發(fā)和激活后,會(huì)自動(dòng)傳入到長期記憶中
- 長期記憶內(nèi)容的存儲(chǔ)時(shí)間比較長
- 長期記憶的內(nèi)容會(huì)根據(jù)現(xiàn)有的記憶進(jìn)行自主的反思以及升華提煉。
3. 動(dòng)作模塊
每個(gè) Agent 可以執(zhí)行三種動(dòng)作:
- Agent 在推薦系統(tǒng)中的行為,包括看電影、查找下一頁以及離開推薦系統(tǒng)等;
- Agent 之間的對話行為;
- Agent 在社交媒體發(fā)帖的行為。
在整個(gè)模擬過程中,一個(gè) Agent 在每一輪動(dòng)作中均可自由地、不受外界干預(yù)地選擇三種動(dòng)作;我們可以看到不同 Agent 之間會(huì)相互對話,也會(huì)在社交媒體或者推薦系統(tǒng)中自主地產(chǎn)生各種各樣的行為;通過多輪模擬之后,可以觀察到一些有趣的社會(huì)現(xiàn)象,以及用戶在網(wǎng)絡(luò)上行為的規(guī)律。
更多內(nèi)容可參考下述論文:
Lei Wang, Jingsen Zhang, Hao Yang, Zhiyuan Chen, Jiakai Tang, Zeyu Zhang, Xu Chen, Yankai Lin, Ruihua Song, Wayne Xin Zhao, Jun Xu, Zhicheng Dou, Jun Wang, Ji-Rong Wen:When Large Language Model based Agent Meets User Behavior Analysis: A Novel User Simulation Paradigm
四、基于大語言模型的多智能體軟件開發(fā)
下一個(gè) Agent 的例子是使用多 Agent 進(jìn)行軟件開發(fā)。這篇工作也是早期多Agent 合作的工作,其最主要的目的是利用不同 Agent 開發(fā)一款完整的軟件。因此可將其看作一個(gè)軟件公司,不同的 Agent 會(huì)扮演不同的角色:一部分 Agent 負(fù)責(zé)設(shè)計(jì),包括 CEO、CTO、CPO 等角色;一部分Agent 負(fù)責(zé)編碼,還有一部分 Agent 主要負(fù)責(zé)測試;此外,還會(huì)有一部分 Agent 負(fù)責(zé)撰寫文檔。這樣,不同 Agent 負(fù)責(zé)不同的工作;最后再將 Agent 之間的合作機(jī)制,通過交流的方式進(jìn)行協(xié)同和更新,最終完成一個(gè)軟件完整的開發(fā)過程。
五、LLM-based Agent 未來方向
大語言模型的 Agent 目前可以分為兩大方向:
- 解決特定任務(wù),如 MetaGPT、ChatDev、Ghost、DESP 等
這類 Agent 最終應(yīng)是一個(gè)和人類正確價(jià)值觀對齊的“超人”,其中有兩個(gè)“限定詞”:
對齊正確的人類價(jià)值觀;
超越常人能力。 - 模擬現(xiàn)實(shí)世界,如 Generative Agent、Social Simulation、RecAgent等
這類 Agent 所需要的能力,和第一類是截然相反的。
允許 Agent 呈現(xiàn)多樣的價(jià)值觀;
希望 Agent 盡量符合普通人,而不是超越常人。
此外,目前大語言模型 Agent 存在以下兩個(gè)痛點(diǎn):
- 幻覺問題
由于 Agent 需要跟環(huán)境進(jìn)行不斷交互,因此每個(gè)步驟的幻覺都會(huì)被累加,即會(huì)產(chǎn)生累積效應(yīng),讓問題變得更加嚴(yán)重;因此大模型的幻覺問題在這里需要得到進(jìn)一步的重視。其解決辦法包括:
設(shè)計(jì)高效的人機(jī)協(xié)作框架;
設(shè)計(jì)高效的人類干預(yù)機(jī)制。 - 效率問題
在模擬過程中,效率是個(gè)非常重要的問題;下表總結(jié)了不同 Agent 在不同API 數(shù)量下的耗時(shí)。
以上就是本次分享的內(nèi)容,謝謝大家。