Anthropic 終於在 Claude Code 的更新裡,默默把手伸向了 AGENTS.md。這件事在那些習慣了被各大廠商強行餵食私有協議的開發者眼裡,簡直像是一場遲來的撥亂反正。過去我們總得在專案根目錄下專門為它準備一份名為 Claude.md 的「投名狀」,彷彿不冠上它的姓氏,這尊大佛就讀不懂你的程式碼邏輯。現在它學會了如果找不到自己的牌位,就去翻翻公用的 AGENTS.md,這種姿態的轉變,與其說是技術上的躍遷,不如說是這家一向自視甚高的公司,終於意識到自己還沒強大到能定義全球開發者的檔案命名規範。
這種對標準協議的兼容,揭示了 AI Agent 在工程實踐中的一個尷尬現狀:我們正處於一個「數位巴別塔」的早期。每個模型都想當造物主,ChatGPT 喜歡它的路徑依賴,Gemini 試圖把一切都塞進它的長文本緩存,而 Claude 則固執地推行那一套獨家的腳手架協議。當開發者為了讓不同的 Agent 讀懂同一個專案,不得不在目錄裡塞滿了 .openai、.anthropic、.cursor 等各種配置文件時,開發效率沒提升多少,專案根目錄倒是變得像個雜貨鋪。
技術層面上,Claude Code 這次對 AGENTS.md 的識別,大概率只是在系統提示詞(System Prompt)的預加載邏輯裡增加了一行備選路徑。這不是什麼量子力學級別的突破,但它解決了一個極其陰險的痛點:認知一致性。當你在處理複雜的程式碼重構任務時,如果 Agent 因為讀不到私有配置而開始胡言亂語,那種挫敗感足以讓人想直接拔掉電源。現在它開始向下兼容,意味著 Anthropic 承認了「標準」的力量大於「品牌」的傲慢。當然,這並不代表它變得完美了。社群裡很快有人發現,雖然它會讀 AGENTS.md,但對於 .agents/skills 目錄下的技能檢測依然像個盲人。這種「半吊子」的兼容,讓人不禁懷疑這究竟是架構設計的遺漏,還是產品經理在趕工時留下的補丁。
放眼目前的四大平台,這種對「標準」的爭奪戰演變得愈發詭異。ChatGPT 依然在試圖用它龐大的生態位去定義什麼叫「自定義指令」,試圖讓所有人都適應它的對話流。Gemini 則像是一個住在圖書館裡的怪人,它不介意你怎麼命名文件,只要你把它們全部丟進那深不見底的上下文窗口裡就行。相較於 Qwen 3.8 Omni Flash 在某些特定任務上的靈活性,Claude 在處理工程規範時表現出的這種「潔癖」,既是它的護城河,也是它的絆腳石。在實際的開發環境中,我們往往不需要一個教我們怎麼寫程式碼的導師,而是一個能迅速適應既有工作流的學徒。
有趣的是,當 Claude 開始向 AGENTS.md 低頭時,我們看到的是一種微妙的心理博弈。如果一個工具強大到不可替代,它大可以要求全世界都改名。但現實是,當 Grok 靠著算力蠻力在後面緊追不捨,而 OpenAI 又在不斷蠶食開發者工具鏈的份額時,Anthropic 必須學會收斂那種學術式的清高。與 Qwen 3.8 Omni Flash 這種在開源與閉源邊界徘徊的競爭對象相比,Claude 的優勢在於它對邏輯嚴密性的偏執,可一旦這種偏執變成了對開發者工作流的騷擾,用戶的流失往往就在一瞬間。
我們現在面臨的問題是,這種表面的「兼容」究竟能走多遠?如果未來每個模型都宣稱自己支持標準,但又在實現細節上各搞一套「方言」,那 AGENTS.md 很快就會變成另一個被廢棄的戰場。這就像是當年的瀏覽器戰爭,大家表面上都說支持 HTML,背地裡卻都在搞自己的私有標籤。
如果有一天,所有的 AI Agent 都能在不需要任何專屬配置文件的狀況下,僅憑對原始碼的直覺就能理解整個專案的意圖,我們是否還需要這些長得像墓碑一樣的 .md 文件?當 Claude 終於學會翻閱那本不屬於它的筆記本時,它是真的理解了開發者的苦衷,還只是在為了保住那點日漸萎縮的工具佔有率,不得不做出的低姿態?或許我們該問的是,下一個被迫改名以示忠誠的,會是文件,還是我們這些寫程式的人?