第 83 篇 · 台北 一份持續書寫的工作日誌

— Claude Code 也會做夢?

你有沒有覺得,跟 AI 聊了很多次之後,它好像還是不太記得你是誰、你在做什麼?

Claude Code 最近有一個實驗功能叫 /dream,簡單說就是讓 AI 自動整理它累積的記憶。這個名字取得很有意思,概念借用了人腦做夢時會整理記憶的機制,但 AI 當然不是真的在睡覺,它只是跑一個背景程式來清理和重組記憶檔案。

先講背景。Claude Code 有一個 memory 系統,每次你跟它對話,它可以把重要的事情記下來,存成檔案。比如你告訴它 "我是做前端的"、"這個專案用 TypeScript"、"不要用 npm 要用 yarn",它會自動存起來,下次對話就不用重新講。

這些記憶檔案存在哪裡?在你電腦的 ~/.claude/projects/ 資料夾底下,每個專案有自己的 memory 資料夾。你可以直接打開來看,裡面都是 markdown 檔案,每個檔案記錄一個主題的資訊,另外還有一個 MEMORY.md 當索引。

但問題來了:用久了之後,這些記憶檔案會越來越亂。有些重複、有些過時、有些寫得太瑣碎。就像你的筆記本寫了半年之後,翻開來自己都不知道在寫什麼。

/dream 就是來解決這個問題的。

最近蠻多人在討論這個功能。我自己去試了一下,首先你要把 Claude Code 更新到 2.1.81 以上的版本,然後在對話中輸入 /memory,你會看到一個新的選項跟 dream 有關。介面上的說明是:開啟之後就可以使用 /dream 來整理記憶。

但我實際試了一下,輸入 /dream 之後跳出來的是:Unknown skill: dream。

所以目前這個功能的狀態是:介面上看得到、說明也寫了,但實際上還沒辦法用。看起來是 Anthropic 正在開發但還沒正式啟用的功能。

那它設計上要做什麼?有人從 Claude Code 的原始碼裡面挖出了一段跟記憶整理有關的 system prompt(https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/system-prompts/agent-prompt-dream-memory-consolidation.md),目前還不確定是不是就是 /dream 背後的機制,但裡面描述的四階段流程跟 /dream 的定位非常吻合:

第一階段(定位):掃描你的記憶資料夾,讀取索引,快速瀏覽各個主題檔案 第二階段(蒐集新訊號):從最近的對話紀錄中找出新的資訊、已經過時的記憶 第三階段(整合):把新資訊合併進現有的記憶檔案,把相對日期轉成絕對日期,刪除已經被推翻的事實 第四階段(修剪和索引):確保索引檔維持在行數限制內,移除過時的指標

概念上就像你每個月花一個下午整理筆記一樣,只是這件事 AI 幫你做了。

為什麼這個功能值得期待?因為記憶檔案是有成本的。每次開新對話,Claude Code 都會把相關的記憶載入 context window。如果記憶檔太亂太肥,不只浪費 token,還可能讓 AI 被一堆過時資訊干擾,反而做出更差的判斷。

舉個例子:假設三個月前你跟 AI 說 "這個專案用 React 16",後來升級到 React 19 了,AI 也記下了新版本。但如果舊的記憶沒清掉,AI 的 context 裡就同時有兩個矛盾的資訊,它可能會搞混。/dream 就是被設計來處理這種情況的,它會自動判斷哪些是最新的、哪些該淘汰。

這讓我想到一個更大的趨勢:AI 工具正在從 "對話式" 走向 "持續關係式"。以前每次開新對話都像認識一個新朋友,現在 AI 能記住你的偏好、你的專案、你的工作方式,而 /dream 就是維護這段關係品質的機制。

仔細想想,AI 越來越像人類了。有記憶、會做夢整理記憶、還有 context window 的容量限制就像人腦的工作記憶。照這個趨勢發展下去,不知道哪天會不會出一個 /shit 指令,讓 AI 把真的沒用的垃圾資訊徹底排掉 XD

雖然 /dream 現在還不能用,但從它已經出現在介面上來看,正式上線應該不遠了。如果你也在用 Claude Code,可以先更新到最新版,輸入 /memory 看看有沒有出現 dream 的選項。

你有沒有自己管理 AI 記憶的方法?歡迎分享。

延伸閱讀 看完整 137 篇 →