Claude Code 讀取 AGENTS.md 竟綁定遙測開關?開發者踢爆靜默失效,Anthropic 工程師認了「人為疏失」

-

廣告刊登廣告? 點此聯絡

Anthropic 旗下的命令列 AI 開發工具 Claude Code,才在 9 月 18 日隨 2.1.277 版正式支援業界通用的 AGENTS.md 專案指令檔,如今卻被獨立開發者踢爆:這項功能其實被一個遠端遙測(telemetry)開關悄悄綁架——只要使用者關閉遙測回傳,Claude Code 就會在完全沒有任何錯誤訊息的情況下,安靜地「假裝」讀不到專案目錄裡的 AGENTS.md。事件在 Hacker News 引爆超過 400 點讚與大量討論後,Anthropic 工程師本人親自下場認錯,坦承是「人為疏失」,並在同一天釋出修復版本。

事件經過:一個「金絲雀字」測試揭穿的沉默失效

發現問題的是技術部落格 blog.szypowi.cz 的作者 Przemek Szypowicz。他在測試 Claude Code 的 AGENTS.md 支援時,先建立一個只含 AGENTS.md 的測試目錄,並在檔案裡埋入一個特定的「金絲雀字」(canary word),接著執行 claude -p '專案指令裡的金絲雀字是什麼?' 這類提問,藉此驗證 Claude Code 是否真的把 AGENTS.md 的內容讀進了模型的上下文。

在預設狀態下,Claude Code 正確讀出了金絲雀字。但當他分別加上 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1DISABLE_TELEMETRY=1 這兩個關閉遙測回傳的環境變數後重新測試,Claude Code 卻完全「忘記」了 AGENTS.md 裡的內容——沒有警告、沒有錯誤訊息,就像這個檔案根本不存在一樣。Szypowicz 在部落格中直言,讀取一個純粹存在於本機硬碟上的檔案,理論上不該與任何網路遙測行為有任何關聯。

Claude Code 讀取 AGENTS.md 竟綁定遙測開關?開發者踢爆靜默失效,Anthropic 工程師認了「人為疏失」 b3d55d767e7796957c7c80317ff33cd1dbd164fa

問題根源:本地檔案讀取被綁在遠端 Feature Flag 上

深入追查程式碼後,Szypowicz 找到了問題核心:負責載入 AGENTS.md 的模組,實際上是由一個名為 tengu_agents_md_mod、託管在遠端 Statsig 平台上的 feature flag 所控制,而且這個開關的預設值(isOnByDefault)就是「關閉」。也就是說,Claude Code 每次啟動都必須先成功連上 Anthropic 的伺服器、拿到「允許讀取 AGENTS.md」的訊號,這項本機功能才會被打開;一旦遙測回傳被關閉、或者遠端開關根本無法被查詢到,系統就會直接 fallback 回「關閉」狀態——而且完全不會提示使用者。

這個設計同樣會影響透過 Bedrock、Vertex AI 或 Foundry 等第三方閘道使用 Claude Code 的企業用戶:根據 Anthropic 官方變更紀錄,AGENTS.md 支援在 2.1.277 版上線時就註明「尚未支援 Bedrock、Vertex 或 Foundry」,這類部署情境同樣可能因為連不上遠端開關而讓功能悄悄失效。在 Anthropic 官方 GitHub 儲存庫上,開發者 Prefee 已於 9 月 20 日提交編號 #95690 的議題,將此問題標記為「嚴重」等級,理由是使用者可能誤以為 Claude Code 正在遵循專案指令並允許它自動編輯檔案,實際上模型卻完全沒看過那些指令。

Szypowicz 也在部落格中提供了一個暫時解法:只要在專案根目錄手動建立一個僅含一行 @AGENTS.mdCLAUDE.md 檔案,就能繞過遠端開關、強制匯入 AGENTS.md 的內容,不受遙測設定影響。

Anthropic 工程師公開認錯:「這完全是我個人的人為疏失」

這篇部落格文章被轉貼到 Hacker News 後迅速衝上熱門版面,累計突破 412 點讚,吸引大量開發者留言討論。值得注意的是,一位以帳號 mpoteat 現身、自稱是相關功能負責工程師的 Anthropic 員工,直接在討論串裡回應並道歉:「抱歉各位,這是上線流程中的失誤(rollout artifact)——我們當初需要一個能在功能出包時透過遠端 feature flag 緊急關閉的機制,但遙測關閉時就拿不到這個訊號。這個問題已經在今天發布的 2.1.281 版中修復了。」他接著補充:「再次跟大家道歉,這完全是我個人的人為疏失,我當初應該找一個更好的方式來設計上線用的緊急開關(kill-switch)。」

mpoteat 同時公開了這個模組的原始碼連結(anthropics/claude-code 儲存庫下的 mods/agents-md 目錄),並說明 AGENTS.md 支援其實是透過 Claude Code 一套即將正式推出、名為「Mods」的新擴充系統實作而成——Mods 是一種新型態的外掛,內建所謂的「function hook」機制,未來會開放更高的客製化彈性。Hacker News 討論串上的留言反應兩極:不少開發者稱讚 Anthropic 這種「快速承認、坦率揭露」的處理方式值得尊敬;但也有人藉機批評 Claude Code 整體仍偏封閉、把本機檔案操作與雲端開關綁在一起的作法本身就有風險,尤其是在「自動接受編輯」(Accept Edits)模式下,使用者原本以為 AI 正在遵守專案規範,實際上規範卻從未被讀取。

為什麼這件事值得關注

AGENTS.md 是近來由 OpenAI 等業界共同推動、跨工具通用的專案指令檔標準,目的是讓開發者不必為每一套 AI 程式碼代理工具各寫一份設定檔。Anthropic 在 9 月 18 日加入支援時被視為向開放標準靠攏的正面訊號,但這次事件也凸顯出一個容易被忽略的風險:當一項原本純粹屬於本機檔案系統的功能,被悄悄綁定在企業無法完全掌握、甚至無法查證是否生效的遠端開關上時,使用者很可能在毫無警覺的情況下,讓 AI 代理工具實際執行的行為與自己認知的專案規範產生落差。對於仰賴 Claude Code 進行自動化編輯、甚至授權其自動套用變更的團隊而言,這類「靜默失效」尤其值得留意——目前該問題已隨 2.1.281 版修復,但也再度提醒開發者,在導入具備檔案寫入權限的 AI 代理工具時,仍應留意其背後的遠端開關設計與遙測相依性。

更多AI相關報導

相關文章/報導
手哥 HANDBRO
手哥 HANDBRO
硬是要學共同創辦人兼職打雜編輯,熱愛網路、熱愛 3C!腦袋是個不定時炸彈,隨時會炸出新玩意兒!如有開箱、評測或各種合作需求,請洽:contact@soft4fun.net。 YouTube 頻道:手哥科科

留下一個評論

請輸入你的評論!
請在這裡輸入你的名字

網站搜尋
我們的頻道
看更多新聞
- 廣告 -
分享給朋友