跳到主要內容

Claude Code AGENTS.md 為何曾隨遙測關閉而失效?2.1.281 修正與真正的教訓(2026)

最後更新: ·
Claude Code AGENTS.md 遙測關閉後舊版曾漏讀指令檔的編輯插畫

2026 年 9 月 23 日,工程師 Przemysław Szypowicz 在個人部落格發布〈Claude Code reads AGENTS.md only when telemetry is on〉,記錄 Claude Code AGENTS.md 在關閉遙測時可能被跳過的測試。這篇文章最值得讀的地方,不是「AI 不聽話」的抱怨,而是它把一個看似模型行為的問題追到指令檔載入流程;同時,這是舊版本的事故,Anthropic 現行文件已把 2.1.281 列為修正分界。

Przemysław Szypowicz 的 Claude Code AGENTS.md 遙測問題原文截圖
點圖閱讀原文;截圖保留原文標題與作者的問題描述。圖/Przemysław Szypowicz 個人部落格

Claude Code AGENTS.md 當時如何失效?

先把時間線擺正。Anthropic 在 2.1.277 版本公告中說,若專案沒有自己的 CLAUDE.md,Claude Code 會改讀 AGENTS.md。原文作者使用的 2.1.280,卻在特定隱私設定下沒有得到這個結果。他從程式包中的功能開關線索出發,再用最小測試排除「檔案寫得太複雜」這類干擾。

測試目錄只放一個寫有暗號的 AGENTS.md,然後用 claude -p 問暗號;每種設定跑兩個 session,因為作者觀察到新設定的第一個 session 用於取得功能旗標。他在原始測試留言與文章中記錄:在他的 macOS、2.1.280 環境,設了 DISABLE_TELEMETRY 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 時,暗號沒有出現在專案指令脈絡;清除兩個變數後才恢復。這是作者的公開重現紀錄,並非 AlphaLab 在本機重跑的結果。

None of these cases print a warning.

中文:這些情況都沒有顯示警告。

Przemysław Szypowicz,原文〈What I measured〉

這句話指出問題的核心:使用者看到的是模型沒有照做,卻無法從當時的介面直接看出指令檔根本沒送進脈絡。原文也測了兩個容易誤判的細節:把上述環境變數設為 0,在他的測試中仍等於「有設」;在專案的 .claude/settings.json 清除它們也沒解決。這些是2.1.280 時點的觀察,不能拿來推論目前所有版本都一樣。

修正已到,原文標題不能當成現況

在 Hacker News 討論串,mpoteat 說明這是逐步推出功能時,為了保留遠端關閉開關而造成的失誤,並表示 2.1.281 已修正。這項說法最重要的獨立對照是 Anthropic 的現行專案記憶文件:文件明寫在 2.1.281 之前,部分 Bedrock 或關閉遙測的 session 只讀 CLAUDE.md;這些情況應更新 Claude Code。2.1.281 版本紀錄顯示該版本在 2026 年 9 月 23 日發布。

Reading a local file should not depend on telemetry.

中文:讀取本機檔案不應依賴遙測。

Przemysław Szypowicz,原文〈What I would like to see〉

作者的批評有分量:讀本機 Markdown 本身不需要網路,卻因推出策略間接受到網路旗標影響。另一方面,功能旗標也有正當用途,讓供應商在新功能出問題時快速回退。真正需要改進的是失敗時的可見性與預設行為:一項已在版本公告承諾的本機能力,如果會因設定而消失,工具應讓使用者知道哪些檔案實際進入了脈絡。

這起事故證明了什麼,還沒證明什麼?

它證明的範圍很具體:作者在 2.1.280 的受測設定下觀察到 Claude Code AGENTS.md 漏載,Anthropic 文件也確認 2.1.281 之前有相符的版本與環境限制。它沒有證明 2.1.281 以後仍普遍漏載,更沒有提供「因此造成多少專案損害」的統計。GitHub 問題單把資料損失列為影響風險;風險標籤不能當成已發生事故的證據。

還有一個更深的界線:AGENTS.md 被載入,只代表模型取得了文字,並不保證每條規則都會被正確理解或執行。把「先讀到指令」和「最後真的符合指令」拆成兩個檢查,才不會把載入錯誤誤診成模型品質問題,也不會把成功載入誤當成品質保證。前者可看工具的脈絡資訊,後者仍要靠測試、權限與審查來驗收。

現在使用 Claude Code AGENTS.md,怎麼判斷自己的狀態?

  • 先確認 Claude Code 版本;若仍停在 2.1.277–2.1.280,依官方文件更新。不要為了讓指令檔載入而犧牲原本選擇的隱私設定。
  • 看目前 session 的 /config 中「Project instructions」選項,以及 /context 的記憶檔清單。官方文件說預設模式在專案沒有 CLAUDE.md 或 CLAUDE.local.md 時才回退讀 AGENTS.md;如果兩份都要讀,需選擇 claude-md-and-agents-md。
  • 若工作環境仍無法直接載入 AGENTS.md,官方文件提供 CLAUDE.md 寫入 @AGENTS.md 的共用檔案方式。這也正是作者當時採用的暫時做法。

原文還主張全域 AGENTS.md 與跨工具共用 skills,反映的是多代理工具共用同一份設定的維護成本;它們是作者對後續產品設計的提案,不屬於這次暗號測試已驗證的結果。這篇故事留下的實用標準是:先確認指令進了脈絡,再用可重複的檢查確認工作結果。

接著閱讀

左右滑動查看更多推薦

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。