# 記憶如何運作

> 角色會保留什麼、會忘記什麼，以及如何讓一件事被牢牢記住。

Source: https://reverie.im/zh-TW/docs/chatting/memory
Language: zh-TW

推動一段對話往前的，是三樣各自獨立的東西：還留在視窗中的原始訊息、已經離開視窗的訊息的滾動摘要，以及存放長期事實的記憶庫。它們的運作方式不同，所以當角色「忘記」某件事時，值得弄清楚是哪一層沒有留住它。

## 三個層次 \[#the-three-layers]

| 層次     | 存放位置                         | 容量                                                                                                                                             |
| ------ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| 即時訊息   | 對話本身                         | 由[記憶詳細程度](https://reverie.im/zh-TW/docs/chatting/memory#memory-detail)決定。在預設的**平衡**等級下：最近的 10,000 個 Token——或模型上下文視窗的 25%，取較小者——而且最多 **50 則訊息** |
| 對話摘要   | 該聊天中，側邊欄的**記憶**分頁 → **對話記憶** | 分為三個層級：**近期摘要**、**合併摘要**，以及**長期記憶**                                                                                                            |
| 已儲存的記憶 | 側邊欄的**記憶**分頁，分為角色專屬和全域       | 每個範圍 **100** 則，另加 **20** 則釘選記憶，每則最多 **500 個字元**                                                                                                |

即時視窗是刻意和你選擇的模型脫鉤的。選擇一個擁有百萬 Token 上下文的模型，並不會讓更多原始訊息保留在視窗中；改變的是這些訊息周圍還能放進哪些其他內容。

訊息離開即時視窗後，會在一輪回覆完成之後被摘要，每次處理幾個區塊。四則近期摘要會合併成一則，四則合併摘要再變成一則長期摘要——每一種記憶詳細程度都是如此，而且全都只限於那一個聊天。你可以在側邊欄的**記憶**分頁 → **對話記憶**中閱讀、**編輯**和**重建**這些摘要，那裡也會顯示還有多少則訊息尚未納入摘要。

## 記憶詳細程度 \[#memory-detail]

**記憶詳細程度**位於**對話記憶**的最上方，決定對話摘要要保留多少劇情。這個設定會依角色分別儲存，並套用到你和該角色的網頁版聊天；Discord 和 Telegram 機器人則一律使用**平衡**。摘要中的所有內容都會隨每則訊息一起傳送，所以越詳細，每次回覆就會消耗越多點數。

| 等級         | 逐字保留                       | 摘要會保留什麼                                     |
| ---------- | -------------------------- | ------------------------------------------- |
| **重要事件**   | 最多 6,000 個 Token 和 30 則訊息  | 主線劇情、人物關係、約定和長期不變的事實。不保留逐場景的細節，所以較早的細節會更快淡去 |
| **平衡**（預設） | 最多 10,000 個 Token 和 50 則訊息 | 重要事件、約定，以及事情如何變化，細節程度適中                     |
| **詳細**     | 最多 16,000 個 Token 和 80 則訊息 | 更多場景和支線細節，長期記憶中的時間軸也更長                      |

在上下文視窗較小的模型上，每個等級逐字保留的內容都不會超過該視窗的 25%。

長期摘要也有篇幅上限：**重要事件**、**平衡**和**詳細**分別約為 4,000、8,000 和 16,000 個 Token。一旦明顯超過這個上限，就會被壓縮：最早的時間軸條目會被整併成簡短的時期概述，只保留仍然重要的未完成約定、確切的名稱和數字，以及目前的狀態。從你那裡記下的更正和規則，則一律逐字保留。

新的等級會從你的下一則訊息開始生效。已經寫好的摘要會維持原本的詳細程度，直到被合併進更早的記憶中。若要把新的等級一次套用到全部歷史紀錄，請**重建**對話記憶：你切換等級後，面板會立即提供這個選項，並附上預估費用。**點數消耗較高提醒**也能讓你更改等級——它會在某次回覆的花費異常高之後出現，每個聊天只會出現一次。

即使你關閉面板或離開聊天，重建也會繼續進行，完成時你會收到通知。在那之前，目前的記憶會照常運作，新訊息則會等到重建完成後才納入摘要。如果重建無法完成——例如你的點數用完了——你會收到通知，並可以在**對話記憶**中繼續或重新開始。你在**點數消耗較高提醒**中更改等級後，它同樣會提供**以此等級重建**。

## 已儲存的記憶存放在哪裡 \[#where-saved-memories-live]

每則記憶都屬於兩種範圍之一，在新增時選擇：**角色專屬記憶**或**全域記憶**（所有角色都看得到）。整個範圍的設計就只有這樣。

> **記憶不會依人設、聊天或分支分開。** 切換[人設](https://reverie.im/zh-TW/docs/chatting/personas)、開始新對話或[建立分支](https://reverie.im/zh-TW/docs/chatting/forking)都無法隔開任何記憶：你和一個角色的每一個聊天，讀寫的都是同一份記憶庫。在分支中學到的事實，在原對話中也會立刻看得到，在你使用的每一個人設下也一樣。

這帶來兩個附帶影響：在[群組聊天](https://reverie.im/zh-TW/docs/chatting/group-chats)中，角色會讀取每位成員記憶的聯集，再加上全域記憶；而如果某個角色被刪除，歸在它名下的記憶會變成全域記憶，而不會消失。

每一輪，角色都會收到所有釘選的記憶，再加上最多 100 則未釘選的記憶，最新的排在前面，並平均分配到目前適用的各個範圍；最近 7 天內更新過的記憶會被標示為近期。

## 記憶如何被儲存 \[#how-something-gets-saved]

| 方式                   | 由誰執行     | 說明                                   |
| -------------------- | -------- | ------------------------------------ |
| 角色在回覆途中自行儲存          | 模型       | 需要支援工具呼叫的模型。它也可以更新或刪除自己先前寫下的記憶       |
| **新增記憶**             | 你        | 輸入事實，並選擇範圍                           |
| **初始化記憶** → **生成記憶** | 你，然後是 AI | 根據你寫的描述（最多 1,000 個字元），回答「你希望角色記住什麼？」 |
| **從對話中儲存**           | 你，然後是 AI | 選擇最多 20 則訊息，然後選**用 AI 草擬**或**使用原文**  |
| 深度記憶                 | 你的訂閱     | 請參閱下方說明                              |

> **生成記憶不會讀取你的聊天。** 它只會根據你在文字框中輸入的描述運作。會讀取對話的功能是**從對話中儲存**：選取重要的訊息——一個承諾和對它的回應通常要放在一起——檢查最多五份草稿，然後儲存。用這種方式儲存的內容一律會**釘選**。

如果你重新生成某一輪的回覆，那一輪寫入的記憶也會一併撤回。釘選的記憶則不受影響。

## 釘選 \[#pinning]

釘選是讓一件事永久保留的方法。一則釘選的記憶：

* **每一輪都會完整傳送**給角色，永遠不會被較新的記憶擠掉；
* 有自己的額度——**每個範圍 20 則**，不占用那 100 則未釘選記憶的額度；
* **AI 無法編輯或刪除**，只有你可以；
* 在倒回或重新生成對話後仍會保留；
* 第一次執行**清除所有記憶**時會被保留下來。

未釘選的記憶沒有這些保護：角色可以改寫或刪除它們，背景整理也可以。如果某件事很重要——你希望被怎麼稱呼、一條界線、一個有日期的約定——就把它釘選起來。

## 深度記憶 \[#deeper-memory]

**需要有效的訂閱。** 每當一批較早的訊息被摘要並移出即時視窗，Reverie 就會重新讀取這批訊息，找出值得長期保留的細節，並把它們存成記憶。它會在對話**進行中**於背景執行，就在觸發它的那次壓縮之後——不是在半夜執行，也不是依照排程執行。回覆永遠不必等它，它也不會消耗你的點數。

這項整理是刻意設限的：它每次只做少量變更，從不碰觸釘選的記憶，而且需要累積一段新訊息才會運作。它只在網頁版聊天中執行——不包括 Discord 或 Telegram——而且從不在懸賞挑戰聊天中執行。適用於你時，面板會顯示**深度記憶**，並附上**已啟用**標記。

免費帳號沒有自動整理。角色仍然會在回覆途中儲存記憶，面板也照常可以使用。

## 記憶關閉時 \[#when-memory-is-off]

* **從聊天中學習**是依角色設定的開關，預設為開啟。關閉它會同時停止儲存*和*讀取——角色既不會學習，也看不到現有的記憶。
* 在不支援工具的模型上，角色無法在對話途中儲存記憶；已儲存的記憶仍然會被使用，訂閱者的深度記憶整理也仍會執行。
* 在懸賞挑戰聊天中，記憶功能會完全停用，所以每次挑戰都從相同的空白狀態開始。
* 未登入時，不會儲存任何內容。

## 記憶還是摘要？ \[#memory-or-summary]

記憶保留的是幾週後依然成立的事實——偏好的稱呼、生日、過敏、明確的約定。劇情進展、今天的心情和不斷變化的關係，則屬於對話摘要。如果你說過的某件事沒有出現在記憶中，請先查看摘要，再考慮手動新增。

> **清除所有記憶**會刪除該範圍內所有未釘選的記憶，而且無法復原。你釘選的記憶會在第一次清除時保留下來；Reverie 接著會另外詢問你是否也要刪除它們——「這些是你親自標記、並保護起來不讓 AI 更動的時刻。」

## 相關內容 \[#related]

* [人設](https://reverie.im/zh-TW/docs/chatting/personas)——為什麼切換人設不會讓你得到第二份記憶
* [羈絆](https://reverie.im/zh-TW/docs/chatting/bonds)——關係本身，而不是關於你的事實
* [對話分支](https://reverie.im/zh-TW/docs/chatting/forking)——分支會複製什麼、共用什麼
* [世界書](https://reverie.im/zh-TW/docs/writing/world-books)——關於世界的設定，而不是關於你的事實
* [聊天疑難排解](https://reverie.im/zh-TW/docs/chatting/troubleshooting)——當角色忘記某件事時
* [限制](https://reverie.im/zh-TW/docs/reference/limits)——所有上限一覽表
