Stage Whisper 如何在長篇冒險中處理敘事一致性

當 AI 第一次引用我三個會話前說過的某句話時,我就知道這不一樣了。

不是「大概」的回憶。也不是聽起來好像可能發生過的即興創作。而是一字不差的引用,在恰如其分的時刻,由一個甚至不是該場景焦點的 NPC 說出來。

這就是 Stage Whisper 的記憶系統使之成為可能的事情。但要理解它為何重要,你首先需要理解為什麼大多數 AI 角色扮演工具在這方面都失敗了。


問題所在:上下文不僅有限,還會被稀釋

AI 模型具有有限的上下文視窗。除了 AI 從訓練中獲得的嵌入式知識之外,它對你的冒險所知道的唯一資訊來自於上下文中包含的內容。一個好的現代 LLM 具有約 20 萬 token 的上下文。更大的 LLM 有 100 萬,但運行成本往往較高。(這是在 2026 年第一季的情況,反正鑑於技術進步,這篇文章很快就會過時了)

20 萬 token 可以儲存大約一到三個會話的 TTRPG 遊玩對話。但僅僅將會話的完整對話放入上下文中,並不能保證它真正被使用。還有一個因素:上下文稀釋

AI 模型從上下文中的任何內容中尋找和提取相關資訊的能力是有限的。塞進去的東西越多,AI 的注意力就越分散。如果上下文充滿了多個會話的遊玩內容,AI 可能無法找到玩家角色試圖引用的那一個特定事物,或者敘事試圖回顧的那個事物。

結果就是:細節不準確、敘事不一致、角色聽起來很困惑。例如,敘事可能會寫到「你們在那個酒館裡分享的溫柔時刻」,但它可能搞錯地點、搞錯角色,或編造從未發生過的細節。這些明顯的不一致很快就會打破沉浸感。

所以上下文稀釋可能與完全沒有將資訊放入上下文中一樣具有破壞性。兩者都導致同樣的問題:角色(或旁白)不知道他們應該知道的事情。


四層記憶系統

Stage Whisper 用四種不同類型的記憶來解決這個問題,每種解決不同的問題。

第一層:角色卡

Stage Whisper 解決的第一個問題就是上下文不夠大,無法容納遊戲的整個歷史。我們需要記住角色在會話之間是誰。我們不能讓每個新會話都引入一個全新的角色陣容。

Stage Whisper 為每個主要角色撰寫完整的角色卡,包括玩家角色。這些資訊儲存在資料庫中,並在該角色出現的任何場景中載入到上下文。因此 AI 始終知道這些角色是誰:他們的人格、外貌、背景故事。

它不必載入每一個 NPC!因此我們可以擁有一個非常龐大且多樣化的 NPC 陣容,可以根據需要隨時引入。我目前已經玩了幾個冒險,在其中我是一個大型船艦或火車的船員之一,Stage Whisper 能夠維持約 20 個角色的船員名單,他們可以在需要時出現,並具有一致的人格。醫療艙的醫生、工程區的首席工程師和工程團隊、貨艙的貨物主管、艦橋的飛行員和艦長,等等。

第二層:會話摘要

Stage Whisper 不是將整個聊天歷史保存在上下文中,而是將會話總結為摘要。

只有上一個會話的摘要被載入到上下文中,以及前五個會話摘要的列表(更短的單段版本)。AI 可以選擇獲取更多會話摘要,並載入它認為真正需要參考的任何會話的完整摘要。這並不優雅,但它確保重要資訊位於上下文的開頭或結尾,也就是 AI 最能集中注意力的位置。

在角色卡和會話摘要之間,AI 知道角色是誰,並且對最近發生的事情有很好的了解。這是在冒險檔案之外的,後者追蹤長期的故事線,並且實際上是 GM 關於冒險進展情況和最近最緊迫事項的筆記。

第三層:NPC 記憶與場景摘要

但這往往還不夠。在較長的冒險中,玩家和其他角色有著共同的歷史。他們經歷過高風險和高度情緒化的事件。他們共享過內部笑話。他們想要引用之前成功的策略,或回憶失敗。

