作者 @wquguru 把分層架構的第一層稱為「規則記憶」,並指出它其實比任何自動記憶系統都更早落地——它就是規則檔。
作者的論點
Claude Code 把這份檔案叫 CLAUDE.md,Codex 叫 AGENTS.md。本質是一份「工作憲法」:這個專案怎麼建置與測試、哪些目錄絕對不能碰、哪些命令必須在特定子目錄跑、哪些程式風格與提交規則不可破壞、哪些業務紅線比完成當前任務本身更重要。
它的優點一目了然:可讀、可改、可審計、可放進 Git。團隊能 review,CI 能檢查,agent 每次啟動都看得到。
但作者也劃出明確邊界:規則檔適合放「長期穩定、每次都該遵守」的東西,不適合塞所有歷史細節。把每個 bug、每次實驗、每條日誌都往 CLAUDE.md 裡堆,最後只會把上下文變成一坨低密度噪音。由此他確立了第一條設計原則:必須遵守的規則,不要只放在自動記憶裡,它們應該進入版本化的規則檔。規則記憶解決的是「以後都按這個方式做」。
業界脈絡:作者引用的官方分界,確實成立
作者主張「Claude Code 官方文件把 CLAUDE.md 和 auto memory 拆得清清楚楚」「Codex 強調團隊必須遵守的規則該放 AGENTS.md、memories 只是本地 recall layer」。這一點可獨立佐證:Claude Code 官方記憶文件確實說明,每個 session 都從一個全新的 context window 開始,靠兩個機制跨 session 傳遞知識——人寫的 CLAUDE.md 指令/規則,與 Claude 根據你的修正與偏好自己累積的 auto memory,兩者都在每次對話開頭載入。這與作者的描述一致。
幾個值得補充、且常被誤解的工程事實:
- 載入策略是「累加」而非「覆寫」:Claude Code 從當前工作目錄往上走訪目錄樹直到 repo 根,沿途收集每一個
CLAUDE.md串接起來,不做優先序合併、不過濾。這代表規則檔的「位置」會影響最終指令集。 - 跨工具可攜性有坑:Claude Code 讀
CLAUDE.md、不會自動 fallback 去讀AGENTS.md。要共用同一份規則,官方可行的做法是在CLAUDE.md裡用@AGENTS.mdimport,把內容在啟動時展開進 context;symlink 也是常見手法。網路上流傳的「Claude Code 會把 AGENTS.md 當備援讀取」說法並不正確。
換句話說,作者把規則檔列為「第一層記憶」是準確的觀察,而「規則檔該與自動記憶分離」也呼應各家官方立場;但實務上「同一份規則跨工具共用」需要額外的 import/symlink 設定,並非開箱即用。
延伸
- 規則之外更微妙的常駐資訊:身份與偏好 → 常駐畫像與歷史召回
- 全景與閱讀路徑 → AI memory 專欄首頁