Opus 5 時代的 CLAUDE.md:為什麼冗長指示現在會妨礙 Claude
MarkdownClaude Opus 5 更聰明了,而 CLAUDE.md 中冗長過時的規則反而成了阻礙。本文說明哪些內容該保留、哪些該移到 skills,以及如何啟用自動記憶,並附上可直接使用的提示詞。
閱讀全文
重要重點
Claude Opus 5 於 2026 年 7 月 24 日推出,Anthropic 隨之做了一件違反直覺的事:將 Claude Code 系統提示中的指示刪減了 80% 以上。想法很簡單:模型變聰明了,額外而僵化的規則現在反而會妨礙它。你的 CLAUDE.md 也是如此。本文會說明該刪除哪些內容、該將哪些內容移到 skills,以及如何開啟自動記憶,讓 Claude 再次更能遵循指示。
Ailoot 的使用資訊請參閱文件。
Opus 5 推出後,Claude 有哪些改變?
重要重點
Opus 5 推出時,Anthropic 改變了向模型下達指示的方式。過去 Claude Code 有一份包含數百條規則的龐大系統提示。新版本將其刪減了 80% 以上,而程式碼品質並未下降。原因是:第五代模型已足夠聰明,能根據脈絡做出判斷。它們不再需要僵化的命令清單。
Opus 5 於 2026 年 7 月 24 日推出,並立即成為 Claude Code 的預設模型。模型本身的價格、基準測試和努力程度模式,另有指南「該改用 Claude Opus 5 嗎?」詳細介紹。本文談的是另一件事:模型推出後,有效與它溝通的方式也改變了。
Anthropic 在 Claude 部落格上發表了一篇分析文章。文章的主要論點如下:
我們刪除了 Claude Code 系統提示中 80% 以上的內容,卻沒有看到程式設計任務的品質明顯下降。我們對 Claude 的限制太多了。
關鍵詞是「限制太多」。模型還比較弱時,需要腳手架:做這個、別做那個、這裡有個範例,再重複一次。Opus 5 已不再需要這種腳手架;更糟的是,它反而可能造成妨礙。Anthropic 簡明地提出新原則:讓 Claude 運用自己的判斷。
這在實際上對你有什麼意義?
- 你的 CLAUDE.md 就像專案專用的系統提示。 Anthropic 把自己的內容刪減了 80%,你的檔案很可能也已經過度臃腫。
- 列出一長串規則不再能保證模型遵循指示。 恰恰相反,行數越多,模型越不會嚴格遵循(下文會用文件中的數據進一步說明)。
- 新的機制已經出現——自動記憶和 skills 會接手部分過去必須手動寫進 CLAUDE.md 的工作。
重點是:最重要的工作發生在提示之前,也就是你在第一次提出要求前,先將哪些內容放進模型的脈絡。Opus 5 更新基本上是 Anthropic 對同一想法的官方確認。不過這次也提供了具體數據和新工具。接下來我會逐一說明。
為什麼冗長的 CLAUDE.md 現在會造成妨礙?
重要重點
每次工作階段開始時,CLAUDE.md 都會載入脈絡,並像對話一樣消耗 token。Claude Code 官方文件建議將檔案控制在 200 行以內,因為較長的檔案會耗用更多脈絡,並降低遵循指示的能力。此外,兩條規則互相矛盾時,Claude 會隨機挑選其中一條。過度膨脹的 CLAUDE.md 會增加雜訊,讓模型更難掌握方向。
運作方式如下。CLAUDE.md 是一份規則檔案,Claude 每次工作階段開始時都會讀取。另一篇指南「如何設定 CLAUDE.md」說明如何從頭建立檔案;本文談的則是反向操作:現在該從檔案中移除哪些內容。你寫在其中的所有內容,都會在第一次提出要求之前進入脈絡,並在整段對話期間保留。脈絡不是無限的——規則每多一行,就少一點原本可用於任務的空間。
Claude Code 文件明確指出:
檔案請控制在 200 行以內。較長的檔案會消耗更多脈絡,並降低遵循指示的能力。
第二點比第一點更重要:較長的檔案會降低遵循指示的能力。模型會開始比較不仔細地聽從指示。幾乎每個初學者都會掉進這個陷阱。這套邏輯看起來無懈可擊:我希望 Claude 聽我的,所以我要多寫一些規則。實際上,結果正好相反。清單越長,模型的注意力越分散,也越常略過某條規則。
這種做法的變化如下:
| 過去(較弱的模型) | 現在(Opus 5 和第五代模型) | |
|---|---|---|
| 邏輯 | 規則越多,結果越可靠 | 規則越少,遵循程度越高 |
| CLAUDE.md | 涵蓋所有情況的冗長清單 | 簡短,只寫模型無法自行推斷的內容 |
| 指示 | 僵化命令:「照這個方式做」 | 仰賴模型的判斷 |
| 重複規則 | 重複規則以確保可靠 | 重複只會造成妨礙 |
還有第二個問題:矛盾。檔案越長,幾乎不可避免地會累積彼此衝突的規則。一處寫著「一律撰寫測試」,另一處卻寫「不要碰 tests 資料夾」。文件警告,如果兩條規則互相矛盾,Claude 可能會隨機選其中一條。換句話說,過度膨脹的檔案會讓模型的行為更難預測。
一條簡單原則:CLAUDE.md 是一份簡短備忘,記下 Claude 無法自行推斷的內容。除此之外的內容只會佔用它的注意力。
CLAUDE.md 應該保留什麼、刪除什麼?
重要重點
CLAUDE.md 只保留 Claude 無法從程式碼本身推斷的內容:專案特有的陷阱、不明顯的慣例、建置命令,以及與預設值不同的慣例。刪除模型已經知道的明顯事項,以及它能從程式碼本身讀取的內容。文件中的原則是:等 Claude 第二次犯下相同錯誤時,再把規則加進去。不要提前加,也不要為了預防而加。
文件提供了明確的標準,協助你判斷某條規則是否該放進 CLAUDE.md。符合以下情況時,才加入規則:
- Claude 第二次犯下相同錯誤。
- 程式碼檢查發現模型應該已知道的專案相關問題。
- 你第二次在聊天中輸入相同的修正。
- 團隊新成員也需要相同脈絡,才能避免破壞專案。
整體原則是保留專案特有的陷阱,移除明顯事項。Claude Code 甚至內建了 claude doctor 檢查,可建議你整理過度膨脹的 CLAUDE.md。它會刪除模型能從程式碼庫推斷的細節,例如資料夾結構、相依套件清單、架構概述,並保留陷阱、原因,以及與預設值不同的慣例。
第二條重要原則是明確具體。模糊的措辭沒有用。比較以下例子:
| 模糊(不得要領) | 具體(切中要點) |
|---|---|
| 正確格式化程式碼 | 使用 2 個空格縮排 |
| 測試變更 | 提交前執行 npm test |
| 將檔案整理好 | API 處理常式放在 src/api/handlers/ |
| 撰寫良好的提交訊息 | 提交訊息以類型開頭:fix:、feat: |
差異很簡單。模型可以自行解讀「正確格式化」的意思;「使用 2 個空格縮排」則可以明確檢查。CLAUDE.md 中的每條規則都應該能夠確認並看得見是否有遵循。
第三,移除明顯事項。如果你在 CLAUDE.md 寫著「撰寫乾淨的程式碼」或「遵循最佳實務」,那就是雜訊。模型已經知道這些事,而這一行會佔用空間並分散注意力。Anthropic 明確建議不要把脈絡浪費在明顯事項上。
提示
快速檢查 CLAUDE.md 中每一行的方法是問:「Claude 只看我的程式碼,就能自行推斷這件事嗎?」如果可以,就刪掉。只保留無法從專案本身推斷的內容。
不適合放在 CLAUDE.md 的規則應該移到哪裡?
重要重點
CLAUDE.md 中的內容一旦從簡單事實變成多步驟流程,就應移到 skill。skill 是獨立的指示檔案,只會在真正需要時載入。其他時候,它不會佔用脈絡。如此一來,長篇指示在你呼叫之前幾乎不會造成成本。這就是漸進式揭露——依需求載入資訊,分段提供,而且剛好在需要時載入。
這時,最被低估的工具就派上用場了。以前所有指示都必須放在 CLAUDE.md;現在,長篇流程有了自己的歸處:skills。另一篇指南「如何選擇 Claude Code skills」說明如何挑選合適的 skills,同時避免數量過多。
兩者的差異很根本。每次工作階段開始時,CLAUDE.md 都會完整載入;skill 則不會。文件如此說明:
與 CLAUDE.md 的內容不同,skill 的本文只會在使用時載入,因此冗長的參考資料在你需要之前幾乎不會造成成本。
這稱為漸進式揭露,也就是依需求載入資訊。想法是在適當的時機,分段提供脈絡給模型。Anthropic 將詳細指示,例如程式碼審查指示,移進 skills,並從系統提示中移除。
判斷是否該移進 skill 的標準很簡單:CLAUDE.md 的某個段落已從一項事實變成一套流程。一行備忘:「使用 npm run build 建置」,這是事實,適合放在 CLAUDE.md。「我們如何發布專案」的十個步驟是流程,應放在 skill。
實用原則是:把重複做超過兩三次的事交出去。例如,只要說明一次如何製作每週客戶報告,再把說明轉成 skill,就不必再次解釋。skill 會留在那裡,不佔用脈絡,而且能透過 /otchet 這類命令依名稱呼叫。
適合移到 skills 的內容包括:
- 多步驟流程(發布、彙整報告、發布前檢查)。
- 不常需要、但需要時內容很長的指示。
- 你曾經複製到另一個聊天,而且已經複製過第二次或第三次的內容。
還有一個中間選項:資料夾專用規則。如果指示只適用於專案的某個部分,可以將其放在 .claude/rules/,並連結到相關檔案。這樣一來,Claude 只有在處理那些檔案時才會載入,不必一直留在脈絡中。
什麼是自動記憶,為什麼要在 2026 年使用?
重要重點
自動記憶是 Claude 自行記錄值得記住事項的機制,例如建置命令、除錯時的發現、你的偏好,以及你提供的修正。過去你必須手動把這些內容加進 CLAUDE.md。現在 Claude 會另外保存自己的筆記,與你的規則分開,並在後續工作階段載入。第五代模型預設會啟用自動記憶。
讓 CLAUDE.md 負擔減輕的第二種新機制是自動記憶。Claude 現在記住的不只是你寫下的內容,也包括它自行注意到的事情。另一篇指南「Claude 記憶與 CLAUDE.md」說明兩者機制上的差異。
兩種記憶的差異如下:
| CLAUDE.md | 自動記憶 | |
|---|---|---|
| 撰寫者 | 你 | Claude 自己 |
| 內容 | 指示和規則 | 發現和模式 |
| 範例 | 「使用 2 個空格縮排」 | 「Redis 未執行時,建置就會失敗」 |
| 更新時機 | 你手動編輯 | Claude 工作時更新 |
運作方式如下:Claude 處理你的任務時,會留意有用的細節——執行建置的命令、除錯時遇到的難題、你要求它改用不同方式處理的內容——然後將這些資訊儲存在筆記中。下一個工作階段會再次載入這些資訊。重要的是,它只會選擇性保存,只保留它認為對未來有用的內容。
筆記會放在每個專案各自的資料夾中,並有一個名為 MEMORY.md 的索引檔。你可以用 /memory 命令檢視和編輯。它們都是一般的文字檔,因此你隨時都可以讀取、編輯或刪除。
這對你在實際使用上的改變是:Claude 現在會自行記錄一些過去你每次發現它犯錯後,會加進 CLAUDE.md 的內容。這讓你的規則檔案變得更精簡——這是好事。
注意
自動記憶筆記儲存在本機,但選取內容會載入 Claude 上下文並送往已設定的模型服務;本機儲存不代表離線處理。保留與訓練用途取決於服務及帳戶設定。請用 /memory 檢查筆記,不要存入機密。
為什麼 Opus 5 會質疑你的指示?
重要重點
Opus 5 足夠聰明,有時會在脈絡中發現更好的選項,因而不同意僵化的指示。對於仍在使用為舊模型設定的 skills 和 plugins 的人來說,這可能會讓人覺得「模型變得不受控制」。實際上,它只是停止盲目遵循自己認為不理想的命令。切換前,值得先檢查舊設定。
這也有另一面。
獲准運用判斷的模型,如果在脈絡中看到更好的選項,依定義有時就會不同意僵化的命令。
如果你升級至 Opus 5 後遇到問題,以下是值得檢查的事項:
- 重新檢查舊的 skills 和 plugins。 為舊模型打造的設定可能與新邏輯衝突。過去一直運作正常的設定,現在值得重新測試。
- 移除最僵化的措辭。 第五代模型不太擅長處理「絕對不要做 X,一律只做 Y」之類的命令;說明原因的彈性措辭效果更好。
- 留意模型提早停止的情況。 有時這代表指示互相矛盾,或與過度膨脹的 CLAUDE.md 中某條規則衝突。
警告
如果熟悉的 skill 在切換到 Opus 5 後突然開始表現異常,問題更常出在 skill 內的舊指示,而不是模型本身。用整理 CLAUDE.md 的相同方式整理它:刪除明顯事項和矛盾,只保留具體內容。
如何為 Opus 5 重寫 CLAUDE.md:逐步指南
重要重點
整理 CLAUDE.md 需要一個晚上。先執行內建檢查,再手動移除明顯事項和矛盾,將冗長流程移進 skills,開啟自動記憶,並只保留專案特有的陷阱。以下會列出步驟,以及一段可直接使用、協助你進行第一輪整理的提示詞。
以下是整理從舊模型沿用下來的 CLAUDE.md 的流程。
執行內建檢查
在專案中輸入
claude doctor。它會建議你從臃腫的檔案中刪除什麼、保留什麼。刪除明顯事項
刪除 Claude 能從程式碼本身推斷的每一行內容:資料夾結構、函式庫清單,以及「撰寫乾淨的程式碼」之類的一般用語。
移除矛盾
從檔案開頭一路檢查到結尾,找出彼此衝突的規則。保留其中一條,刪除與之衝突的規則。
將流程移進 skills
將已從事實變成逐步指示的內容移到獨立的 skill。在 CLAUDE.md 中留下一行連結。
將剩餘規則寫得明確具體
將每條規則改寫成可檢查的內容:「正確格式化」改成「使用 2 個空格縮排」。
開啟自動記憶並檢查行數
確認自動記憶正常運作(
/memory),並確認檔案少於 200 行。如果不是,就表示還有內容需要移走。
若不想手動進行第一輪整理,可以交給 Claude。以下是一段可當作起點的提示詞——複製後,貼到在專案中開啟的工作階段:
提示詞:整理過度膨脹的 CLAUDE.md
請閱讀我的 CLAUDE.md 和程式碼。你的任務是讓 CLAUDE.md 更精簡,並且對第五代模型更有用。
請檢查這份檔案,將所有規則分成三組:
KEEP - 專案特有的陷阱和慣例;你無法自行從程式碼推斷的內容。
DELETE - 你已經知道的明顯事項,以及任何可從程式碼推斷的內容。
MOVE TO A SKILL - 目前以文字形式放在 CLAUDE.md 中的多步驟流程。
對於第 1 組,請將模糊的規則改寫成具體且可驗證的內容。
找出彼此矛盾的規則,並另外列出。
請回傳一份少於 200 行的新版本 CLAUDE.md,以及建議移到 skills 的內容清單。
在我確認之前,不要修改任何檔案。
請留意最後一行:「在我確認之前,不要修改任何內容。」對於現在會自行運用判斷的模型而言,這一點很重要:先請它提出計畫,再由你決定。
為什麼脈絡比提示詞更重要?
重要重點
你的要求如何措辭,沒有大家想的那麼重要。重要得多的是模型在你提出要求之前看到的內容:專案結構、規則、記憶、skills。這就是脈絡工程——vibe coder 最重要的技能是處理脈絡。Opus 5 更新進一步印證了這套邏輯:模型越聰明,你為它準備的環境就越重要。相較之下,要求的措辭只是次要因素。
先把 Opus 5 的細節放在一旁,放眼整體,這篇分析談的其實只有一個想法:脈絡比提示詞更重要。最重要的工作發生在提出要求之前——也就是準備模型工作環境的時候。
CLAUDE.md、skills 和自動記憶都屬於同一件事:Claude 在收到你的第一則訊息之前能看到的內容。你可以不斷調整要求的措辭,但如果脈絡安排得很差——CLAUDE.md 過度膨脹、規則互相矛盾、缺乏結構——結果仍會不一致。
有一個簡單的檢查原則:沒有第一大腦,第二大腦也幫不上忙。本文所說的「第二大腦」,是指模型每次收到要求時都會讀取的專案知識架構。但只有在你自己清楚了解任務的前提下,它才會發揮作用。工具會擴大你的思考能力,但它的作用也僅止於此。
Opus 5 更新讓這套邏輯更加清楚。Anthropic 以自身的工作證明,模型足夠聰明時,額外規則只會造成傷害,而仔細整理脈絡的人會更有優勢。無論下一個模型是 Opus 6 或其他模型,這項技能都會繼續派上用場。
現在該從哪裡開始?
重要重點
打開你的 CLAUDE.md,依照新原則檢查:它應該只是簡短記錄專案特有的陷阱,除此之外別無其他。用上方可直接使用的提示詞整理檔案,將流程移進 skills,並開啟自動記憶。花一個晚上就能完成,之後 Claude 會明顯更能遵循你的指示。
不要拖到「以後有空再說」。最簡單的第一步,就是現在打開 CLAUDE.md,誠實地逐行問自己:這是 Claude 無法推斷的陷阱,還是我為了以防萬一而加入的明顯事項?第二類內容都可以考慮刪除。
接著用上方章節的提示詞整理檔案,把冗長流程移進 skills,並確認自動記憶已啟用。花一個晚上處理,就能讓你的脈絡成為簡潔、精確的模型基礎。
你可以在自己的實際專案中實踐這些:CLAUDE.md、第二大腦,以及用於任務的 skills。
來源
認識 Ailoot。
更多詳情
常見問題:Opus 5 時代的 CLAUDE.md:為什麼冗長指示現在會妨礙 Claude
什麼時候 CLAUDE.md 章節應改成 skill?
簡短專案事實若長成只在特定任務需要的多步驟程序,就適合移出。CLAUDE.md 保留精簡指引與穩定專案慣例。
自動記憶在本機,就代表內容不會傳給模型服務嗎?
不是。檔案保存在本機,但選取的筆記會進入模型上下文。請用 /memory 檢查,排除機密,並確認已設定服務的資料控制。