這是「Claude Code 實戰手冊」系列的第四篇(G4)。上一篇 G3 講了
CLAUDE.md(你親手寫給 Claude 的專案規矩),結尾埋了一句:「用講的叫它記住,存進去的是另一套自動記憶系統。」這篇就把這兩套機制徹底分清楚 —— 你寫的 vs. 它寫的,什麼該記進哪裡。
上一篇 G3 結尾,我埋了一個沒講完的東西。
那時我教你一個捷徑:在對話裡直接用講的叫 Claude 記住,例如「記住,這個專案一律用 yarn,不要用 npm」。它真的會記。但我當下補了一句:「你用講的叫它記住,存進去的其實是『另一套自動記憶系統』,跟你手寫的 CLAUDE.md 是兩個不同的機制。」
然後我說,這兩套怎麼分工,留到 G4 講。
現在就是 G4。
先講一個你八成已經遇過、只是沒多想的情況:
我明明沒有把「用 yarn」寫進
CLAUDE.md,只是那次對話隨口叫它記一下 —— 怎麼過幾天開新對話,它還記得?
第一次發現這件事,說實話有點微妙 —— 高興它真的記住了,又有點在意:它到底把我講的話記去哪了?會不會我沒注意的時候,它也默默記了一堆別的?
會這樣,是因為 Claude 自己幫你記了一筆。這篇就是要把它「自己幫你記」的這套機制講清楚:它把這筆記在哪、什麼時候才會記、你怎麼看得到它記了什麼,還有一個更有意思的問題 —— 為什麼有時候它記的是「這個專案」的事,有時候卻感覺它連你換一個專案都還記得你的習慣?

G3 跟 G4,其實是同一件事的兩半。
CLAUDE.md):你動筆,把規矩寫給它。G3 我們把 CLAUDE.md 比喻成貼在專案門口的說明書 —— 你寫給每個進來的 Claude 看的規矩。那自動記憶就是 Claude 自己的一本工作筆記本:它一邊幫你做事,一邊把「這個學到了、下次別再問」隨手抄進去,下次上工先翻一下自己的筆記。一個是你貼的告示,一個是它自己的筆記本 —— 兩個它每次上工都會先看,差別只在誰動筆。
CLAUDE.md |
自動記憶(auto memory) | |
|---|---|---|
| 誰動筆 | 你 | Claude 自己 |
| 寫什麼 | 規矩、慣例、別碰的地方 | 它做著做著學到的東西(build 指令、踩過的雷、你的偏好) |
| 你要不要維護 | 要,你得自己寫、自己改 | 不用,它自己長 |
所以你可以這樣記:
🎯 G3 是「我交代」,G4 是「它記筆記」。
聽起來很簡單,但新手最容易出錯的地方,正是把「它記筆記」跟「用講的叫它記住」跟「寫進 CLAUDE.md」這三件事混成一團。這篇接下來就是一節一節把它們拆開。
先講最主要的一種。
你在一個專案裡跟 Claude 工作,它做著做著,會自己把一些「以後應該用得到」的事記下來:這專案怎麼跑起來、剛剛那個 bug 是踩到什麼雷、你習慣怎麼命名。下次你在同一個專案開新對話,它就自動帶著這些筆記上工。
有兩個重點要先講清楚,免得你誤會它:
它不是每次都記。 它會判斷「這件事以後會不會用到」,值得才記。所以你不會看到它把每句話都抄下來。
它記東西的時候,你看得到。 當畫面上閃過 Writing memory,就是它正在往筆記本抄一筆;閃過 Recalled memory,是它正在翻之前記過的東西。以前你可能以為那兩行字是什麼系統訊息,現在你知道了 —— 那就是它的筆記本在動。
那這本筆記本,實際上放在哪?
📁 每個專案都有一個自己的記憶資料夾,路徑長這樣:
~/.claude/projects/<你的專案>/memory/。看不懂沒關係,它就是藏在你電腦裡、一個 Claude 專門拿來放這個專案筆記的資料夾。裡面一個MEMORY.md當目錄,加上幾個主題小檔(像debugging.md)放細節。等一下第 6 節會教你怎麼一鍵打開它,不用自己去記這串路徑。
關於這本筆記本,有三件事我要老實先跟你講,因為它們會影響你對它的期待:
MEMORY.md 的前面一小段(前 200 行、或 25KB,誰先到算誰)。所以 Claude 會刻意讓這個目錄檔保持精簡,細節都丟去主題小檔,真的要用到才翻進來 —— 這也是它不會因為記太多就拖慢、變貴的原因。claude --version 可以確認版本)。換句話說,你這陣子用 Claude Code,它八成早就默默幫你記了不少,只是你還沒去翻過。那第 1 節那句「用講的叫它記住」,到底是在做什麼?它就是你親手叫它在筆記本上補一筆。 你說「記住,跑測試前要先開本機的 Redis」,它就把這件事抄進上面那個資料夾 —— 進的是這本自動記憶筆記本,不是你手寫的 CLAUDE.md。

