盡管業(yè)界有諸多建議,但一篇發(fā)表在ETH Zurich網(wǎng)站上的新論文指出,《CODE_AGENTS.md》這類文件往往會(huì)妨礙人工智能編碼代理的正常運(yùn)行。研究人員建議完全忽略由大語言模型生成的上下文文件,而將人類編寫的指令限制在那些無法被智能系統(tǒng)理解的細(xì)節(jié)上,例如特定的工具使用方法或自定義構(gòu)建命令。

這個(gè)研究團(tuán)隊(duì)包括Thibaud GloaguenNiels MündlerMark MüllerVeselin Raychev以及Martin Vechev。他們指出,雖然目前有60,000個(gè)開源倉庫中包含了《CODE_AGENTS.md》這類文件,而且許多代理框架也提供了自動(dòng)生成這些文件的機(jī)制,但迄今為止還沒有任何嚴(yán)謹(jǐn)?shù)膶?shí)證研究來驗(yàn)證這些文件是否真的能提升人工智能代理解決實(shí)際編碼任務(wù)的能力。

這些研究人員其中有人還參與了“Humanity Last Exam”基準(zhǔn)測(cè)試項(xiàng)目的開發(fā)。他們構(gòu)建了AGENTbench這一新的數(shù)據(jù)集,該數(shù)據(jù)集包含了來自小眾倉庫的138個(gè)真實(shí)世界的Python編程任務(wù)。這種設(shè)計(jì)刻意避免了像SWE-bench這類流行基準(zhǔn)測(cè)試帶來的偏差,因?yàn)槿斯ぶ悄苣P秃芸赡芤呀?jīng)部分記住了這些基準(zhǔn)測(cè)試的內(nèi)容。研究團(tuán)隊(duì)在三種不同的場(chǎng)景下對(duì)四種代理進(jìn)行了測(cè)試:不使用任何上下文文件、使用大語言模型生成的上下文文件,以及使用人類編寫的上下文文件。他們通過三個(gè)指標(biāo)來評(píng)估這些上下文文件的實(shí)際效果:任務(wù)成功率(由倉庫中的單元測(cè)試結(jié)果確定)、代理執(zhí)行任務(wù)的步驟數(shù),以及整體的推理成本。所有被選用的小眾倉庫都包含了人類編寫的上下文文件,在前兩種測(cè)試場(chǎng)景中,研究人員分別刪除或替換了這些文件。

研究結(jié)果表明,由大語言模型生成的上下文文件反而會(huì)降低性能,與完全不使用任何上下文文件相比,任務(wù)成功率平均下降了3%;同時(shí),這些文件還會(huì)導(dǎo)致代理執(zhí)行任務(wù)的步驟數(shù)增加,從而使推理成本上升超過20%。
另一方面,人類編寫的上下文文件確實(shí)能帶來一定的提升,在AGENTbench測(cè)試中,任務(wù)成功率平均提高了4%。然而,這種正面效果也被代理執(zhí)行任務(wù)步驟數(shù)的增加所抵消,從而導(dǎo)致整體成本增加了19%。
在《CODE_AGENTS.md》文件中加入關(guān)于系統(tǒng)架構(gòu)的概述或倉庫結(jié)構(gòu)說明,并沒有幫助模型更快地找到完成當(dāng)前任務(wù)所需的文件。

