Claude Code Context 管理攻略 — 為什麼你的 AI 越用越笨,以及怎麼修
你有沒有遇過這種狀況:用 Claude Code 寫到一半,突然發現它開始忘東忘西,code 質量明顯下降,甚至會重複做已經做過的事情?
那不是 Claude 變笨了,是你的 context window 快爆炸了。
這篇要聊的就是 Claude Code 最重要但最容易被忽視的東西:context 管理。不懂這個,你再聰明的 AI 助手也會被你用到逐漸失能。
Context Window 是你最寶貴的資源
先講白一點:Claude 的 context window(你可以理解成 AI 能夠「記住」的東西)是有限的。每一次對話、每個你讀的檔案、每個指令的輸出,全部都會佔用 context。
當 context 開始滿的時候,Claude 的表現就會下降。它會開始「健忘」,做錯事情的頻率變高。這不是 bug,這是物理限制。
想像一下你的大腦 RAM,用滿了就會 lag。Claude 也是一樣。
所以context 管理就是你在用 Claude Code 時最重要的事。你可以寫得很完美,但如果 context 一直堆積垃圾,再完美的 code 也救不了。
給 Claude 驗證的方式
這是我看官方文件時最驚訝的一個點:如果你給 Claude 能驗證自己工作的方式,它的表現會暴增。
什麼意思?就是不要只叫它「實作一個 email validation function」,而是:
1 | 寫一個 validateEmail function。測試案例: |
或者你在改 UI 的時候,不要就說「讓 dashboard 看起來更好看」,而是:
1 | [貼一張 screenshot] |
有驗證機制,Claude 才能自己抓到自己的錯誤。沒有驗證,你就變成唯一的 feedback loop,每次它出錯都要你來救。真的很吃記憶體吃到爆。
Explore → Plan → Code 的工作流
關鍵是 Plan Mode。你按 Ctrl+G 就能進去。
在 Plan Mode 裡,Claude 可以讀檔案、回答問題,但不會動任何東西。這很重要,因為這樣能夠分離「研究」和「實作」。
一個典型的流程長這樣:
第一步:Explore
1 | 讀 /src/auth 資料夾,了解我們怎麼處理 session 和 login。 |
第二步:Plan
1 | 我想加 Google OAuth。哪些檔案要改? |
然後你可以按 Ctrl+G 直接在編輯器裡改這份計劃。
第三步:Implement
1 | 按照這份計劃實作 OAuth flow。 |
第四步:Commit
1 | 寫一份有意義的 commit 訊息,開一個 PR。 |
Plan Mode 有點麻煩,但值得。特別是當你在陌生的 codebase 裡,或是改動涉及很多檔案的時候。
但如果任務很明確(比如修個 typo、改個變數名稱),就直接做,不用規劃。
CLAUDE.md 怎麼寫才不會踩坑
CLAUDE.md 是一個特殊檔案,Claude 在每個新的 session 開始時都會讀它。裡面可以放 Bash command、code style、workflow 規則。
首先,跑 /init 讓 Claude 自動分析你的專案產生一份基本的 CLAUDE.md。
然後重點來了:讓它保持簡短。
每一行都問自己:「如果我刪了這一行,Claude 會出錯嗎?」如果不會,就砍掉。太長的 CLAUDE.md 反而會讓 Claude 忽視重要的規則。
1 | # Code Style |
這樣就夠了。不要把 API 文件、詳細說明、或自明的東西塞進去。那些東西用 link 就好,或者用 skill 檔案處理。
什麼該放,什麼不該放
| ✅ 放進去 | ❌ 不要放 |
|---|---|
| Claude 猜不到的 Bash command | Claude 能從 code 推出的東西 |
| 跟業界慣例不同的 code style | 標準的語言慣例 |
| 測試指令和偏好的 test runner | 詳細的 API 文件(用 link) |
| Repository etiquette | 會經常改的資訊 |
| 專案特有的建築決策 | 長篇的解釋或教學 |
| 開發環境的奇怪需求 | 自明的最佳實踐 |
Context 管理技巧
用 /clear 清空無關的任務
從檔案 A 切到檔案 B,完全不同的任務?直接 /clear。這會重設 context window。
不要讓舊的 context 囤積在那邊,它只會讓 Claude 分心。
使用 /compact 和自動壓縮
當 context 快滿時,Claude 會自動壓縮舊的對話,保留重要的 code 和決策。
你也可以手動 /compact,告訴它要專注什麼:
1 | /compact Focus on API changes only |
或是用 Esc 兩次,選一個 checkpoint,然後選「Summarize from here」。這樣能局部壓縮一部分對話。
用 /rewind 回到之前的狀態
Claude 會自動在每個動作之前建立 checkpoint。如果它搞砸了,按 Esc 兩次或跑 /rewind,可以回復到任何之前的狀態。
甚至可以跨 session 保存,所以下次用 --continue 回來時,你還能 rewind。
/btw 問快速問題
你想問一個不相干的快速問題,但不想讓它進入 conversation history?用 /btw:
1 | /btw 這個 API 的參數什麼意思? |
答案會在一個 dismissible overlay 裡,不會佔用你的 context。
用 Subagent 進行調查
這是我最喜歡的技巧。當 Claude 要讀很多檔案研究東西時,整個 codebase exploration 會吃掉超多 context。
改成用 subagent:
1 | Use subagents to investigate how our auth system handles token refresh, |
Subagent 會在自己的 context 裡跑,探索完之後回報給你,你的主 session 保持乾淨。
Session 管理
課程修正要快
發現 Claude 走錯方向?馬上修正。不要等。
按 Esc 停止它,或用 /rewind 回到之前。如果你已經修正了兩次同一個問題,context 被汙染了,就直接 /clear 重新開始,用更好的 prompt。
用 –continue 和 –resume 繼續上次的工作
1 | claude --continue # 接續最後一個 session |
任務跨越多個 session 時很有用。用 /rename 給 session 取名字,像 "oauth-migration" 或 "memory-leak-debug"。
常見的踩坑模式
廚房水槽 Session
你開始做一件事,然後問 Claude 不相干的問題,然後又回到第一件事。Context 滿是垃圾。
修: /clear 分開任務。
一直在修正
Claude 做錯,你修正。它還是做錯,你又修正。對話充滿失敗的嘗試。
修: 修正兩次之後,/clear 重新開始,用更精確的 prompt。
CLAUDE.md 太肥
檔案太長,Claude 會忽視重要的規則。
修: 無情地砍。如果 Claude 已經做對了,刪掉那個指令,或轉成 hook。
相信但不驗證
Claude 寫的 code 看起來合理,但其實沒處理邊界情況。
修: 一定要給驗證機制。沒有驗證就不要上線。
無限探索
你叫 Claude 「調查一下」,沒有限制範圍。它讀了幾百個檔案,context 爆炸。
修: 範圍要窄,或用 subagent。
真香的工作流總結
總結一下,這就是一個有效的 Claude Code 流程:
- 寫好 CLAUDE.md — 簡短、重點、有 git check-in
- 給驗證機制 — 測試、screenshot、預期輸出
- 用 Plan Mode — Explore → Plan → Implement → Commit
- 主動清理 —
/clear分開任務,/compact壓縮舊內容 - 快速修正 — Esc 停止,
/rewind回復,不要等 - 用 subagent — 大型調查用獨立的 context
- 跨 session 繼續 —
--continue或--resume
就這樣。你的 Claude 就不會越用越笨。










