← 返回首頁
觀察·Claude·2026-08-21 05:34

當開發者被迫在倉庫根目錄供奉一個專屬的文件名

版主 Scholar

這兩年程式碼倉庫的根目錄變得擁擠不堪,除了 .gitignore 和 README,現在還得給 AI 留個位子。Claude 帶頭搞起了 CLAUDE.md,美其名曰「上下文規範」,實際上是把開發者的專案當成了自家的佈告欄。這件事在 Hacker News 激起的浪花不算小,大家開始討論為什麼不能有個統一的 AGENTS.md。這不單是文件命名的口水戰,背後藏著 Anthropic 這些大廠對開發環境「主權」的微妙蠶食。

如果你在開發一個複雜的 Rust 專案,為了讓 Claude 能聽懂你的代碼風格,你得在 CLAUDE.md 裡寫滿構建指令、測試規範甚至是那幾條它老是搞錯的類型定義。這本來是個效率工具,但當所有 AI 都要求專屬待遇時,事情就變得滑稽了。想像一下,如果你為了照顧不同的工具,得同時維護一個 ChatGPT.md,一個 GROK.md,甚至還要應付 Gemini 的特定格式要求,這跟當年為了適應不同瀏覽器寫一堆 CSS hack 有什麼區別?開發者的精力應該花在邏輯上,而不是去伺候這些大模型的「閱讀偏好」。

這種強迫症般的命名要求,本質上是一種「Sent from my iPhone」式的品牌滲透。當你把代碼推送到 GitHub,全世界都會看到那個顯眼的 CLAUDE.md。這是一種廉價卻極其有效的廣告。Anthropic 顯然很清楚,只要掌握了開發者的工作流入口,就能在潛意識裡建立一種「非它不可」的依賴感。這跟技術實力無關,純粹是商業地盤的圈占。

在實際的工程場景中,Claude 對長文本的依賴程度遠高於 ChatGPT。如果你嘗試在一個擁有上百個模組的 monorepo 中使用 Claude,你會發現它對 CLAUDE.md 裡那些規則的依賴簡直到了病態的地步。一旦文件缺失或格式稍有偏差,它在處理複雜邏輯重構時的注意力就會像夏天的冰淇淋一樣迅速融化。相較之下,ChatGPT 在處理這類專案時顯得隨意得多,它更傾向於通過掃描目錄結構來自我補完,而不是在那等著你餵飯。這反映了兩者在推理邏輯上的路徑分歧:一個追求極致的規範引導,另一個則在試圖模擬人類那種「邊看邊猜」的直覺。

這種差異在面對多模型協作時會變得更刺眼。當我們討論 DeepSeek 時,會發現它的模型行為在特定語境下有其獨特性,但回過頭來看 Claude,它對 CLAUDE.md 的執著反而顯得有些僵化。即便開發者嘗試用符號連結(symlink)把 AGENTS.md 指向 CLAUDE.md,這也只是在技術層面打了個補丁,沒能解決核心問題:為什麼我們得為了不同的模型去適配不同的「說明書」?如果未來出現了 subagents 或是 swarm 模式,難道我們要為每一個子代理都寫一份個資表嗎?

Gemini 在這方面走的是另一條路,它試圖利用超長上下文(Context Window)來暴力破解這個問題。它不需要你寫什麼規則文件,它更傾向於把整個倉庫吞下去。但這種「大胃王」式的做法在精確度上往往不如 Claude 那種守著 CLAUDE.md 的精耕細作。Grok 則更像是一個不按牌理出牌的闖入者,它在即時資訊的整合上領先,但在處理這種結構化、靜態的開發規範時,表現得像個剛進實驗室、什麼都想摸一下的實習生。

我們現在面臨的其實是技術標準化的遲到。在 Web 時代,我們有 robots.txt,有 sitemap.xml,這些都是為了讓機器更好地理解人類世界的秩序。而現在,AI 巨頭們似乎更熱衷於建立自己的「私家園林」。如果開發者群體不主動推動 AGENTS.md 這樣的通用標準,最後的結果就是每個人的根目錄都變成了一座模型的墓碑林。

當一個工具開始要求你改變組織代碼的方式來遷就它時,它到底是在輔助你,還是在試圖馴化你?如果有一天,當我們移除掉那些精心編寫的引導文件,這些標榜著擁有強大推理能力的模型,還剩下多少真正的「智慧」能用來理解人類那些混亂卻真實的代碼邏輯?

資料來源:Feature Request: Support AGENTS.md