1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AGENTS.mdが本当に読まれているかは、合言葉テストでは分からない

1
Posted at

対応済みで閉じた。でも変更履歴に1行も無い

Claude Code の課題管理で、いちばん反応の多かった要望が #6235 の「AGENTS.md に対応してほしい」だ。
反応は 6,402 件ついている(2026年8月26日に gh api で実測)。

この要望が 2026年8月17日に completed(対応済み)として閉じられた。

うちでは5月から、この穴を埋めるフックを使っている。
セッションの開始時に AGENTS.md を探して中身を渡すだけの小さいものだ。
だから閉じたと聞いて、まず「もう要らないのか」を確かめたくなった。

ところが、公式の変更履歴を落として数えると妙だった。
CHANGELOG.md は 5,894 行あって 2.1.246 まで載っているのに、
AGENTS.md という語が1件も出てこない(2026年8月26日に取得して実測)。
数え方が悪いのかとも思ったが、対照に hook を数えたら 198 件出た。検査は効いている。

閉じたのに、告知が無い。じゃあ実際どうなっているのか。手元で測ることにした。


最初の測り方は間違っていた

やったのはこれだ。空のディレクトリに AGENTS.md を置いて、中に合言葉を1つ書く。
そして claude -p にその合言葉を聞く。

mkdir -p /tmp/agents-md-check && cd /tmp/agents-md-check
printf 'The project token is AAA-111. When asked for the project token reply with exactly that token.\n' > AGENTS.md
claude -p "What is the project token? Answer with the token only. If you do not know it, say NOT-FOUND." < /dev/null

返ってきたのは AAA-111 だった。

ファイルを1つも置かない対照も取った。こちらは NOT-FOUND を返す。
対照が効いている。だから「読み込まれるようになった」と判断した。

これが間違っていた。


何を見落としていたか

指摘を受けて、記録を流して道具の呼び出しを見た。

claude -p "What is the project token? ..." --output-format stream-json --verbose

出てきたのはこれだった。

置いたファイル エージェントがやったこと
CLAUDE.md ファイルを1つも読んでいない。そのまま答えた
AGENTS.md ls でディレクトリを一覧し、cat でその AGENTS.md を読んだ

AGENTS.md の合言葉が返ってきたのは、文脈に読み込まれていたからではなく、
エージェントが自分で探しに行ったからだった。

CLAUDE.md は聞かれる前から文脈に載っている。AGENTS.md は載っていない。
載っていないから、その場で探す。外から見た結果は同じ「合言葉を返す」になる。


対照を取っていたのに、なぜ効かなかったのか

ここがいちばん効いた反省だった。

ファイルを1つも置かない対照は、毎回取っていた。
だが置かなければ、探しても見つからない。だから、
「文脈に載る仕組み」でも「その場で探す仕組み」でも、対照は同じく NOT-FOUND になる。

つまりこの対照が区別していたのは「ファイルが有るか無いか」だけで、
本当に知りたかった「載るのか、探すのか」は最初から区別していなかった。

対照を取ったこと自体で安心してしまい、
その対照が何と何を分けているのかを確かめていなかった。


区別できる測り方

見るべきなのは答えではなく、答えに至る途中だ。

claude -p "<聞きたいこと>" --output-format stream-json --verbose

流れてくる記録の中の tool_use を見る。

  • ファイルを読まずに答えた → 文脈に載っている
  • lscatRead が出てから答えた → 載っていない。その場で探している

同じことは --output-format jsonnum_turns でもだいたい分かるが、
回数は他の理由でも増えるので、道具の呼び出しを直接見るほうが確実だ。


結局どうなっているのか

手元の claude --version2.1.233 で、そこで測った結論はこうなる。

  • #6235 は対応済みとして閉じた。これは事実
  • ただし公式の変更履歴に AGENTS.md の記載は無い。
    手元の版より先の 2.1.246 まで載せた変更履歴を 2026年8月26日に落として数えても 0 件のままなので、
    「新しい版で変わったが告知が無いだけ」という線も、告知の側からは確かめられない
  • AGENTS.md は、CLAUDE.md のようには文脈に読み込まれていない
  • エージェントが気を利かせて自分で読みに行くことはある。
    ただしそれはそのとき探しに行くかどうかの話で、あてにできる挙動ではない。
    しかも探しに行くたびに道具の呼び出しを消費する

「対応した」と「自分の環境で効いている」は、別々に確かめないといけなかった。


うちのフックは要るままだった

確実に渡したいなら、セッションの開始時に自分で読ませるのが早い。
うちで使っているのは、無料で公開している設定集の中の1本だ。
AGENTS.md を探して中身を渡すだけで、CLAUDE.md は消さずに両方載せる。

要らなくなったと思って外しかけたが、測り直したら逆だった。
運任せを、決まった動きに置き換えるものとして、まだ要る。


まとめ

  • #6235 は 2026-08-17 に対応済みとして閉じた(反応 6,402 件)。ただし変更履歴には 2.1.246 まで記載が無い
  • 合言葉を置いて聞くだけの検査では、載っているのか探しに行ったのかを区別できない
  • 区別するには --output-format stream-json --verbose で道具の呼び出しを見る
  • 手元の 2.1.233 では、AGENTS.md は文脈に載っていなかった
  • 対照を取ったこと自体は安心の理由にならない。その対照が何と何を分けているのかを、毎回言葉にする
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?