
圖說:墨寒只把值得保留的片段放進可整理、可遺忘的記憶庫

圖說:墨寒長期記憶管理畫面
前幾天我們一直在讓墨寒看起來、聽起來更像一個人。今天進入虛擬伴侶最容易令人期待,也最容易令人不安的功能:記憶。
如果墨寒每次啟動都忘記昨天談過的事,陪伴感很難累積。但「記得你」若等於把所有對話、聲音與私人資料永久保存,代價又太高。真正值得做的長期記憶,應該幫助使用者延續關係與工作,不是把生活變成一座自己也整理不了的倉庫。
這是我必須先說清楚的界線。墨寒使用 OpenAI API 時,不會因此自動看見使用者 ChatGPT 帳號裡的所有聊天紀錄。兩者不是同一個記憶空間。
墨寒的長期記憶是應用程式自己的本機資料,由使用者查看、編輯、刪除與匯出。雲端模型只有在某次請求需要、而且程式選擇提供時,才收到必要的上下文。這種設計雖然少了「她神奇地什麼都知道」的幻覺,卻讓資料來源比較可理解。
若文章把兩者混在一起,使用者可能錯以為安裝墨寒後,她能翻閱整個 ChatGPT 人生,這既不正確也不負責任。
一次對話裡可能有真正重要的資訊,也有寒暄、口誤與臨時情緒。把全文全部塞進長期記憶,不只浪費空間,未來取用時也容易讓無關內容干擾回答。
比較有用的記憶可能是:「我偏好繁體中文」、「這個專案不能直接推 main」、「某位角色的正式英文名稱是什麼」,或由我親自確認的一段人物設定。它們短、可查、能修改,也有明確用途。
對話紀錄與長期記憶因此應分開。前者保留一次互動的脈絡,後者是經過挑選、希望跨日使用的資訊。使用者可以刪除某段對話,也能單獨修正一條記憶,不必在一整片聊天裡尋找。
有些資訊需要長期保留,有些只在這週工作有效。專案規格因此為記憶預留分級、到期與匯出概念。不是每一條都永遠存在,也不是 AI 自己覺得重要就不可刪除。
我希望使用者能看見記憶內容與來源,決定保留多久;匯出時知道檔案可能包含私人資訊,刪除時也真的從可用記憶中移除。若未來加入更自動的整理,仍要保留人工控制,不把「方便」變成黑箱收藏。
這也是角色人設與安全再度相遇的地方。墨寒可以說「妾記得」,程式卻要讓主人知道她記在哪裡、如何忘記。
長期記憶不只會過期,也可能互相矛盾。假設舊記憶寫著「下載按鈕稱為 ZIP 可攜版」,後來我已改成更準確的「ZIP 免安裝版」;若兩條都保留,模型可能任意挑一條回答。
因此記憶最好帶有建立與更新時間,也能由使用者合併、修正或停用。新資訊不一定自動刪除舊資訊,因為有時是情境不同;但程式應讓衝突看得見,不把 AI 的選擇當成唯一真相。
來源也很重要。由我親自確認的人設、從對話暫時推測的偏好、外部文件讀到的資訊,可信程度不同。即使目前介面還沒有實現所有細緻來源管理,設計上也不能把它們混成一團,再讓墨寒用同樣自信的語氣說出來。
我希望未來記憶能像策士整理的軍報:可以追溯、可以更正,而不是一句神祕的「AI 認為你喜歡這個」。
API 金鑰、OAuth 權杖、Home Assistant Token、遠端裝置憑證,不能因為「換電腦後還要記得」就放進長期記憶資料庫。它們由 Windows 使用者綁定的安全儲存處理,也不進入可攜設定檔。
一般偏好、任務、靈感、提醒與記憶可以隨個人設定檔轉移;機器權限、允許清單與秘密必須在新電腦重新授權。這會讓搬家多幾個步驟,卻避免一個備份檔同時變成所有帳號的萬用鑰匙。
可攜檔本身仍可能包含私人對話與工作內容,所以也要當成私人文件保存。排除金鑰不等於可以隨便公開。
最基本的測試不只新增一條記憶再看到它。還要編輯後使用新版、刪除後不再取用、到期後退出有效內容、匯出與匯入保持資料一致,同一份快照不能誤匯兩次,較舊快照也要提醒可能覆蓋新資料。
實際使用則看另一層:被取出的記憶是否真的有助於回答,過多內容會不會讓語氣變怪,墨寒有沒有把不確定的推測說成既定事實。自動測試能證明資料操作,無法替我決定什麼值得被記住。
我也不會用真實 API 金鑰、私人對話或個人資料庫當公開測試素材。需要重現時使用虛構資料,截圖前再檢查一次,這是寫開源專案與鐵人賽文章都必須守住的線。
備份恢復也要實際驗證,不能只看到備份檔存在就安心。程式在變更前與每日建立可驗證備份,恢復時要確認資料庫真的可讀、記憶數量與內容一致。備份若永遠沒有演練過,出事時才可能發現只是複製了一個損壞檔。
同樣地,刪除後的資料是否仍存在於舊備份,是另一個需要對使用者說清楚的問題。備份保護誤刪,也代表敏感內容可能在保留期限內仍有副本;未來需要清楚的保存與清理政策。
記憶最好的狀態,不是永遠不忘,而是記得有價值的事,也尊重主人要求遺忘。
明天 Day 18,我會談比記憶更接近日常工作的部分:待辦、創作靈感、工作計時、模式與提醒。墨寒如何從陪聊角色變成不打擾又真的有用的桌面夥伴?
本篇描述墨寒本機記憶與可攜資料的控制原則;可攜檔雖排除祕密權杖,仍可能含私人內容,請勿公開分享。