圖說:自動記憶 —— 同一個專案、同一台機器,Claude 邊做邊記(MEMORY.md 目錄 + 主題小檔),新對話自動載入索引
上面那套筆記本,綁的是專案。但你有些習慣,是不管做哪個專案都想要的:
這種東西如果記在某一個專案的筆記本裡,你一換專案它就跟丟了 —— 明明是「你這個人」不管到哪都要的偏好,卻被鎖在單一專案裡,顯然不對。它應該跟著你,而不是跟著某個專案。
而這個「跟著你」的位置,其實 G3 已經給過你了,只是那時它只是四層表格裡的一列、沒展開:~/.claude/CLAUDE.md,也就是「個人全域」那一層。
這個檔跟著你,不跟著專案。你放進去的習慣,你電腦上所有專案的 Claude 都讀得到。
所以「跨專案都要記得的偏好」→ 寫進這裡最可靠。
⚠️ 幫你擋一個很容易踩的混淆:個人全域
CLAUDE.md還是「你寫的」(它只是放在一個跟著你、而不是跟著專案的位置);自動記憶才是「它寫的」。
換句話說,這兩條線是這樣分的:
所以,想讓「換個專案、甚至換台機器,Claude 都還照著你的習慣走」,最穩的做法是你自己把它寫進個人全域這一層,而不是指望自動記憶那本筆記本幫你跨專案帶過去 —— 因為那本筆記本綁的是「單一專案 + 這台電腦」,它天生就不跨專案。這是新手很容易誤會的一點:自動記憶再聰明,它也只在「原本那個專案、原本那台電腦」裡有效。
到這裡,你手上有兩個放記憶的地方了:你手寫的 CLAUDE.md,和它自己的筆記本(自動記憶)。那新手最容易卡住的問題就來了 ——
我在對話裡隨口講一句「記住 X」,它到底存去哪一個?
實際上是這樣,你記住兩句就好:
CLAUDE.md,你得明講。 直接說「把這個加進 CLAUDE.md」,它才會去動那個你手寫的檔。你不特別講,它不會自作主張去改你的 CLAUDE.md。教你一個一句話就能判斷的辦法,問自己:這件事,要不要傳給別人?
💡 要傳給同事一起看的資訊 → 自己寫進
CLAUDE.md。 它會進 git(版本控制),同事把專案抓下來,他的 Claude 也讀得到同一份規矩。(像是專案開發規則、命名慣例、commit 訊息格式、哪些資料夾別動 —— 這種「全組都得遵守」的事。)
只是想讓「我這台電腦的 Claude 別再忘」→ 用講的讓它記進筆記本就好。 不用進版控,也不會傳給別人。(像是你自己踩過的某個雷、你這台機器上跑測試前要先開哪個服務、你個人一時的偏好 —— 這種「只有我需要」的事。)
一個是要昭告全組的公告,一個是你自己的備忘 —— 分不清時,回到「要不要傳給別人」這一題就對了。
/memory 的另一面:看它到底記了什麼G3 教過 /memory,那時我們用它來「找 CLAUDE.md 出來編輯」。這篇補它的另一半功能。
在對話裡打 /memory,除了列出載入的 CLAUDE.md 檔,它還讓你:
我很建議你去翻一次那個資料夾。裡面全是純文字 markdown,你看得到、改得動、也刪得掉。
這件事的意義不只是「好奇它記了啥」。很多人一聽到「Claude 會自己記我的東西」會有點不安 —— 它記了什麼我不知道?會不會記錯?/memory 就是拿來破除這個不安的:它不是黑箱,是一疊你隨時能翻、能撕掉的便利貼。記錯了、過期了,你打開刪掉就好。

