如果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%的負面影響。兩項研究共同指向一個核心原則:對於編碼代理的配置文件而言,少即是多。有時,甚至不提供任何配置文件,僅讓代理依靠其默認行為,反而可能是更優的選擇。