Claude Code 記憶滿了?context 不夠的 3 個解法
先講重點
短答給趕時間的人:context 是 AI 一次能「記在腦中」的量 — 你的話、它讀的檔案、整段對話史全算。快滿的症狀:回應變慢、開始忘記你前面說過的事、重複問已回答過的問題。3 招管理:(1) /compact — 把對話歷史壓成摘要,腦容量瞬間空出來 (2) CLAUDE.md — 專案的永久規則寫這裡,每次開場自動讀,不用一直重講 (3) 斷點檔 — 收工前叫它把進度寫進檔案,新對話開場先讀,跨對話接關。
你一定遇過:聊到第 40 輪,它突然忘記你 10 分鐘前才講過的規則,或把改好的東西又改回去。第一反應通常是「它變笨了?」— 不是。是它的腦容量(context)被越堆越滿的對話塞滿了。這篇講清楚原理跟我實際在用的 3 招 — 我的網站專案跨了超過 100 個對話,靠這套沒有失憶重來過。
context 是什麼?為什麼會「恍神」?(1 分鐘原理)
AI 沒有真正的長期記憶 — 它每次回答,都是把「整段對話 + 讀過的檔案 + 你的新訊息」全部重看一遍再回。這個一次能看的上限就是 context(上下文視窗)。想像一張桌子:紙越堆越多,新的紙進來,舊的就得挪出去 — 挪出去的那些,它就「忘了」。
所以恍神的症狀是漸進的:先是回應變慢(桌上東西多,翻找變久),然後開始忘記早期的指示(最舊的紙被挪走了),最後可能出現前後矛盾。看到這些訊號,就是該整理桌面的時候 — 下面 3 招按情境用。
第 1 招:/compact — 壓縮對話(當下急救)
對話還要繼續、但它開始恍神 → 打 /compact。它會把前面的對話濃縮成一份摘要(保留結論、丟掉過程細節),桌面瞬間清出大半。適合「同一件事做很久」的長任務中場休息。
要知道的取捨:壓縮會丟細節 — 摘要保留「決定了什麼」,但「當時為什麼這樣決定」的來回討論會不見。所以重要的決定別只留在對話裡,要落地成檔案(第 3 招)。另外,徹底換主題時用 /clear 直接清空重來,比壓縮更乾淨 — /compact 是「同件事繼續做」、/clear 是「換件事」。
第 2 招:CLAUDE.md — 永久規則(一次寫好,每場自動生效)
有些話你發現自己每個新對話都要重講一次:「回覆用繁體中文」「這個專案用 Python」「改檔案前先列計畫」。這些搬進專案資料夾裡一個叫 CLAUDE.md 的檔案 — Claude Code 每次在這個資料夾啟動,都會自動先讀它,等於每場開工前的固定交代。
# CLAUDE.md 範例(放在專案資料夾根部)
- 回覆一律用繁體中文
- 這是靜態網站專案,改動後要跑 python build.py
- 大改動前先列計畫給我確認
- 不要動 legacy/ 資料夾裡的東西
判斷什麼該進 CLAUDE.md:你重講過兩次以上的規則。寫的時候當「給新同事的入職須知」寫 — 簡短、明確、條列。它也吃 context(每場都載入),所以只放真正每次都需要的,不是什麼都塞。
第 3 招:斷點檔 — 跨對話接關(專案級的解法)
CLAUDE.md 放「不變的規則」,但「目前做到哪、下一步是什麼」是會變的狀態 — 這就要斷點檔:每次收工前,叫它「把這次做了什麼、目前狀態、下一步,寫進 progress.md」;下個新對話開場第一句:「先讀 progress.md,接著上次的進度」。新對話桌面全空(快又便宜),但進度一行不漏。
這招是我整個網站專案的命脈:超過 100 個對話、幾個月的斷斷續續,每次都能 2 分鐘內接回狀態。進階版是把「開場自動讀斷點」做成自動化(不靠自己記得),我把完整做法寫成了一篇 workflow 教學:「讓 Claude Code 跨對話不失憶」,想升級的往那看。
三招分工:/compact 救當下、CLAUDE.md 管規則、斷點檔管進度。合起來 = 對話可以隨時關,工作永遠接得上。
AI 越聊越恍神不是變笨:context(一次能記住的量)被對話歷史塞滿,最舊的內容被擠出去就「忘了」。症狀:變慢 → 忘記早期指示 → 前後矛盾。3 招:(1) /compact 把歷史壓成摘要,長任務中場急救;換主題用 /clear 清空 (2) CLAUDE.md 放每場都要的固定規則(專案資料夾根部,自動載入),重講過兩次的話就該搬進去 (3) 斷點檔 — 收工叫它把進度寫進 progress.md、新對話開場先讀,跨對話接關。我的網站專案跨 100+ 對話靠這套不失憶,而且新對話比舊長對話又快又省額度。
名詞解釋
- context(上下文視窗)
- AI 一次能「記在腦中」的內容上限,包含你說的話、它讀的檔案跟對話紀錄。塞滿了就會忘掉前面的事,這就是長對話後 AI 開始恍神的原因。
- token(字元計費單位)
- AI 讀寫文字的計量單位,一個中文字約 1-2 個 token。訂閱方案的用量限制、API 的計費都是按 token 算,所以「講重點、少貼無關內容」直接等於省錢。
- 大型語言模型(LLM, Large Language Model)
- ChatGPT、Claude 這類 AI 背後的技術:讀過海量文字後,學會理解與生成人類語言的模型。
- 命令列(CLI, Command Line Interface)
- 用打字指令操作電腦的方式,沒有按鈕跟視窗。Claude Code 就是命令列工具。
▸ 常見問題
Claude Code 為什麼越用越笨,開始忘記前面說的話?
不是變笨,是 context(一次能記住的上限)快滿了。AI 每次回答都要重看整段對話,對話太長時最舊的內容會被擠出視窗,於是「忘記」你早期的指示。解法:同件事繼續做就打 /compact 壓縮歷史;換主題就 /clear 或開新對話;每次都要的規則寫進 CLAUDE.md 一勞永逸。
/compact 跟 /clear 差在哪?什麼時候用哪個?
/compact 是「壓縮」:把對話歷史濃縮成摘要,保留結論、丟掉細節,適合同一件事做很久的中場休息 — 脈絡還在,腦容量空出來。/clear 是「清空」:整段對話歸零重來,適合徹底換主題。判斷:待會還需要前面的脈絡嗎?需要 → /compact;不需要 → /clear。額度角度兩個都省 — 帶著長歷史的對話每輪都在重複計費。
CLAUDE.md 是什麼?該寫什麼進去?
放在專案資料夾根部的說明檔,Claude Code 每次在該資料夾啟動都會自動先讀 — 等於每場開工的固定交代。該寫:你重講過兩次以上的規則(語言偏好、專案技術棧、動工前要先列計畫、哪些資料夾不能碰)。寫法當「新同事入職須知」:簡短、條列、明確。注意它每場都佔 context,只放真正每次需要的。
怎麼讓 Claude Code 跨對話記住專案進度?
用斷點檔:收工前叫它「把這次做了什麼、目前狀態、下一步寫進 progress.md」,新對話開場第一句「先讀 progress.md 接著做」。分工是:CLAUDE.md 放不變的規則、斷點檔放會變的進度。我的網站專案跨 100+ 個對話沒失憶靠的就是這套;進階版(自動強制載入、不靠自己記得)在「讓 Claude Code 跨對話不失憶」那篇 workflow 有完整教學。
看完這篇之前先確認:
- 對話越長 AI 越恍神 開始忘記前面說過的事
- 常看到 context 相關提示 想知道那是什麼
- 每開新對話都要重新交代一次專案 很煩
- 報 limit / spend 訊息 (那是額度,另一篇)
- 工具完全沒反應 (那是卡住,另一篇)
- 想找「無限記憶」的設定 (沒有,只有管理方法)
- 把恍神當模型變笨 — 是你的對話堆太多東西了
- 捨不得開新對話 怕它忘記 — 該寫進 CLAUDE.md 的沒寫
- /compact 跟 /clear 分不清 — 一個是壓縮一個是清空