返回首頁

AI coding tools

代理指令檔平均成長 226%,研究以「規則理由」抑制 CLAUDE.md 膨脹

一項涵蓋 1,867 個公開儲存庫的研究發現,CLAUDE.md 等代理指令檔會持續加入規則,舊規則卻愈來愈少被刪除。受控實驗顯示,替規則保留可供模型讀取的加入理由,可移除 99.3% 的多餘指令,但結果尚未在大型真實程式庫中前瞻驗證。

Naoned17 · CC BY-SA 4.0 · Image source
zh-Hant

程式代理常把修正寫回 `CLAUDE.md`、`AGENTS.md` 或 `copilot-instructions.md`,讓下一次工作保留經驗;新研究則指出,這種低成本記憶會形成只增不減的棘輪。作者追蹤 1,867 個公開 GitHub 儲存庫、299,440 次檔案版本轉換及 247,694 段指令生命週期,發現指令數在檔案生命期內平均增加 226%。排除大規模重寫後,每次相關提交平均淨增 4.9 條指令,而規則存在愈久,被刪除的機率愈低。

作者把現象稱為「災難性記住」:加入規則只須處理眼前失敗,刪除規則卻必須重建當初加入它的理由,否則可能重新引入錯誤。即使整份檔案大改,平均指令量也會在十次提交內由改寫後的 59.5% 回升至改寫前的 91.5%,顯示單次清理沒有處理資訊遺失。

研究再把 IFEval 反向構造成具有已知最小規則集的環境,要求模型迭代維護提示。若每條規則同時記錄由哪個失敗案例導出,51 輪後的額外規則量可由 211.3% 降至 1.4%;只加入外形相似但沒有因果資訊的文字則無同等效果。WildIFEval 實驗中,這類理由最高令指令遵循率增加 11.6 個百分點。

工程上的重點不是把更多說明無條件塞進啟動上下文,而是讓規則具備來源、適用範圍及可撤銷條件,再把只適用特定路徑的內容移到按需載入的規則或技能。Claude Code 官方文件本身也建議讓 CLAUDE.md 保持精簡,並提醒 HTML 區塊註解載入時會被移除;因此研究所需的「模型可見理由」不能直接用這種註解實作。這仍是單一作者的原型研究,受控測試只涵蓋少量機械可驗證限制,也沒有證明自動刪除規則在大型生產儲存庫中安全。

來源

  1. Why Does CLAUDE.md Keep Growing? Catastrophic Remembering in Agentic Coding
  2. How Claude remembers your project