為了解釋為何性能下降而成本卻上升,作者對(duì)智能代理的工具調(diào)用過程及推理模式進(jìn)行了深入分析。這些智能代理通常會(huì)遵循《AGENTS.md》文件中規(guī)定的指令進(jìn)行操作。因此,它們會(huì)執(zhí)行更多的測(cè)試、讀取更多的文件、進(jìn)行更多的grep搜索,并執(zhí)行更多的代碼質(zhì)量檢查。雖然這種行為十分細(xì)致,但對(duì)于解決當(dāng)前的具體任務(wù)來說,往往并不必要。數(shù)據(jù)表明,這些額外的操作反而會(huì)讓推理模型更加費(fèi)力地“思考”,但最終得到的結(jié)果卻并沒有改善。 作者在結(jié)論中指出了本研究發(fā)現(xiàn)與目前面向使用AI智能代理的開發(fā)者所提出的建議之間的差距:
我們發(fā)現(xiàn),所有類型的上下文文件都會(huì)增加完成任務(wù)所需的步驟數(shù)量。由大語言模型生成的上下文文件會(huì)對(duì)任務(wù)成功率產(chǎn)生輕微的負(fù)面影響,而由開發(fā)者自行編寫的上下文文件則能帶來微弱的性能提升。 我們的分析顯示,上下文文件中的指令通常會(huì)被智能代理遵守,這會(huì)導(dǎo)致更多的測(cè)試和更廣泛的探索;然而,這些文件并不能作為有效的代碼管理工具。總體而言,我們的研究結(jié)果表明,上下文文件對(duì)智能代理的行為影響甚微,只有當(dāng)它們是由開發(fā)者手動(dòng)編寫時(shí),才會(huì)具有實(shí)際意義。這一現(xiàn)象凸顯出了當(dāng)前關(guān)于智能代理開發(fā)的建議與實(shí)際效果之間的差距,也為未來開發(fā)能夠自動(dòng)生成、簡潔且與任務(wù)相關(guān)的指導(dǎo)信息的方法提供了方向。
開發(fā)者們對(duì)這項(xiàng)研究表現(xiàn)出了濃厚的興趣。有一位開發(fā)者指出,這項(xiàng)研究實(shí)際上應(yīng)該提醒開發(fā)者們更加注重編寫有用的《AGENTS.md》文件:
我讀了這篇研究。我認(rèn)為它的結(jié)論與作者的建議恰恰相反——它實(shí)際上是在推崇優(yōu)秀的《AGENTS.md》文件的作用。 ……對(duì)于《AGENTS.md》文件而言,其最大的用途在于提供模型所不了解、也無法從項(xiàng)目中立即推斷出來的領(lǐng)域知識(shí)。這種知識(shí)是需要通過觀察智能代理因缺乏這些信息而遇到的困難,逐漸積累起來的。而在那些使用閉源代碼的項(xiàng)目中,這種情況非常普遍;然而在公開發(fā)布的GitHub項(xiàng)目中,擁有《AGENTS.md》文件的情況卻極為罕見——因?yàn)榻^大多數(shù)這類項(xiàng)目都是最近才創(chuàng)建的、使用大語言模型的小型項(xiàng)目。如果在那些《AGENTS.md》文件質(zhì)量參差不齊的項(xiàng)目中,使用這些文件能讓性能提升4%,那么對(duì)于那些《AGENTS.md》文件質(zhì)量較高的大型項(xiàng)目來說,它們無疑是非常有價(jià)值的。
另一位開發(fā)者則指出,上下文文件可能對(duì)開發(fā)者來說更有用,而對(duì)AI系統(tǒng)而言則作用有限:

我在兩個(gè)項(xiàng)目中使用了一個(gè)名為《CLAUDE.md》的文件,已經(jīng)持續(xù)了大約3個(gè)月。這種做法確實(shí)帶來了一些積極的效果,但這些效果并非出人意料。實(shí)際上,該文件所提供的代碼級(jí)上下文信息本身并不是最重要的;更重要的是,編寫這樣的文檔會(huì)迫使你把那些原本只存在于你腦海中的關(guān)于代碼庫的信息明確表達(dá)出來。比如“由于Y方面的遺留限制,我們才在X地方使用這種特殊的編碼模式”。一旦這些信息被記錄下來,不僅系統(tǒng)能夠理解它們,團(tuán)隊(duì)中的每一個(gè)新成員也能清楚地了解這些內(nèi)容。

開發(fā)者可以在線查閱這篇論文。在2025年下半年,使用諸如AGENTS.mdCLAUDE.md.cursorrules這樣的配置文件變得越來越重要,這一趨勢(shì)與AI編程助手提供商們加大推廣力度的時(shí)間點(diǎn)恰好吻合。

Comments are closed.