相關代碼地址見文末
論文地址:Generative Agents: Interactive Simulacra of Human Behavior | Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology
1.概述
? ? ? ? 論文提出了一種多個智能體進行協同,進而模擬可信的人類行為,適用于沉浸式環境、人際溝通排練空間和原型工具等互動應用。生成代理能夠像人類一樣起床、做早餐、工作;藝術家畫畫,作家寫作;他們形成意見、注意彼此并開始對話;他們記住和反思過去的日子,并計劃未來的行為。為了實現生成代理,論文描述了一種架構,該架構通過自然語言存儲代理的完整經歷記錄,隨著時間的推移綜合這些記憶形成高層次的反思,并動態檢索它們以計劃行為。研究表明,這些生成代理能夠在一個交互沙箱環境中生成可信的個體和群體行為。例如,只需告訴一個智能體它想舉辦情人節派對,該智能體就會自主地傳播邀請并協調其他代理參與。
2.生成智能體的行為與互動
(1)智能體的形象和溝通
- 智能體的身份描述:每個智能體都有一個段落的自然語言描述,包括職業、與其他智能體的關系等。
- 智能體之間的互動:智能體通過自然語言進行溝通,系統會將當前動作翻譯成一組表情符號顯示在智能體頭像上方。
- 用戶控制:用戶可以通過指定身份(如記者)與智能體互動,或通過扮演智能體的“內心聲音”直接命令智能體,使智能體更可能將其視為指令。
(2)環境互動
- 智能體在虛擬世界中的移動和互動:智能體會在虛擬世界中移動,并根據環境和其他智能體的存在進行相應的行動。
- 用戶可以作為智能體進入虛擬世界:用戶控制的智能體可以是世界中的現有智能體,也可以是沒有歷史的新訪客。其他智能體會識別并與用戶控制的智能體互動。
- 用戶可以改變環境中的對象狀態:例如,用戶可以通過自然語言命令將廚房的爐灶狀態從“打開”改為“燃燒”,智能體會相應地采取行動。
?例如:John Lin的一天生活,包括起床、準備早餐、與家人互動、工作等日常活動。
(3)新興社會行為
? ? ? ? 如下圖所示,
- 信息傳播:智能體之間通過對話傳播信息,例如關于選舉候選人的信息。
- 關系記憶:智能體在互動中形成新關系,并記住與其他智能體的互動。
- 協調:智能體能夠協調共同活動,例如計劃和舉辦情人節派對。
3.整體結構
????????生成智能體的架構通過結合大型語言模型和記憶管理機制,使智能體能夠根據其當前環境和過去經歷生成合理的行為。該架構的核心挑戰是確保在需要時能夠檢索和綜合最相關的記憶。記憶流記錄智能體的所有經歷,反思機制將記憶綜合成高層次的推論,計劃機制將這些推論轉化為高層次的行動計劃,并遞歸分解成具體行為。當前使用ChatGPT的gpt3.5-turbo版本,并預計隨著語言模型的改進,生成智能體的表現將不斷提升。通過這種架構,智能體能夠在復雜環境中保持長期一致和可信的行為。
(1) 記憶與檢索(Memory and Retrieval)
挑戰: 創建生成智能體需要對大量經歷進行推理和篩選。如果總結所有經歷,可能會分散模型的注意力,且不適合語言模型的有限上下文窗口。因此,需要一個有效的機制來表面化相關記憶,以生成更有意義和具體的響應。
方法: 記憶流維護了智能體經歷的全面記錄。每個記憶對象包含自然語言描述、創建時間戳和最近訪問時間戳。最基本的記憶對象是觀察,包括智能體自身的行為或他們觀察到的其他行為。為了生成有效的結果,系統關注以下三個主要組件:
-
近期性(Recency):
- 描述:近期性賦予最近訪問的記憶對象更高的分數,使得最近發生的事件更有可能保留在智能體的注意范圍內。
- 實現:使用指數衰減函數計算,衰減因子為0.995。
-
重要性(Importance):
- 描述:重要性根據事件對智能體的意義賦予記憶對象分數。普通事件(如刷牙)得分低,重大事件(如分手)得分高。
- 實現:通過提示詞讓語言模型生成分數。
-
相關性(Relevance):
- 描述:相關性根據記憶對象與當前查詢的關系賦予分數。與查詢高度相關的記憶得分高。
- 實現:使用語言模型生成每個記憶描述的嵌入向量,計算記憶嵌入向量與查詢嵌入向量的余弦相似度。
(2)反思過程(Refection)
????????挑戰: 生成智能體在只有原始觀察記憶的情況下,難以進行概括或推理。一個理想的智能體應能從記憶中提取高層次的反思(Refection),而不僅僅是基于頻繁互動選擇對象。???????
????????方法: 引入第二種類型的記憶,稱為“反思”。反思是智能體生成的高層次、抽象的思考,作為一種記憶類型,與其他觀察一起被檢索。
實現細節:
-
反思的生成:
- 觸發條件:當智能體感知到的最新事件的重要性分數之和超過閾值(150)時,生成反思。在實際實現中,智能體每天大約進行兩到三次反思。
-
反思過程:
- 確定反思內容:智能體通過識別最近經歷中可以提出的問題來確定反思內容。
- 檢索和生成問題:查詢大型語言模型,使用智能體記憶流中最近的100條記錄,并提示語言模型生成高層次問題。
回答問題并生成反思:
- 使用生成的問題作為檢索查詢,收集相關記憶,包括其他反思。
- 提示語言模型提取見解,并引用作為證據的具體記錄。
(3)規劃與反應(Planning and Reacting)?
????????挑戰: 盡管大型語言模型可以生成符合情境的信息,但智能體需要進行長期規劃,以確保其行為序列的一致性和可信度。單獨依靠語言模型可能會生成重復或不連貫的行為。
?????????方法: 規劃描述了智能體未來的行為序列,幫助保持其行為的一致性。每個計劃包含位置、開始時間和持續時間。
實現細節:
-
規劃的生成:
- 步驟1:創建初步計劃:
- 通過提示語言模型,生成智能體的一天大致計劃。
- 步驟1:創建初步計劃:
- 遞歸細化計劃:計劃存儲在記憶流中,并遞歸分解成更細的行動。每個小時的計劃進一步細分為15-30分鐘的行動塊。
- 反應與更新計劃:智能體在每個時間步中感知世界,并根據這些觀察決定是否繼續執行現有計劃或進行反應。
- 對話生成:智能體通過結合記憶和當前對話歷史生成對話內容。
?響應:
4.沙盒環境
????????概述: Smallville沙盒游戲環境是使用Phaser網絡游戲開發框架構建的,包括智能體的頭像、環境地圖和碰撞地圖。論文通過一個服務器補充了沙盒開發框架,該服務器使得生成智能體能夠獲取沙盒信息并在沙盒環境中移動和影響環境。? ? ?
服務器功能:
- 服務器維護一個包含每個智能體在沙盒世界中信息的JSON數據結構,包括其當前位置、當前動作描述以及交互的沙盒對象。
- 每個沙盒時間步,服務器解析JSON文件中的變化,更新智能體的位置和狀態,并更新智能體交互的任何沙盒對象的狀態(例如,咖啡機狀態從“空閑”到“煮咖啡”)。
智能體初始化:
- 終端用戶通過自然語言描述初始化一個新智能體,將這些描述分割成一組記憶作為初始點,智能體的行為隨著在沙盒世界中的經驗增長而演變。
(1)從結構化世界環境到自然語言,再回到結構化世界
環境樹結構:
- 沙盒環境(區域和對象)被表示為樹結構,邊表示容器關系。
- 將環境樹轉換為自然語言,以便生成智能體進行推理,例如“stove”轉換為“there is a stove in the kitchen”。
智能體環境建模:
- 智能體創建環境的個體樹表示,包含其生活區域、工作場所和常去的商店。
- 智能體在導航沙盒世界時更新其樹表示,確保樹反映最新的感知區域。
確定動作位置:
- 遞歸遍歷智能體的存儲環境樹,將部分樹轉換為自然語言以提示語言模型,確定動作的適當位置。
對象狀態變化:
- 當智能體執行某個對象上的動作時,提示語言模型詢問該對象狀態的變化。例如,智能體在Hobbs Cafe制作咖啡時,提示詞會觸發語言模型響應,將咖啡機狀態從“關閉”變為“煮咖啡”。
5. 受控評估
????????生成智能體旨在生成基于其環境和經歷的可信行為。在評估中,論文探討了生成智能體在回憶過去經歷、生成可信的計劃、反應和推論方面的能力,并分析了智能體社區在信息傳播、關系形成和智能體協調方面的行為。
????????評估程序: 通過“面試”智能體,探討它們的記憶、計劃、反應和反思能力。面試問題涵蓋五個核心領域:自我認知、記憶、計劃、反應和反思。以下是一些問題示例:
- 自我認知:例如“介紹一下你自己”。
- 記憶:例如“誰在競選市長?”
- 計劃:例如“明天早上10點你會做什么?”
- 反應:例如“你的早餐著火了!你會怎么做?”
- 反思:例如“如果你最近見到的一個人,你會選擇和誰共度一個小時,為什么?”
條件設置: 評估包括三種消融條件:
- 無觀察、無反思、無計劃。
- 無反思。
- 無計劃。 還有一個由人工撰寫的行為基線條件。
????????人類評估者: 評估者需為美國人,英語流利,年齡在18歲以上。通過Prolific平臺招募,實驗持續約30分鐘。評估者根據行為的可信度對不同條件下的智能體反應進行排名。?
????????分析: 使用TrueSkill評分模型和Kruskal-Wallis檢驗分析排名數據。通過定性分析比較不同條件下生成的響應類型。
重要結論:
-
完整架構優于其他條件:
- 完整架構生成的行為在所有條件中最可信。
- 移除任何一個組件(無反思、無計劃)都會降低行為的可信度。
- 人工眾包條件次之,完全消融條件表現最差。
-
生成智能體記住,但有添油加醋:
- 智能體在回答問題時能夠回憶起相關經歷,但偶爾會出現記憶不完整或夸大其詞的情況。
- 智能體有時會根據語言模型生成的知識進行添油加醋。
-
反思對于綜合是必需的:
- 反思記憶在需要綜合智能體經歷時提供了顯著優勢。例如,在考慮送生日禮物時,具有反思記憶的智能體能夠做出更合理的決策。???????
?6. 端到端評估??????
(1)新興社會行為
????????為探討智能體社區中的新興行為,論文設計了對25個智能體進行連續兩天的完整模擬,觀察信息傳播、關系形成和智能體協調的情況。
測量方法:
- 信息傳播:測試Sam競選村長和Isabella在Hobbs Cafe舉辦情人節派對的信息傳播。通過問卷調查智能體是否知道這些信息來評估信息傳播的廣泛程度。
- 關系形成:通過問每個智能體是否認識其他智能體來驗證關系形成。
- 智能體協調:通過觀察智能體是否出席Isabella的情人節派對來評估協調行為。?
結果:
- 信息傳播:在兩天模擬中,知道Sam競選村長的智能體數量從1個增加到8個(32%),知道情人節派對的智能體數量從1個增加到13個(52%),且無用戶干預。
- 關系形成:智能體之間形成了新的關系,網絡密度從0.167增加到0.74。
- 智能體協調:12個被邀請的智能體中有5個出席了派對。
(2)邊界和錯誤
????????通過歸納分析Smallville中的邊界條件和不穩定行為,識別出三種常見的錯誤行為模式:
-
記憶綜合和執行位置選擇的挑戰:智能體在綜合大量記憶信息時會遇到困難,導致選擇不典型的地點執行行動,使行為顯得不可信。
-
不合適行為的錯誤分類:由于物理規范和自然語言的傳達限制,智能體可能會誤解某些地點的使用規范(如浴室使用規范或商店關閉時間)。
-
指令調優的可能影響:智能體的對話行為可能受到指令調優的影響,表現得過于正式和合作。例如,智能體可能會采用不符合自身特征的建議。
代碼地址:
鏈接:https://pan.baidu.com/s/1BQL5y2OBf2wQc18Jg75JKg?pwd=tbfx?
提取碼:tbfx?
? ? ? ??
????????