如何在單一專案中關閉 Claude Code 自動記憶
Markdown在單一專案中,透過在 .claude/settings.json 加入 autoMemoryEnabled: false 這一行,即可關閉 Claude Code 自動記憶。這比 /memory 好在哪裡?又該如何整理筆記?
閱讀全文
若只要在一個專案中關閉 Claude Code 自動記憶,請在該專案的 .claude/settings.json 檔案中加入 "autoMemoryEnabled": false。/memory 指令中的切換開關不適合這種情況:它會將設定寫入全域檔案,並關閉電腦上所有專案的記憶功能。
代理很快就可能被不需要的資訊塞滿。在這裡描述的案例中,Hermes 花了 2 小時思考一項任務。當被問到「你用了多少個 token?」時,它回答:「粗略估計是 1 億個。」你解決任務了嗎?「沒有,我做了研究。」它接著逐一查看所有檔案,結果越來越混亂。
因此,代理的記憶中只應放入最有價值的資訊。而在這裡的評估中,Claude Code 自動記憶功能相當薄弱:內容非常少,而且壓縮得很厲害。如果你希望 Claude 只依照你的規則工作,只要在專案設定中加入 1 行就夠了。
接下來看看自動記憶與 CLAUDE.md 有何不同、如何關閉,以及如何處理舊筆記。開始吧。
Ailoot 參考文件:ailoot.ai/docs/。
重點整理
開啟專案的 .claude/settings.json 檔案,並加入 "autoMemoryEnabled": false。如果其他人也會使用這個專案,而你只想替自己關閉記憶功能,請將相同的鍵值放入 .claude/settings.local.json。此鍵值只適用於這個專案;其他專案的記憶功能仍會正常運作。/memory 中的切換開關會將鍵值寫入 ~/.claude/settings.json,並關閉所有專案的記憶功能。停用記憶後,舊筆記仍會留在磁碟上。你可以透過 /memory 開啟並手動整理。
自動記憶和 CLAUDE.md 有何不同?
CLAUDE.md 是主要的指示檔案,由你親自撰寫。每次開始新對話時,Claude 實際上都在問:「這裡有什麼?我是誰?我該做什麼?」當所有事情都寫在 CLAUDE.md 中時,它就會說:「好,我是專家。明白了。」
自動記憶則由 Claude 自行撰寫。你告訴它:「記住,請一律用我偏好的語言回覆」,或「不要將值寫死;一律從資料庫取得」,它就會在記憶資料夾中寫入一個類似「別再那樣做」的檔案。之後的工作階段中,它會想起這些內容。
當然,也不總是如此。代理還是會忘記事情,所以你得盯著它們:「喂,老兄,你又忘了。我們之前已經說過這件事了。」它會回答:「喔,對,我記得了;我在檔案這裡找到了。」因此,我們通常會把所有重要內容都寫在 CLAUDE.md,而不仰賴記憶。
另一篇文章詳細說明哪些規則應該放進 CLAUDE.md;另一篇文章則介紹 Claude 聊天中的 Memory 與 CLAUDE.md 有何不同。
如果你使用 AI 代理建構專案,請將所用工具的文件放在手邊。
Claude 自行撰寫的內容
Claude Code 會儲存 4 種筆記:
user— 你的角色、經驗,以及偏好的工作方式;feedback— 你提出的修正,以及你確認過的做法;project— 目前的工作、期限,以及程式碼中看不出來的決策;reference— 專案外資訊的所在位置,例如任務追蹤工具。
這些內容全都位於 ~/.claude/projects/<project>/memory/。其中的主要檔案是 MEMORY.md,它是目錄,每則筆記各占 1 行。每次工作階段開始時,Claude 會讀取其中最前面的 200 行或 25 KB,並在需要時開啟其他檔案。記憶只存在你的電腦上,不會移到其他電腦或雲端。
在這裡描述的範例中,內容包含使用者的姓名和角色,以及一條禁止將動態值寫死的規則,總共只有 5–7 行。這些是給代理本身的規則,說明它應如何工作。
你可以用檔案資料夾建立第二大腦,讓代理透過連結讀取其中的檔案。採用這種做法時,最好定義一個「第二大腦」技能,並將記載 Hermes 安裝指令的 PDF,以及一份「不同任務該用哪個模型」的表格,與專案檔案放在一起。
如何為單一專案關閉自動記憶
在專案設定中加入該行
專案的主資料夾中有一個隱藏的
.claude資料夾,裡面有settings.json檔案。最簡單的做法是直接請 Claude Code:「在這個專案的.claude/settings.json檔案中加入"autoMemoryEnabled": false,並保留其他設定不變。」如果你要手動開啟,而檔案不存在,請建立檔案並加入以下內容:{ "autoMemoryEnabled": false }如果檔案中已有其他設定,請將這個鍵值加在旁邊,並保留其餘內容不變。當
autoMemoryEnabled為false時,Claude 不會讀取記憶資料夾,也不會在其中寫入任何內容。選擇設定的適用對象
.claude/settings.json是共用的專案檔案,適用於所有在此專案工作的人。如果你只想替自己關閉記憶功能,請將相同的鍵值放入.claude/settings.local.json:這是你在此專案中的個人設定檔案。專案設定的優先順序高於全域設定。即使
~/.claude/settings.json中已啟用記憶功能,在這個專案中仍會以false為準。重新啟動 Claude Code
關閉工作階段,然後在專案資料夾中再次執行
claude。輸入/status:你的專案檔案應會出現在Setting sources那一行。如果有顯示,就表示 Claude 已讀取該檔案。鄰近的其他專案仍會保持記憶功能啟用。
還有另外 2 種方法,但用途各不相同:
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1環境變數。 執行CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude,只會在這次執行期間停用記憶,並覆寫設定檔中的鍵值。不過,你每次都得輸入這段指令。/memory中的切換開關。 它會將autoMemoryEnabled寫入~/.claude/settings.json,也就是電腦上所有專案共用的全域檔案。在一個專案中使用它,就會關閉所有專案的記憶功能。
還有一件事:在背景工作階段中,切換開關只能關閉記憶,無法重新開啟。若要啟用記憶,請使用你在終端機中自行執行 claude 啟動的一般工作階段。
警告
停用記憶不會刪除 Claude 已經寫入的任何內容。在你親自整理之前,memory 資料夾會一直留在磁碟上。
如何處理舊筆記
/memory 指令會列出記憶檔案,並讓你開啟其中任一檔案。它們都是一般文字檔,你可以編輯或刪除。
不要不看內容就直接刪除,先檢查裡面有什麼。在這裡描述的規則資料夾整理案例中,代理在自我反思時,記錄了關於使用者的不必要資訊。規則雜亂無章、塞滿過時內容,就和根目錄中的 CLAUDE.md 堆滿過時規則一樣有害:代理仍會沿用這些內容,產生幻覺,並提供品質較差的脈絡。
你可以請代理協助整理。每週一次,你可以交給它類似以下的任務來檢查業務資料夾;同樣的方法也適用於記憶資料夾:
找出已不再相關或已過時的內容,並證明它確實已過時。現在先不要刪除;只要找出來並呈現給我。
它會附上證據,列出相關項目,再由你決定要刪除哪些內容。只將筆記中最有價值的資訊移到 CLAUDE.md。另一篇文章說明如何讓指示保持精簡,使 Claude 能遵循;至於如何用資料夾和規則整理整個專案的記憶,則請參閱第二大腦文章。
你有保留自動記憶功能,還是已將它關閉?檢查看看 Claude 記住了哪些關於你的事情。你可以前往 ailoot.ai 繼續探索 Ailoot。
來源
- Claude Code:Claude 如何記住你的專案 — 筆記類型、記憶資料夾、200 行或 25 KB、/memory 切換開關、單一專案設定,以及環境變數
- Claude Code:設定檔案與優先順序 —
.claude/settings.json、.claude/settings.local.json和~/.claude/settings.json,以及各設定的優先順序 - Claude Code:設定參考,autoMemoryEnabled —
false的作用、可設定此鍵值的位置,以及環境變數的優先順序
更多詳情
常見問題:如何在單一專案中關閉 Claude Code 自動記憶
哪個設定檔能只在一個專案中關閉我的記憶?
在該專案的 .claude/settings.local.json 設定 "autoMemoryEnabled": false。若要與團隊共用,才放進 .claude/settings.json。/memory 的開關會修改全域設定,不適合需要保留其他專案記憶的情況。
關閉自動記憶會刪掉舊筆記嗎?
不會,記憶資料夾仍在磁碟上。刪除前先查看檔案,必要時把有用決策保存到別處。修改專案設定後重新啟動 Claude Code,並在 /status 確認載入設定的來源。