是從善如流還是被逼的?Claude Code 終於支援 AGENTS.md

Claude Code 2.1.277 終於讀 AGENTS.md。十三個月、6,600 個 reactions、一次關 issue 引爆的眾怒:是從善如流,還是被逼到牆角?

是從善如流還是被逼的?Claude Code 終於支援 AGENTS.md

Claude Code 2.1.277 版開始,如果專案目錄裡沒有 CLAUDE.md,它會自動讀取 AGENTS.md。這是只改了幾行的 fallback,卻是 Claude Code 倉庫裡被敲碗最久的功能。從請求提出到真正上線,隔了十三個月,中間還有關閉 issue 引爆眾怒的插曲。到底是從善如流,還是被社群逼到牆角?

先說結論:改了什麼

Anthropic 團隊成員 Thariq(@trq212)在 2026 年 9 月 18 日宣布:從 2.1.277 版起,同一個目錄下沒有 CLAUDE.md 時,Claude 會尋找並使用 AGENTS.md。行為可以在 /config 裡開關。

三個限制要先講清楚,免得你升級完發現不如預期:

  • 它是 fallback,不是合併。有 CLAUDE.md 的目錄一切如舊,兩個檔案不會一起讀。想全隊共用同一份指令,還是得把 CLAUDE.md 刪掉。
  • Bedrock、Vertex、Microsoft Foundry 通路這版還拿不到。企業使用者如果走這三個平台,等下一版。
  • 實作已經開源,放在 claude-code 倉庫的 mods 目錄下,屬於官方預告的「Claude Code mods」,是自訂機制的一部分。

十三個月的時間線

整件事的起點是 GitHub issue #6235。2025 年 8 月 21 日,開發者 DylanLIiii 請求支援 AGENTS.md,也就是 OpenAI Codex、Cursor、Amp、Windsurf、Cline 早就在用的廠商中立指令檔標準。在接下來的一年多裡,這則 issue 累積超過 6,600 個 reactions、400 則留言,是全倉庫反應最熱烈的需求。

2026 年 8 月 17 日,維護者 Boris Cherny 以「已完成」為由關閉了這則 issue,理由是可以用兩種 workaround 解決:在 CLAUDE.md 裡寫一行 @AGENTS.md 做 import,或者把 CLAUDE.md 做成指向 AGENTS.md 的 symlink。社群當場炸鍋:「issue 根本沒解」、「被比了兩倍以上按讚數的第一名需求,維護者跟社群顯然沒共識」、「這是對使用者比中指」。九天後的 9 月 18 日,真正的 fallback 上線,issue 本人倒是沒有重開。

對照另一條時間線:Shopify 執行長 Tobi Lütke 在 X 上公開放話,說要禁掉全公司的 Claude Code,直到它讀 AGENTS.md 和 .agents/skills。HN 上有人把這兩件事並列,結論很酸:不是 Anthropic 忽然愛上標準,是再不做,人就要跑了。

為什麼說是被逼的

三個證據攤開來看,很難說這是主動的善意。

第一,使用者已經用腳投票。HN 留言裡一堆人貼出自己的 sync-agent-docs.sh,遞迴把 AGENTS.md 同步成 GEMINI.md 和 CLAUDE.md。跨 harness 工作的人早就受夠一人分飾多角,有人明說「我已經跳去只用開放權重模型了」。當別家 harness 原生支援、你家還要使用者自己寫 symlink 腳本,流失是遲早的事。

第二,關閉 issue 的手法太難看。先以 workaround 結案,被罵翻才在一個月內交出真正的實作。社群的解讀很一致:第一時間不是想解決問題,是想讓數字好看。

第三,交出來的範圍是最小可行。只做 fallback 不做合併,.agents/skills 照樣不讀,企業通路還缺席。這是止血,不是重構。HN 最高讚的幾則留言,清一色是「bare minimum」、「花了一年半才做本來就該做的事」。

公平地說:也有從善如流的一面

但只罵一面也不公平。標準化的方向是對的,而且 Anthropic 至少有三件事做得不差。

其一,沒有另起爐灶。CLAUDE.md 比 AGENTS.md 更早出現,Anthropic 大可以堅持自有格式吃到底,最後它選擇向下相容:有 CLAUDE.md 的老專案零影響,只有新專案或混用多家工具的團隊會走到 fallback。這是成熟的遷移設計。

其二,實作開源。fallback 邏輯直接丟進 mods 目錄,任何人都能看、能改、能 fork。這跟「黑箱 harness」的批評,方向正好相反。

其三,連自家模型都示範了標準的價值。有使用者讓 Claude Fable 照著既有專案開新專案,它主動生出 AGENTS.md,還順手做了 CLAUDE.md 的 symlink,一次把 Claude 和 Codex 兩邊都照顧到。模型自己都覺得統一格式比較省事,harness 跟進只是遲到,不是走錯路。

還欠什麼:三個沒補的洞

如果你現在就想用,只記四件事。

第一,驗證方式只有一個:開 session 跑 /context,看 Memory files 有沒有載入,token 數是否異常地小。官方沒有成功提示,載入失敗是靜默的。

第二,monorepo 從子目錄啟動要小心。放在根目錄的 @AGENTS.md import,在 ancestor 模式下不會展開,子目錄的規則會整份消失又不警告。用 symlink 或等官方修 #78697。

第三,Windows 團隊別用 symlink。Git for Windows 預設 core.symlinks=false,link 會被 checkout 成內容只有 AGENTS.md 九個字元的純文字檔,規則全丟還不報錯。混合系統團隊統一用 import 版。

第四,.agents/skills 還是孤兒。已經有人寫好 post-checkout hook,自動把 .agents/skills 連到 .claude/skills,但那是社群自救,不是官方支援。下一仗就是 skills 目錄和 MCP 設定的標準化,有人在 HN 喊「Q4 2029 見」,希望只是玩笑。

我的判斷

是從善如流還是被逼的?答案是先被逼,後從善。壓力顯然來自 Lütke 的公開 ultimatum、6,600 個 reactions 的數字暴力,以及多 harness 混用已經變成常態。但最終交出來的設計克制、相容、開源,不像應付了事的樣子。

真正的考驗在下一版:fallback 會不會變成真正的合併讀取,.agents/skills 會不會跟上,企業通路要拖多久。如果那些都補上,這次就是轉向的起點。如果停在這裡,那它就只是一次成功的危機處理。

參考資料:Anthropic Thariq 於 X 公告 2.1.277、claude-code GitHub issue #6235、HN #49760187 討論串(158 分,66 則留言)、StartDebugging 實測文。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *