🧠 Claude Code 的記憶問題
你有沒有發現,每次跟 Claude Code 開新對話,它好像什麼都不記得?
「上次不是說了,我的專案用 TypeScript...」
「不對,那個 API endpoint 我已經改過了...」
「為什麼又問我同一個問題...」
Claude Code 其實有記憶功能,它會把學到的東西存在一個叫 MEMORY.md 的檔案裡。但用了幾個月之後,這個檔案會變成災難:
- 過時的筆記沒人刪 — 三週前你把框架從 Express 換成 Fastify,但舊的「API 用 Express」還躺在記憶裡
- 矛盾的資訊堆在一起 — 兩個不同 session 記了互相衝突的架構決策
- 相對日期失效 — 「昨天決定用 Redis」過了一個月就完全看不懂是哪天
結果?Claude Code 不是記不住,是記了一堆錯的東西。記憶越多,反而越容易被自己誤導。
⚡ /dream 是什麼?AI 的「REM 睡眠」
Anthropic 偷偷在 Claude Code 裡加了一個功能叫 /dream。簡單說:AI 在你不用的時候,自己「做夢」整理記憶。就像人類睡覺時,大腦會把白天的短期記憶整理成長期記憶一樣。
四個階段
1掃描(Orient)
看一下記憶目錄裡現在有什麼,了解整體狀況
2搜尋(Gather Signal)
翻最近幾次對話紀錄,找出重要的新資訊 — 你的修正、偏好改變、架構決策
3整理(Consolidate)
把重複的合併、把「昨天」改成「2026-03-15」、把過時的直接刪掉、把矛盾的解決
4瘦身(Prune)
確保記憶索引不超過 200 行。太舊的搬到分類檔案裡,索引只留指標
必須同時滿足「距上次整理超過 24 小時」AND「累積 5 個以上的 session」。不會太頻繁浪費資源,也不會太久忘記整理。
這個設計直接對應了 UC Berkeley 2025 年的論文「Sleep-time Compute」— 研究發現,模型在閒置時預計算,可以減少 5 倍推理計算量,準確率還能提升 18%。
🔌 搭配 Claude-Mem:完整的記憶系統
/dream 只做整理,不做記錄。如果你的記憶庫裡本來就沒什麼東西,整理也整理不出花來。
這就是 Claude-Mem 這個開源插件的價值。它的角色是「自動秘書」:
- 自動記錄你每次用 Claude Code 做了什麼、改了什麼、為什麼改
- 用 AI 壓縮成精簡摘要(壓縮比 10:1 到 100:1)
- 存在本地資料庫裡,下次對話自動注入相關記憶
- 三層漸進式載入,只拿需要的記憶(每次只消耗約 1,500 tokens)
一個負責記,一個負責整理。配起來就是完整的 AI 記憶系統:
- Claude-Mem = 白天的大腦(邊工作邊記筆記)
- /dream = 晚上的 REM 睡眠(整理、去重、更新)
⚠️ 三個你要知道的限制
目前還在灰度測試階段。你打開 Claude Code 輸入 /memory,可能只會看到「Auto-dream: off」而且開不了。Anthropic 在用一個叫 tengu_onyx_plover 的 feature flag 在慢慢放,不是所有人都能用。
它需要 Node.js 18+、Bun、還有 ChromaDB 向量資料庫。對開發者來說不難,但對純小白來說,裝環境本身就是一道坎。目前 GitHub 上有 40K+ stars,社群活躍,但不代表你裝完就能順利跑。
AI 記住越多不代表越好用。記錯的東西反而會誤導它 — 想像你的員工拿著一份過時的 SOP 做事,比沒有 SOP 還糟。所以就算有了 /dream 和 Claude-Mem,定期人工檢查你的 MEMORY.md 還是必要的。
🎯 現在能做什麼?
真正的分水嶺不是誰的記憶容量更大,是誰的記憶更乾淨、更準確。記憶容量再大,塞滿過時的筆記和矛盾的資訊,AI 只會越用越笨。
現在能做的:先把 Claude Code 的 Auto Memory 打開,讓它開始記錄。等 /dream 全面開放,你的記憶庫已經準備好讓它整理了。