有一次我想把過去的重要對話補進記憶宮殿,處理到後來,電腦真的爆掉過一次。
後來我才比較確定:AI 需要記憶,但記憶不是越多越好。
前面三篇寫到,Codex 開始住進我的電腦、跟 Obsidian 一起工作,也開始幫我處理一些本機端很麻煩的事。但這整套流程跑一陣子之後,我又遇到另一個問題:AI 很能做事,但它不一定記得我們之前怎麼做事。
單次對話裡不太看得出來。你跟它聊一個下午,它可以接得很好,知道你前面說過什麼、目前卡在哪。可是隔天換一個 session,或換到另一個工具,很多上下文就斷了。
我常常得重新交代:這個專案走到哪、哪條路我不想再討論、哪些決定已經做過、哪些事情只是暫時放著。講一次還好,講十次就很煩。更麻煩的是,重講的過程中人的說法也會變,AI 聽到的版本就可能跟上一次不一樣。
這也是我後來開始幫 Codex 裝 MemPalace 的原因。口語可以叫它「記憶宮殿」,它是 GitHub 上的一個開源專案。
這個工具不是給我自己查資料用的,而是給 Codex 的一層回憶層,讓它下次開新 session 時不必完全從零開始。下一次我再開一個新的 Codex,或換到不同工作場景,它至少能知道:我們以前討論過什麼、哪些事有了結論、哪些專案不要混在一起。
這個差別不大張旗鼓,但用起來很明顯。
例如,我不需要每次都重新說明「我用 Obsidian 當知識庫,很多東西最後要落成 Markdown」;也不需要每次都重講「我比較在意能不能留下可回收的成果,不只是當下回答得漂亮」。它若能記得這些偏好,下一次就比較快進入狀況。
又例如,不同專案要分開:生活筆記、工作專案、工具安裝、內容寫作,不該全混成一團。記憶宮殿真正有用的地方,不是把所有東西都吞進去,而是幫 Codex 先知道「這件事屬於哪個脈絡」。
後來我也確認過,這不只是 Codex 自己在用。Claude Code 的 MCP servers 裡,MemPalace 可以顯示 Connected。也就是說,Codex 和 Claude Code 可以接到同一座記憶宮殿,只是用不同區域、不同脈絡,整理各自需要的記憶。

我會在意這件事,是因為我不是只跟單一 AI 工具工作,而是常讓 Codex、Claude 在同一個專案、不同任務裡分工。如果它們完全沒有共同背景,每次交接都得我重新口述一次。MemPalace 幫忙補上的,就是這層可對齊的背景:哪些專案正在跑、哪些原則已經確定、哪些坑之前踩過,不必每次重來。
安裝記憶宮殿時,它會問你要不要回溯過去的資訊。我後來決定全部從當下開始。
聽起來有點可惜。以前聊過那麼多東西,好像都該補進記憶。但真要這樣做,風險很大。舊對話裡有很多當時的猜測、半成品、過期決定,如果全部倒進去,記憶宮殿很快就會變成另一種垃圾場。
而且這不只是原則問題,是我真的踩過一次雷。一開始我也想過,既然要做記憶,乾脆把過去重要的對話都補進去?但現場很快就發現,這件事很花時間,也很吃記憶體。舊對話不是乾淨資料,它很長、很碎、混著不同專案和不同時期的判斷,要把它們整理成可用記憶,本身就像在搬一整個倉庫。
所以我接受了一個比較務實的做法:不執著把過去補齊。從現在開始記,重要的才記、有結論的才記、需要下一次接上的才記;舊東西真的需要,就回頭找原始文件、筆記或 session,不要為了「記憶完整」把整台電腦拖下水。
這跟 Obsidian 的邏輯其實很像:不是所有東西都值得留下,留下來的也要知道它是什麼層級。
但界線要畫清楚。
記憶宮殿是給 agent 用的回憶層,不是事實來源。
它可以提醒 Codex「之前好像做過這個判斷」,但不能直接變成「事實就是這樣」。真正的事實,還是要回到文件、筆記、檔案、終端機輸出、實際跑出來的結果。
我後來一直提醒自己這件事。記憶本來就會老化,也會被污染。不同專案若混在一起,AI 可能把 A 專案的規則帶到 B 專案;某次討論裡的暫時判斷,也可能被下一次誤當成正式結論。
所以我現在比較把它看成一個「提醒 Codex 該去哪裡找」的工具,而不是「直接給我答案」的工具。它最好的用法,是幫下一次的 Codex 縮短進入狀況的時間,而不是取代我去檢查現場。
如果說 Obsidian 是我跟 LLM 共同產出的成果,那記憶宮殿就是貼給下一次 agent 的便條:提醒它之前的脈絡、哪個抽屜可能有資料、哪件事不要再走一次冤枉路。
便條紙很有用,但便條紙不是合約,不是正式紀錄。
Chat 可以讓想法發生,Obsidian 可以讓知識留下,Codex 可以進電腦現場處理問題,記憶宮殿則是留給下一次 agent 的便條紙。
什麼該留下,什麼能相信,什麼只是暫時記一下,什麼必須回到原始文件再確認。AI 讓產出變便宜了,但更關鍵的,永遠是人的判斷與決策。