為什麼你的CLAUDE-md越寫越長
文章
CLAUDE.md 的分層設計邏輯:為什麼越寫越長但 AI 越來越不聽。
⏱ 約 12 分鐘
你可能遇到過這個狀況
你可能已經知道 CLAUDE.md 要精簡。但「知道要精簡」跟「知道怎麼拆、拆到哪裡去、拆完怎麼確認沒丟東西」是完全不同的能力。
剛開始用 Claude Code 的時候,你在 CLAUDE.md 加了幾條規則,AI 也會乖乖照做。然後你想到更多規則,繼續加,幾十行、上百行;同時間,對話本身也越來越長,CLAUDE.md 裡的指令就慢慢被稀釋。
某天你發現 AI 好像忘了你前面寫的東西,明明 CLAUDE.md 裡寫了「回覆用繁體中文」,AI 偶爾還是跑英文出來。第一反應通常是 AI 變笨了,但問題不是模型——是你把所有規則都塞進同一個地方,讓真正重要的東西被淹掉了。
你以為每多一條規則,AI 就更聽話一點,但真實情況是每多一條,所有規則的相對權重就被稀釋一次。
注意力衰減:你寫越多,每條被分配到的注意力會越低
🔑 重點:CLAUDE.md 越長,每條規則越容易被其他 context 稀釋。
CLAUDE.md 的內容在對話開始時會進入 context,但對話越長、資料越多,早期規則就越容易被後面的內容淹沒,這也意味著你在 CLAUDE.md 塞越多東西,不一定會讓體驗更好,因為 AI 還是要在整段 context 裡判斷甚麼最重要。
如果每條規則都長得一樣重要,最後就等於沒有一條特別重要,這不是叫你不要寫規則,而是要讓真正需要常駐的規則留在入口,不要把所有偏好、流程、範例、提醒都塞進同一份檔案。
過度壓縮的副作用
你的反應可能是:那我把 CLAUDE.md 寫得更精簡,每條規則壓成一句話不就好了?
這當然也有問題,套用到前面幾章我們學到的,當指令被過度精簡之後,AI 拿到的資訊很容易不夠判斷真正的意圖,壓縮不是不好,但壓到 AI 推不出正確行為就是過頭了,每條規則都該拿掉多餘的字,但不該拿掉讓 AI 理解的關鍵資訊。
解決方案:分層
全塞在 CLAUDE.md 裡就是錯的。做法是保持 CLAUDE.md 精簡,把特定領域的指令放到 Skill 或其他文件裡。
很多實務建議都會告訴你 CLAUDE.md 可以放常用命令、測試方式、風格規則。但真正困難的是判斷甚麼不該放。CLAUDE.md 超過 200 行之後,模型對規則的遵從率會明顯下降——從七成多掉到五成左右。重點不是追求某個精確行數,而是把不該永遠佔用 context 的東西分流出去:
# 砍掉前(塞在 CLAUDE.md 裡的)
記得讀 docs/style-guide.md
記得讀 docs/api-rules.md
寫文章時用繁體中文、不要用表格、段落不要太長...(一大串規則)
每次 session 開始先讀 USER.md 再讀 MEMORY.md...
遇到會議記錄時要整理成結構化格式...
砍完之後 CLAUDE.md 只剩核心通用的指令,其餘分流出去:
CLAUDE.md → 核心身份和行為原則(保持精簡)
.claude/rules/ → 規則文件(啟動協議、權限模型、各類文件路徑提醒... etc)
.claude/rules/怎麼運作的?
所有放在.claude/rules/底下的.md檔案,會在每次 session 啟動時自動被載入 context,不需要在 CLAUDE.md 裡寫「記得讀 rules/xxx」你也可以在檔案開頭的 YAML frontmatter 加
paths條件,指定只在特定檔案路徑下才載入這條規則換句話說,你把規則搬到 rules/ 之後,它依然每次都會生效,只是不佔 CLAUDE.md 的空間
🎯 實作:拿你自己的 CLAUDE.md 做下面這個分類練習。
現在打開你的 CLAUDE.md,先不用急著刪,只要逐條問自己:「這條是核心身份,還是特定情境的規則?」如果已經長到自己都讀起來吃力,那通常就是該分流的信號。
核心身份可以留下,例如「回覆用繁體中文」「語氣像朋友」,但遇到會議記錄時要怎麼整理、寫文章時要用甚麼風格、審 PR 時要看哪些風險,這些都比較像情境規則,適合搬到 rules 或做成 Skill。
CLAUDE.md 在我們這邊的定義,更像是入口,而不是一個長篇大論的文章。
你可以把這個想成分工,CLAUDE.md 負責定義「你是誰、基本行為是甚麼、要遵循哪些規則文件」,rules 負責定義「每次 session 開始要做甚麼」,Skills 負責處理「遇到特定情境時該怎麼做」,各管各的,不用全擠在同一個地方。
⚠️ 如果拆完之後 AI 反而更亂:常見原因是把 AI 每次都需要看到的規則搬進了只偶爾載入的 Skill,先把搬走的東西列出來,問自己「這條不是每次對話都看到的話,AI 會不會行為偏掉?」會的話搬回 rules。
值得先一提的是,Skill 使用的是「漸進式揭露」機制,AI 對話開始前主要看到每個 Skill 的 description,觸發了才載入完整內容,也就是說,你可以保留多個 Skill,但不會每次都把全部內容塞進 context。
Skill 的機制在後面的 Skill 章節會完整說明。
還有一件事值得先提:藉由預載 Skill 的 description,就能透過描述內容引導 AI 的行為。
超大量的「記得讀 X」是不好的
🚧 注意:CLAUDE.md 裡出現大量「記得讀 X」就是有問題的信號。
很常見的做法,是在 CLAUDE.md 裡寫一堆:
記得讀 docs/style-guide.md
記得讀 docs/api-rules.md
記得讀 docs/review-checklist.md
...
這樣做有幾個問題,你忘了加一條,AI 就不會讀那個文件;你一直補提醒,CLAUDE.md 就越來越肥;而且 AI 每次都可能把不需要的東西讀進來,佔掉 context。
更好的做法,是用更有彈性的規則,例如引導 AI 如果要找某類文件,可以去哪裡找;或是直接把這些規則內容做成 Skill,讓 description 在對話開始前被看到,真正需要時再載入完整內容。
那規則寫到甚麼程度才夠
規則文件只能打底,剩下很多細節還是來自互動中的默契。規則負責兜底,互動負責磨合。不要追求完美規則,先把你個人認為最重要的內容寫下來——行為原則、紅線、偏好,剩下的讓 AI 從互動中慢慢校準。
最容易卡住的往往是風格類規則,例如「語氣不要太正式」,因為「正式」的定義因人而異,這種規則寫得再精確,AI 也常常需要幾輪互動才能校準到你的標準,比如寫作 Skill 原本沒寫「段落不要太長」,但我們連續幾次把長段落拆短,AI 就可能從互動裡學到偏好。
這種磨合很多時候靠互動比靠規則快,冗餘規則砍掉之後,AI 反而更容易抓到真正重要的事。
⚠️ 如果一直改規則但 AI 表現沒有明顯提升:問題可能不在規則,而是互動默契還沒累積,這時候繼續加規則只會讓 context 更重,先用幾次,把 AI 做得好的地方記下來,讓下次有參考基礎。
反過來,如果每次執行類似任務時,我提供它之前發生過甚麼狀況,它的交付品質也會大幅提升。這就是為什麼後面的記憶系統很重要——記憶是那段互動默契的載體,有沒有記憶,體驗差距會很大。
總結三件事:CLAUDE.md 越寫越長但 AI 越來越不聽,通常是注意力被稀釋了;規則壓縮到 AI 行為變怪,代表你砍掉的是理解意圖需要的資訊;大量「記得讀 X」代表入口設計出問題,應該改成更智慧的文件引導,或做成 Skill。
到這裡,我們有了分層的起點:CLAUDE.md 精簡當入口,rules 放啟動與固定規則,Skill 留給特定情境的工作方式。下一篇會把這些放到第一週的實際使用坑裡看。
你現在可以做的一件事:打開你的 CLAUDE.md,逐條問自己「這條是核心身份還是特定情境的規則?」。把特定情境的規則搬到 .claude/rules/ 或做成 Skill。
不用擔心搬過去不會被讀到,
.claude/rules/的檔案會在下次 session 自動載入,不需要額外設定