當一個開發者在專案根目錄下被迫建立一個名為 CLAUDE.md 的文件時,他實質上是在向 Anthropic 繳納一種名為「認知稅」的規費。這份文件規定了 Claude 該如何理解程式碼風格、測試規範或是庫的依賴邏輯。然而,最近在 Hacker News 上引發熱議的點在於,為什麼我們不能統一使用 AGENTS.md?為什麼每個 AI 都要在別人的程式碼庫裡留下自己的尿跡,以此來標記領土?這不禁讓人想起當年電子郵件末尾那句揮之不去的「Sent from my iPhone」,那不是一種功能需求,而是一種近乎傲慢的品牌強暴。
從技術層面觀察,Claude 讀取特定命名文件的行為,本質上是為了在 Context Window 有限的資源下,強制提升 RAG(檢索增強生成)的精確度。當你將規則寫在 CLAUDE.md 裡,模型在初始化 System Prompt 或進行長文本檢索時,會給予該文件極高的權重。這種做法在處理複雜的 TypeScript 類型定義或 Rust 的所有權邊界時確實有效,它能減少 Claude 產生幻覺的機率。但問題在於,這種「專用性」正在解構開源社群好不容易建立起來的標準化共識。如果每個 LLM 都要求一個專屬的設定檔,以後我們的專案根目錄是否會充斥著 GPT.md、GEMINI.md 甚至 GROK.md?
這種現象揭示了四大平台在對待「開發者環境」時截然不同的哲學。ChatGPT 傾向於透過 .cursorrules 或類似的隱藏文件來靜默處理這些指令,試圖維持一種工具性的低調。而 Claude 則選擇了最張揚的方式,它要求你給它一個專屬的、大寫的、無法忽視的位子。有人諷刺說這是一種免費廣告,這話雖然刻薄,卻精準地刺中了商業軟體的軟肋。當你在 GitHub 上搜尋 CLAUDE.md,你會發現成千上萬的公共倉庫都在無意識地為 Anthropic 背書。這對於追求純粹性的工程師來說,無疑是一種審美上的冒犯。
相較於 DeepSeek-v4-flash-vision-exp 在近期動態中所展現的技術路徑,Claude 這種依賴特定命名文件來優化 Agent 表現的策略,顯然更看重對開發工作流的深度滲透。這種滲透有時會帶來麻煩,例如不同模型間的技能集(Skills)存在差異,你在 CLAUDE.md 裡寫下的優化指令,換到另一個模型可能就變成了無效的噪音。甚至有人為了省事,直接搞個 symlink 把 AGENTS.md 指向 CLAUDE.md,這種行為本身就是對 AI 領地意識的一種無聲反抗。
Gemini 目前在處理這類任務時,更傾向於依賴其龐大的 Context Window 進行全量掃描,而非強制要求特定格式,這雖然對資源消耗巨大,但至少保證了開發環境的整潔。而 Grok 則顯得更為隨性,似乎還沒打算介入這種關於「文件命名權」的權力鬥爭。我們必須意識到,這不僅僅是一個文件名的問題,而是關於誰擁有定義開發者習慣的主導權。當 AI 開始要求我們為了配合它的讀取邏輯而改變文件結構時,究竟是它在輔助我們,還是我們在為了迎合它的算法而進行「人工對齊」?
如果未來所有的 AI Agent 都遵循 AGENTS.md 這種中立標準,Anthropic 是否願意放棄那個極具品牌辨識度的文件名?或者,這種碎片化的配置方式本身就是一種過渡期的產物,最終會被更聰明的、能自動識別專案意圖的感知算法所取代?當我們在專案裡寫下第一個 CLAUDE.md 時,我們是在建立效率,還是在親手為自己的程式碼庫戴上無形的枷鎖?