如果AGENTS.md氣味難聞,你的程式碼將無法達到預期
研究人員指出,在配置AI編碼代理時,少即是多。對532,000個檔案的分析顯示,91%的AGENTS.md檔案存在至少一種配置“壞味道”,包括上下文膨脹、技能洩漏等。
編碼代理的配置檔案(如AGENTS.md或CLAUDE.md)旨在為AI編碼代理提供行為指導,但錯誤的配置可能導致效能下降和資源浪費。近日,巴西米納斯吉拉斯聯邦大學的研究人員對532,000個檔案進行了大規模分析,從中提取了100個熱門開源專案,這些專案均包含AGENTS.md或CLAUDE.md配置檔案。研究發現了六種常見的配置“壞味道”,其影響範圍非常廣泛。
在所有檢測的配置檔案中,Lint洩漏是最普遍的問題,出現在62%的檔案中。Lint洩漏指的是代理指令重複了已經由linter或靜態分析工具自動執行的規則,例如程式碼格式檢查或語法錯誤檢測。這種重複不僅浪費了模型的上下文視窗,還增加了不必要的token消耗,因為模型已經透過工具可靠地處理了這些任務。
上下文膨脹是第二大常見問題,影響了42%的配置檔案。開發者往往過度指定代理的行為,導致檔案內容超出Anthropic建議的200行限制。冗長的配置檔案不僅增加token消耗和成本,還會稀釋核心指令的可見性,使模型更難以聚焦於關鍵任務。技能洩漏出現在35%的檔案中,表現為將不常用的工具或實踐直接加入主配置檔案,而理想的做法是將這些內容放入單獨的SKILLS.md檔案中,僅在需要時載入。技能洩漏不必要地擴充套件了代理的上下文,並可能分散其對主要任務的注意力。
此外,研究還識別出其他三種壞味道:盲引用(配置檔案透過URL引用外部文件但未說明何時相關)、初始化僵化(專案初始化時設定的配置細節已不再適用)以及衝突指令(代理指令之間存在矛盾)。研究論文指出,在100個測試專案中,至少有91個存在至少一種上述配置壞味道。這些發現表明,開發者迫切需要工具和目錄來幫助識別和避免配置問題。
與此相呼應的是,蘇黎世聯邦理工學院(ETH Zurich)數月前的一項研究也揭示了類似結論。他們發現,開發者手動編寫的上下文檔案僅能將程式碼效能提升約4%,卻顯著增加了成本;而AI自動生成的上下文檔案甚至對程式碼質量產生了約3%的負面影響。兩項研究共同指向一個核心原則:對於編碼代理的配置檔案而言,少即是多。有時,甚至不提供任何配置檔案,僅讓代理依靠其預設行為,反而可能是更優的選擇。