圖說:
/memory除了編輯 CLAUDE.md,還能開關自動記憶、打開資料夾看它記了什麼 —— 記的就是這些純文字
/memory 去翻自動記憶不是偷偷摸摸的黑箱。想知道 Claude 記了什麼,打 /memory 打開資料夾看 —— 全是你能改、能刪的純文字。
~/.claude/CLAUDE.md(你寫)。./CLAUDE.md(你寫,進 git)。/memory 檢查)。它綁的是這台電腦、這個專案,換電腦不會跟過去。所以真正重要、想帶著走、或想給團隊的東西,寫進會進版控的 CLAUDE.md、或跟著你的個人全域檔 —— 別只押在自動記憶這本筆記本上,免得哪天換機器全沒了。
延續系列慣例,這篇收三個 —— 一個舊指令的新用法、一句話、一個小工具:
/memory(複習 G3,這篇補新的一面)G3 用它來「找 CLAUDE.md 出來編輯」;G4 補上另一半:開關自動記憶、打開資料夾看 Claude 到底記了什麼。想知道它默默記了啥,就打這個。
在對話裡直接說「記住,跑測試前要先開 Redis」,它就把這件事抄進自動記憶。這是本篇最實用的動作 —— 不用開檔案、不用記路徑,一句話讓它自己記一筆。(想改進 CLAUDE.md 就多加一句「加進 CLAUDE.md」。)
claude --version查你的 Claude Code 版本。為什麼收它?因為自動記憶需要 v2.1.59 以上才有;哪天覺得「怎麼沒看到它幫我記」,先用這個確認版本夠不夠新。
G3 加 G4,一起把「跨對話記得」這件事講完了。
有兩種「記得」:你寫的(專案 CLAUDE.md、個人全域 CLAUDE.md)和它寫的(自動記憶)。它們共同的用途,是讓那些穩定的、會重複用到的資訊 —— 技術棧、慣例、你的個人習慣、它踩過的雷 —— 不用你每次重講。
但這兩篇有一個共同的極限(其實 G3 結尾就提過了):它們都不適合放**「這次做到哪、剛剛決定了什麼」這種當下進度**。那種東西會過期,而且每次對話重讀一份過期的進度很浪費。
那問題就來了 ——
我做到一半,白板快滿了、不得不換一個對話,要怎麼把「剛剛做到哪、決定了什麼」這一整包,交接給下一個對話、甚至下一個 agent?
這是我自己工作流裡天天在用的一招:讓 Claude 產生一份交接檔,傳給下一棒。 那是 G5 的主題,到時候細講。
下一篇 G5 — 換 section 不斷線:把當下進度交接給下一個對話 / agent。CLAUDE.md 和自動記憶管的是「穩定的資訊」;G5 要解決的是另一半 —— 「當下的進度」怎麼不斷線地傳下去。
完整 20 篇地圖會放在系列首頁。本系列同步發佈於 Medium。
關於我
Tim Wei / AI/ML Engineer @ EY Taiwan,專注於 Responsible AI、金融業 ML 落地。也在台大擔任 AI 應用的企業導師。
歡迎在留言區跟我討論,或在 LinkedIn 上找我。
抱歉第三篇到第四篇久等了,因為最近剛好正在準備論文口試以及工作項目正多,所以更新的稍微慢了點,後續會加速補上內容的。![]()