會話摘要給了你大局:情節節拍、主要角色發展時刻。但你需要更詳細的東西來捕捉特定事件或特定引用的細微差別。

Stage Whisper 還會生成 NPC 記憶和場景摘要。區別在於:會話摘要專注於發生了什麼的客觀敘事。NPC 記憶則專注於 NPC 當時的感受或想法,他們對事件的版本,可能與乾燥的摘要不同。場景摘要則以比摘要更詳細的方式捕捉特定的對話和動作序列。

在會話結束時,AI 會讀取訊息歷史,並為每個 NPC 提取重要的記憶。它將這些重新表述為標準化格式,包含:

然後 AI 呼叫工具將其插入向量資料庫,內容在那裡被向量化。這提供了語義搜尋,使記憶能夠按意義而非僅僅按關鍵字進行匹配。

之後,當 AI 需要搜尋記憶時,它會撰寫一個查詢,例如「Yuki 在走廊哭泣」,這會帶出所有相關記憶,即使它們不符合確切的措辭。AI 從結果中選擇它需要的內容。

第四層:知識

角色需要記住發生的事情。但世界本身也需要保持一致。一個城市的政治結構需要在會話之間保持一致。一個以特定方式運作的魔法系統也需要保持一致。

大多數冒險並非從一開始就規劃好所有這些。因此知識條目會隨著會話的進行而被添加和更新,然後作為新場景的參考,以確保一致性。


當它運作時的感受

玩遊戲和讀書之間的區別特徵在於玩家擁有自主權。你決定你的行動、你的話語,而敘事和其他角色會對此做出回應。角色能夠引用你幾個會話前說過的話,這一事實有助於強調這種自主權,以及你正在與世界和其中的人們建立的連結。

以下是來自 Stage Whisper 會話的一個真實範例:

[玩家輸入] 「我很高興我餓了,決定在凌晨 2 點開門」

[敘事]

她放下馬克杯。慢慢地。小心翼翼地。就像在處理易碎的東西。然後她轉向你坐在沙發上,將一條腿塞在身下,膝蓋幾乎碰到你的膝蓋。

「你在凌晨 2 點開門是因為你餓了。」

「是的。」

「而我在走廊哭泣是因為我⋯⋯不太好。而你看到了我。然後你說,『我不是在偷窺。』」

背景:NPC 和我的 PC 正在回憶他們初次見面的那個夜晚。NPC 剛剛承認她很高興當時在場,因為她因此遇見了我的 PC。我則回想起那個夜晚的一個具體細節作為回應。NPC 則用我幾個會話前說過的確切引述來回應,這只能來自 NPC 記憶或場景記憶。

這個場景之所以更有衝擊力,是因為 NPC 能夠逐字引用我說過的話。不是即興創作或編造的,也不是回憶乾燥的事件。而是精確的回憶。而這種具體性讓關係感覺真實。我的行動和話語是有份量的。


Stage Whisper 尚未解決的問題

即使有了這個記憶系統,仍然存在問題。

會話內上下文: 記憶系統在會話之間是有效的,但無法解決單一大型會話內的上下文問題。會話可能持續很長時間,包含大量對話。會話內的上下文管理最佳化仍然需要,以避免上下文稀釋效應。

秘密: 因為每個 NPC 角色卡都被載入,AI 對所有角色都有完整視角,它傾向於忽略某個特定角色不應該知道或依據某些資訊行動的事實。AI 傾向於依據所有可用的資訊來行動,因此很難讓它們以某個角色不應該知道的事情為依據來行動。這需要更精心的設定。

這兩者都是活躍的工作領域。秘密問題尤其是我目前正在處理的問題 — 更多內容將在未來的文章中分享。


Stage Whisper 是為那些想要以長篇冒險的深度和一致性來玩單人 TTRPG 的人而打造的。開始使用加入我們的 Discord 來親身體驗記憶系統的實際運作。

更多關於 Stage Whisper 記憶系統的內容,請參閱第二部分:上下文隔離第三部分:NPC 做夢