我查到的文章說 Claude Code 不支援 AGENTS.md,是文章寫錯了嗎?
不一定是寫錯,比較可能是寫作時間早於 2026 年 9 月 18 日的 v2.1.277 版本。在那之前,Claude Code 確實只讀 CLAUDE.md,當時「不支援 AGENTS.md」是正確的描述,匯入或 symlink 是唯一的變通方法。查證這類資訊時,先確認文章或文件的發布日期,比直接相信內容更重要——這個功能的時間分界線剛好卡在一個月內,新舊資訊同時流通,很容易查到過時版本。
官方文件列出的四種模式(claude-md-or-agents-md、claude-md-and-agents-md、claude-md、managed-only),一般團隊該怎麼選?
如果團隊沒有跨工具共用指示檔的需求,維持預設的 claude-md-or-agents-md 或直接設成 claude-md,效果上沒有太大差別,因為反正不會有 AGENTS.md 存在。如果團隊確實在維護跨工具共用的 AGENTS.md,又擔心兩份檔案內容衝突或遺漏,claude-md-and-agents-md 模式會同時載入兩者並做去重,是比較保守的選擇,代價是兩份檔案都要花 token。managed-only 則是給需要集中控管、不希望個別開發者的本機設定或 AGENTS.md 介入的組織用的,一般小團隊通常用不到。
我不是技術背景,只是負責管理團隊的內容規範文件,這對我有什麼實際影響?
如果你負責維護團隊給 AI 工具看的規範文件(不管是叫 CLAUDE.md 還是 AGENTS.md),最實際的影響是:先弄清楚團隊目前到底在用哪一份、哪個模式,不要假設「反正都是指示檔,隨便放一份就好」。如果團隊同時用了好幾種 AI 編碼工具,統一維護成 AGENTS.md 格式、讓 Claude Code 原生讀取,能省掉你重複更新兩份文件的麻煩;但前提是確認過團隊裡沒有人因為私人設定檔案而悄悄繞過這份共用規範,否則你更新了 AGENTS.md,卻有人根本沒讀到最新版本,自己都不會發現。
如果你最近才查過「Claude Code 讀不讀 AGENTS.md」,很可能查到兩種互相矛盾的答案:一種說「不,Claude Code 只認 CLAUDE.md,AGENTS.md 要靠 @AGENTS.md 匯入或建 symlink 才有用」;另一種說「有支援,資料夾裡只要沒有 CLAUDE.md,Claude Code 就會自動去讀 AGENTS.md」。這兩種答案都曾經是對的——只是對應不同的時間點。Claude Code 在 v2.1.277(2026 年 9 月 18 日發布)之前,確實只讀 CLAUDE.md,匯入或 symlink 是當時唯一能讓 AGENTS.md 生效的方法;v2.1.277 之後,官方文件已經明確寫著「資料夾裡如果沒有 CLAUDE.md,Claude 會改讀 AGENTS.md」,這是原生支援,不再需要任何變通手法。
The Register 的報導指出,AGENTS.md 原本是 OpenAI 陣營推動的一套跨工具專案指示檔規格,目的是讓同一份專案說明文件能被多種 AI 編碼工具共用,不用每套工具各自維護一份格式不同但內容重複的設定檔。Anthropic 在 v2.1.277 決定讓 Claude Code 也支援這個規格,等於承認了「每個團隊的 repo 裡堆了 CLAUDE.md、AGENTS.md、.cursorrules 等好幾份幾乎相同的指示檔」這個真實存在的維護負擔。
官方預設行為是 claude-md-or-agents-md 模式:只要在目前目錄或任何上層目錄找到 CLAUDE.md、.claude/CLAUDE.md,或 CLAUDE.local.md,Claude Code 就只載入這些檔案,完全跳過 AGENTS.md;只有在整個目錄樹裡都找不到任何 CLAUDE.md 變體時,才會把 AGENTS.md 當成備案讀取。這個行為可以透過設定調整——claude-md-and-agents-md 會讓兩份檔案同時載入(CLAUDE.md 優先,並做去重處理),claude-md 則完全不理會 AGENTS.md,managed-only 限定只讀組織層級管理的 CLAUDE.md。
這是多篇技術文章都特別強調的細節:CLAUDE.local.md(開發者個人用、不進版控的設定檔)在判斷「有沒有 CLAUDE.md」這件事上,跟團隊共用的 CLAUDE.md 地位完全相同。意思是,如果團隊的 repo 裡本來只放了 AGENTS.md(刻意選擇用跨工具共用格式),但某個開發者為了寫自己的私人偏好設定,建立了一份 CLAUDE.local.md,在預設模式下,這個開發者的 Claude Code 就會默默停止讀取團隊共用的 AGENTS.md,改成只看自己的本機設定——其他沒有建立 CLAUDE.local.md 的同事完全不受影響,仍然正常讀取 AGENTS.md。這種「同一個 repo,不同開發者載入到不同指示內容」的情況,排查起來特別花時間,因為表面上大家用的是同一份 repo。
如果團隊本來就維護一份給其他工具共用的 AGENTS.md,想讓 Claude Code 吃到裡面的內容,又不想維護兩份重複檔案,社群整理的操作指南列出了舊版本仍然有效的兩種手法:在 CLAUDE.md 檔案最上方加一行 @AGENTS.md 匯入指令,Claude Code 會在 session 啟動時載入被匯入的內容,再接著讀取 CLAUDE.md 裡 Claude 專屬的補充指示;或者直接建立 CLAUDE.md 指向 AGENTS.md 的 symlink。在 Windows 上,建立 symlink 需要系統管理員權限或開發者模式,所以 @AGENTS.md 匯入法在跨平台團隊裡更實用。另外,在已經有 AGENTS.md 的 repo 裡執行 /init,Claude Code 會讀取其內容並併入自動產生的 CLAUDE.md,提供一次性整合的選項。
這個功能目前還沒有擴展到 Bedrock、Vertex 或 Foundry 等平台;沒有 feature-flag 權限或關閉了 telemetry 的 session 也讀不到 AGENTS.md;全新安裝的 Claude Code 在第一次 session 完成之前,這個能力也還沒生效。如果你照著步驟設定了卻發現沒作用,這些平台或設定限制是排查的第一個方向。
如果團隊本來就只用 Claude Code、沒有跨工具共用指示檔的需求,維持預設模式、繼續只用 CLAUDE.md 是最簡單的選擇,不需要額外動作。如果團隊同時用多種 AI 編碼工具、希望維護單一份跨工具共用的指示檔,AGENTS.md 加上原生支援確實能省掉重複維護的負擔——但務必先確認團隊裡有沒有人已經建立了 CLAUDE.local.md,因為這會讓這個人的 Claude Code 悄悄回頭去讀自己的本機檔案而不是團隊共用的 AGENTS.md,造成「同一份 repo、不同人讀到不同指示」的落差。