虛構 AI 角色應該記住事實還是感受?
為了讓虛構 AI 角色保持一致性,其記憶應當保留發生的事實,並將角色的反應作為獨立記錄並列保存。將確認的故事事實視為錨點;將感受標記為角色自己陳述的體驗,並在故事確認之前對解讀保持不確定性。這樣可以讓角色在回應時保持連貫性,而不會將對他人的猜測變成正史設定。
為什麼事實與感受需要不同的記憶欄位
事實描述故事中的事件或狀態:Mara 在暴風雨前把黃銅鑰匙留在了窗台上。角色反應描述該角色的體驗:Mara 後來表示找到鑰匙時她鬆了一口氣。解讀則更進一步:也許她害怕有人會發現這把鑰匙能打開什麼。前兩者可能在場景中直接確立;第三者則是假說,除非後續場景對此予以證實。
這些區別至關重要,因為模型在總結長對話時,可能會將合理的解釋轉化為記憶中的事件。關於生成式代理(generative agents)的研究描述了一個從中檢索相關記錄的記憶流,以及一個綜合高階反思的過程。作者報告指出,在他們的實驗環境中,觀察、規劃和反思各自都對真實可信度有所貢獻。對於角色寫作而言,這種架構是一個有用的啟發,提醒我們要同時保留場景和摘要,同時將摘要標記為衍生解讀而非原始事件。Generative Agents: Interactive Simulacra of Human Behavior
什麼才算已確認的故事事實?
儲存敘事明確確立或使用者確認為正史的細節:誰在場、說了什麼或做了什麼、物品留在哪裡,以及哪些事件接續發生。將來源保留在旁邊。一筆簡短的記錄可能是:「在車站場景中,Ivo 把黃銅鑰匙遞給了 Mara。來源:使用者確認的場景摘要。」如果角色對自己的反應發表了看法,也請記錄歸屬:「Mara 表示 Ivo 回來時她鬆了一口氣。來源:車站場景中 Mara 的對白。」
這是溯源(provenance)的實際應用:W3C 的 PROV 模型描述了涉及產出某事物之實體、活動和代理的資訊,因此其歷史可以幫助讀者評估可靠性。這不是角色寫作的規則,但它提出了一個有用的設計選擇:保留記憶的來源以及它是如何創建的。W3C PROV-O: The PROV Ontology
角色應該如何記住自己的感受?
以角色的口吻保留反應,並將其附加在支持它們的場景或陳述上。「我掉落地圖時感到很尷尬」比起「該角色移開了視線」更能有力證明角色陳述的感受,後者是一種容許多種解讀的可觀察動作。一個場景可以同時包含兩者:「地圖掉落後,Mara 移開了視線。她沒有解釋原因。」如果 Mara 後來表示她感到尷尬,請將其作為後續陳述添加;不要悄悄將早先的觀察改寫為證據。
感受是會改變的。有用的記錄可以保留每個反應的時間和背景,而不是將它們扁平化為永久特質。「Mara 表示找到鑰匙時她鬆了一口氣」和「Mara 後來表示她對誰拿走了鑰匙感到不安」這兩者都可以保持為真。一項 2025 年關於對話情節記憶的研究將記憶片段分為事實性、體驗性和主觀性資訊,並呈現跨對話回合項目之間的關係。其研究結果涉及對話式 AI,而非虛構角色品質;儘管如此,這些分類為區分場景、體驗和解讀提供了一個切實的起點。Pre-Storage Reasoning for Episodic Memory
不確定的解讀如何保持有用而不變成正史?
將解讀作為一種可能性儲存,並附上其證據、所有者和狀態。例如:「可能的解讀:Mara 可能一直在擔心那把鑰匙。依據:她移開了視線並轉換了話題。狀態:未確認。」這為未來的寫作提供了可重新審視的內容,同時明確表明沒有任何場景確立了她的動機。如果故事後來確認或否定了這種解讀,請更新其狀態,並在有用的地方保留早先的依據。
不要從虛構對白、角色扮演選擇或模糊動作中推斷真實使用者的情緒狀態。將關於真實參與者的陳述與角色的故事分開;只有在參與者明確陳述並確認其相關時,才延續關於該參與者的資訊。這條界線是針對該任務的設計建議,而不是聲稱可以從特定短語或手勢中可靠地檢測出情緒。在對話研究中,不確定性可以被表示為系統結果,而不是強行做出最佳猜測:一篇 ACL 論文研究了不確定性分類以及回應檢索中的「以上皆非」選項。這支持了更具體的設計經驗,即記憶或回應系統可以保留不確定性,而不是假裝每個提示都有確定的答案。“None of the Above”: Measure Uncertainty in Dialog Response Retrieval
場景與反應的實用記憶記錄格式
簡潔的記錄可以為事件、來源、角色自己陳述的反應以及任何未定論的解讀使用不同的欄位。這個架構是一種編輯工具,而不是引述研究所要求的標準:
欄位:事件;記錄內容:確認的行動或狀態;範例:Ivo 在車站把黃銅鑰匙遞給了 Mara。
欄位:來源;記錄內容:資訊來自何處;範例:使用者確認的場景摘要。
欄位:角色陳述;記錄內容:角色自己報告的反應;範例:Mara 表示鑰匙歸還時她鬆了一口氣。
欄位:觀察;記錄內容:不帶假設動機的可見或可聽細節;範例:Mara 在回答前移開了視線。
欄位:解讀;記錄內容:可能的解讀,標記為未確認;範例:她可能感到不安;該場景並未確立原因。
欄位:狀態;記錄內容:正史、陳述、推斷或未解決;範例:事件:正史;反應:陳述;動機:未解決。
這種劃分類似於基於架構(schema-based)的對話狀態追蹤,其中系統將值填入預定義的槽位中,而不是將所有對話文字視為單一無差別的記錄。引述的研究涉及任務導向對話,因此將此概念應用於故事記憶是一種比喻;這裡的實際好處僅在於每種資訊都有指定的存放位置。Dialogue State Tracking with a Language Model using Schema-Driven Prompting
如何審查與更新角色的記憶
在一個場景結束後,首先只提取場景或使用者明確確認的事件。然後新增角色明確陳述的任何反應,並保留場景與說話者。最後,單獨記錄解讀,並附上簡短理由和未解決標籤。在檢索過程中,當原始場景或陳述可用時,應優先使用它們;將摘要用作指針,而不是作為比它所總結的來源更有力的證據。
當新的寫作改變了故事時,請審慎更新相關事實。如果兩種說法發生衝突,請保持衝突可見,直到使用者解決它或敘事確立了所發生的事情。不要透過選擇聽起來最連貫的說法來解決衝突。W3C 的溯源資料描述了記錄實體、活動、歸屬和衍生;在此應用該想法有助於作者將摘要追溯回場景,並區分原始材料與後續解讀。PROV Overview
一個簡單的決策規則
在決定角色應該記住什麼時,請問:這是直接確立的嗎?是誰說的或表現出來的?如果答案明確,請連同來源一起保留故事事實。如果角色陳述了一種感受,請將其保留為該角色在那一刻的反應。如果記錄描述了未經任何人確認的動機、情緒或意義,請將其標記為解讀或保持開放。其結果是既能支持連貫性與角色口吻,同時又能讓故事中未回答的問題保持未解狀態的記憶機制。
