記憶如何運作
角色會保留什麼、會忘記什麼,以及如何讓一件事被牢牢記住。
推動一段對話往前的,是三樣各自獨立的東西:還留在視窗中的原始訊息、已經離開視窗的訊息的滾動摘要,以及存放長期事實的記憶庫。它們的運作方式不同,所以當角色「忘記」某件事時,值得弄清楚是哪一層沒有留住它。
三個層次
| 層次 | 存放位置 | 容量 |
|---|---|---|
| 即時訊息 | 對話本身 | 由記憶詳細程度決定。在預設的平衡等級下:最近的 10,000 個 Token——或模型上下文視窗的 25%,取較小者——而且最多 50 則訊息 |
| 對話摘要 | 該聊天中,側邊欄的記憶分頁 → 對話記憶 | 分為三個層級:近期摘要、合併摘要,以及長期記憶 |
| 已儲存的記憶 | 側邊欄的記憶分頁,分為角色專屬和全域 | 每個範圍 100 則,另加 20 則釘選記憶,每則最多 500 個字元 |
即時視窗是刻意和你選擇的模型脫鉤的。選擇一個擁有百萬 Token 上下文的模型,並不會讓更多原始訊息保留在視窗中;改變的是這些訊息周圍還能放進哪些其他內容。
訊息離開即時視窗後,會在一輪回覆完成之後被摘要,每次處理幾個區塊。四則近期摘要會合併成一則,四則合併摘要再變成一則長期摘要——每一種記憶詳細程度都是如此,而且全都只限於那一個聊天。你可以在側邊欄的記憶分頁 → 對話記憶中閱讀、編輯和重建這些摘要,那裡也會顯示還有多少則訊息尚未納入摘要。
記憶詳細程度
記憶詳細程度位於對話記憶的最上方,決定對話摘要要保留多少劇情。這個設定會依角色分別儲存,並套用到你和該角色的網頁版聊天;Discord 和 Telegram 機器人則一律使用平衡。摘要中的所有內容都會隨每則訊息一起傳送,所以越詳細,每次回覆就會消耗越多點數。
| 等級 | 逐字保留 | 摘要會保留什麼 |
|---|---|---|
| 重要事件 | 最多 6,000 個 Token 和 30 則訊息 | 主線劇情、人物關係、約定和長期不變的事實。不保留逐場景的細節,所以較早的細節會更快淡去 |
| 平衡(預設) | 最多 10,000 個 Token 和 50 則訊息 | 重要事件、約定,以及事情如何變化,細節程度適中 |
| 詳細 | 最多 16,000 個 Token 和 80 則訊息 | 更多場景和支線細節,長期記憶中的時間軸也更長 |
在上下文視窗較小的模型上,每個等級逐字保留的內容都不會超過該視窗的 25%。
長期摘要也有篇幅上限:重要事件、平衡和詳細分別約為 4,000、8,000 和 16,000 個 Token。一旦明顯超過這個上限,就會被壓縮:最早的時間軸條目會被整併成簡短的時期概述,只保留仍然重要的未完成約定、確切的名稱和數字,以及目前的狀態。從你那裡記下的更正和規則,則一律逐字保留。
新的等級會從你的下一則訊息開始生效。已經寫好的摘要會維持原本的詳細程度,直到被合併進更早的記憶中。若要把新的等級一次套用到全部歷史紀錄,請重建對話記憶:你切換等級後,面板會立即提供這個選項,並附上預估費用。點數消耗較高提醒也能讓你更改等級——它會在某次回覆的花費異常高之後出現,每個聊天只會出現一次。
即使你關閉面板或離開聊天,重建也會繼續進行,完成時你會收到通知。在那之前,目前的記憶會照常運作,新訊息則會等到重建完成後才納入摘要。如果重建無法完成——例如你的點數用完了——你會收到通知,並可以在對話記憶中繼續或重新開始。你在點數消耗較高提醒中更改等級後,它同樣會提供以此等級重建。
已儲存的記憶存放在哪裡
每則記憶都屬於兩種範圍之一,在新增時選擇:角色專屬記憶或全域記憶(所有角色都看得到)。整個範圍的設計就只有這樣。
這帶來兩個附帶影響:在群組聊天中,角色會讀取每位成員記憶的聯集,再加上全域記憶;而如果某個角色被刪除,歸在它名下的記憶會變成全域記憶,而不會消失。
每一輪,角色都會收到所有釘選的記憶,再加上最多 100 則未釘選的記憶,最新的排在前面,並平均分配到目前適用的各個範圍;最近 7 天內更新過的記憶會被標示為近期。
記憶如何被儲存
| 方式 | 由誰執行 | 說明 |
|---|---|---|
| 角色在回覆途中自行儲存 | 模型 | 需要支援工具呼叫的模型。它也可以更新或刪除自己先前寫下的記憶 |
| 新增記憶 | 你 | 輸入事實,並選擇範圍 |
| 初始化記憶 → 生成記憶 | 你,然後是 AI | 根據你寫的描述(最多 1,000 個字元),回答「你希望角色記住什麼?」 |
| 從對話中儲存 | 你,然後是 AI | 選擇最多 20 則訊息,然後選用 AI 草擬或使用原文 |
| 深度記憶 | 你的訂閱 | 請參閱下方說明 |
生成記憶不會讀取你的聊天。 它只會根據你在文字框中輸入的描述運作。會讀取對話的功能是從對話中儲存:選取重要的訊息——一個承諾和對它的回應通常要放在一起——檢查最多五份草稿,然後儲存。用這種方式儲存的內容一律會釘選。
如果你重新生成某一輪的回覆,那一輪寫入的記憶也會一併撤回。釘選的記憶則不受影響。
釘選
釘選是讓一件事永久保留的方法。一則釘選的記憶:
- 每一輪都會完整傳送給角色,永遠不會被較新的記憶擠掉;
- 有自己的額度——每個範圍 20 則,不占用那 100 則未釘選記憶的額度;
- AI 無法編輯或刪除,只有你可以;
- 在倒回或重新生成對話後仍會保留;
- 第一次執行清除所有記憶時會被保留下來。
未釘選的記憶沒有這些保護:角色可以改寫或刪除它們,背景整理也可以。如果某件事很重要——你希望被怎麼稱呼、一條界線、一個有日期的約定——就把它釘選起來。
深度記憶
需要有效的訂閱。 每當一批較早的訊息被摘要並移出即時視窗,Reverie 就會重新讀取這批訊息,找出值得長期保留的細節,並把它們存成記憶。它會在對話進行中於背景執行,就在觸發它的那次壓縮之後——不是在半夜執行,也不是依照排程執行。回覆永遠不必等它,它也不會消耗你的點數。
這項整理是刻意設限的:它每次只做少量變更,從不碰觸釘選的記憶,而且需要累積一段新訊息才會運作。它只在網頁版聊天中執行——不包括 Discord 或 Telegram——而且從不在懸賞挑戰聊天中執行。適用於你時,面板會顯示深度記憶,並附上已啟用標記。
免費帳號沒有自動整理。角色仍然會在回覆途中儲存記憶,面板也照常可以使用。
記憶關閉時
- 從聊天中學習是依角色設定的開關,預設為開啟。關閉它會同時停止儲存和讀取——角色既不會學習,也看不到現有的記憶。
- 在不支援工具的模型上,角色無法在對話途中儲存記憶;已儲存的記憶仍然會被使用,訂閱者的深度記憶整理也仍會執行。
- 在懸賞挑戰聊天中,記憶功能會完全停用,所以每次挑戰都從相同的空白狀態開始。
- 未登入時,不會儲存任何內容。
記憶還是摘要?
記憶保留的是幾週後依然成立的事實——偏好的稱呼、生日、過敏、明確的約定。劇情進展、今天的心情和不斷變化的關係,則屬於對話摘要。如果你說過的某件事沒有出現在記憶中,請先查看摘要,再考慮手動新增。
清除所有記憶會刪除該範圍內所有未釘選的記憶,而且無法復原。你釘選的記憶會在第一次清除時保留下來;Reverie 接著會另外詢問你是否也要刪除它們——「這些是你親自標記、並保護起來不讓 AI 更動的時刻。」