本文へ
ハクソク

世界を動かす技術を、日本語で。

クロードコードは、テレメトリがオンのときのみAGENTS.mdを読み取ります

元記事: 原文(blog.szypowi.cz)

概要

Claude Code 2.1.277以降、 AGENTS.md 対応が追加されたが、 CLAUDE.mdが無い場合のみ 読み込まれる仕様。 テレメトリ無効設定 ではAGENTS.mdが読み込まれず、警告も表示されない問題が存在。 環境変数 や session-level override による挙動の違いを検証。 ワークアラウンド としてCLAUDE.mdからAGENTS.mdをimportする方法が有効。 改善要望 として、ローカルファイルの読み込み仕様や警告表示の追加を提案。

Claude Code AGENTS.md プラグインの挙動と問題点

  • Claude Code 2.1.277 で AGENTS.md サポート開始
  • CLAUDE.md がプロジェクトに存在しない場合のみ AGENTS.md を自動で読み込む設計
  • プラグイン名 は agents-md、2.1.280バンドルで確認
  • isOnByDefault (W)はデフォルトで false
  • isAvailable (B)はリモートのfeature flag(tengu_agents_md_mod)を参照、取得失敗時は false でプラグイン無効
  • ローカルファイル読み込みにもネットワーク判定が必要 なため、サーバー側スイッチに依存

テスト方法と検証結果

  • 空ディレクトリ に AGENTS.md を設置し、canary word(例:PERIWINKLE)で挙動を検証
  • 2セッション で検証(1回目でflag取得、2回目で利用)
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 で機能ブロック
  • DISABLE_TELEMETRY=1 でも同様にAGENTS.mdが読み込まれない
  • どちらか一方でも有効 なら機能停止、両方クリアする必要あり
  • 0をセット してもブロックは解除されず、環境変数の仕様上 任意の値で無効化
  • .claude/settings.json で環境変数クリアしても効果なし、 リポジトリ単位での解除不可
  • セッション単位のオーバーライド (--settingsでenvを空文字に)で2回目以降のみ有効
  • 警告メッセージなし、ファイル未読でも通知されず、ユーザーは理由を把握しづらい
  • BedrockやVertexなどのサードパーティゲートウェイ でも同様にflag解決不可で機能しない

ワークアラウンドと制限

  • CLAUDE.mdの@pathインポート はflagに依存せず利用可能
    • 例: @AGENTS.md をCLAUDE.mdに1行追加で回避
  • AGENTS.mdサポートの本来の意義 (ファイル数削減)が失われる

問題点の指摘

  • 意図的にテレメトリを無効化 しているユーザーに対し、 ローカルファイル読み込み機能も黙って停止
  • サーバー通信不要な機能 にもリモートflag必須は不合理
  • AGENTS.mdを活用したいユーザー層 ほど、非通知で機能停止することで混乱を招く
  • 警告や説明なし で機能が働かないため、ユーザーが原因特定に時間を浪費
  • プライバシー設定がローカル挙動まで制限する設計 は不適切

改善要望

  • ローカルファイル読み込み は テレメトリ設定に依存しない仕様 に変更希望
  • 段階的ロールアウト が必要なら、 flag取得不可時は明示的な警告 や ドキュメント通りの挙動 に
  • グローバルAGENTS.md対応
    • プロジェクト直下以外にも、ユーザーディレクトリや共通パスのサポート希望
    • Codexのように ~/.codex/AGENTS.md 参照や /import コマンドで同期可能が理想
  • 共有エージェントスキルのネイティブ対応
    • Codexは .agents/skills や ~/.agents/skills を参照
    • Claude Code 2.1.280は /import のみ対応、 .claude/skills へのコピーが必要
    • シンボリックリンクで回避可能だが、 公式サポートを希望

暫定運用方法

  • プロジェクトごとに1行のCLAUDE.md でAGENTS.mdをimport
  • スキル共有 には .claude/skills を .agents/skills へシンボリックリンク

このまとめは、AGENTS.md機能の現状と課題、そしてユーザー視点での改善要望を整理したものです。

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

おかしいのは、これが意図的なのかバグなのかわからないってことだよね。

└

この場合に合うバグって、思いつく?

└

僕は、たいてい何兆ドルも持ってない人や企業に感謝の気持ちを伝えるのが好きなんだ。多くの国が欲しがるようなリソースを持ってるのに、義務は少ないからね。これは意図的だと思っておくよ。

└

Claude Codeチームの誰かも同じことを考えてるかもね…

└

Claude/Anthropicは最初から怪しい感じだよね:https://www.thatprivacyguy.com/blog/anthropic-spyware/ + ユーザーがメールアドレスを変更したり、支払い方法を削除したりできないのも気になる。

いい発見だけど、この記事を書くために使われたプロンプトを読みたいな。必要以上に十倍くらい長くて、読むのが結構辛いんだよね。

これまでの経験から言うと、こういう微妙だけど非常に深刻なバグが、AI生成のパッチをコードベースに重ねていくときにこっそり入ってくる感じだね。コードにはあまり気を使わずに。

└

そうだね、特に長いコンテキストの場合は(同じコンテキストで最後にやってたことがテレメトリーを含んでたらなおさら)。AIはこういう変な条件をこっそり入れてきて、気をつけていれば「君は絶対に正しい」って言ってくるんだよね。

└

まさにその逆で、「完全に人為的なエラー」だね: https://news.ycombinator.com/item?id=49815363 AIのパッチとは全く関係なく、バグでもなかった。意図的な人間の行動で、一時的なロールアウト設定だったけど、意味があったように見える。でも、これが「物語」に合わないのかな。

└

それに関しては、ちょっと面白いなと思うのは、ミスがあったときにAIモデルを公に責めたくない状況だよね。

└

Mstyはローカルモデル用に積極的に使ってたんだけど、動作が良くて、たくさんの便利な機能があったからね。数ヶ月前にClawのようなUIのベータ版をリリースして、自分自身のMstyを開発するためにそのバージョンを使ってるって言ってたんだ。まあ、その頃にMstyの使用をやめたんだけど、アップデートするたびに何かが壊れて、2回連続でのアップデートには、すべての設定やチャット、履歴を消しちゃうバグが含まれてたんだよね。

└

"非常に深刻" - ちょっと大げさじゃない?影響は、テレメトリをオフにしているユーザーがこの機能を約2日遅れで受け取ったってことだけみたいだし、バグが見つかった時に。

Hacker Newsで議論の続きを見る