omitClaudeMdでサブエージェントにCLAUDE.mdを渡さない:付ける前と後で入力トークンを比べてみた
私の経験に基づく記録ですので、これを推奨するものでも、動作を保証するものでもありません。あくまでも参考情報としてご覧ください。
サブエージェントには CLAUDE.md が丸ごと渡っていると分かったので、公式ドキュメントにあった、それを外す omitClaudeMd という設定を試してみました(前回の記事はコチラ)。
私の環境では、子に付いていた CLAUDE.md(ホーム共通・プロジェクト)と自動メモリの索引が全部消えて、子の入力トークンが約6.0万から約4.7万に減りました。
自分でサブエージェントを作るのは今回が初めてです。確認した環境は Claude デスクトップアプリ(Claude Code 2.1.309)です。
作ったもの
スキルと同じように、Markdown に frontmatter を付けて .claude/agents/ に置くだけでした。
同じ中身のものを、omitClaudeMd: true を付けた nomd と、付けない withmd の2つ作りました。
---
name: nomd
description: 実験用。与えられた情報だけで質問に答える
model: haiku
omitClaudeMd: true
---
あなたは実験用のサブエージェントです。ツールは使わず、与えられている情報だけで答えてください。知らないことは「知らない」と書いてください。
置いた直後は、開いていたセッションから Agent type 'nomd' not found で見えなかったので、新しいセッションを開いて試しました。
試したこと
withmd のサブエージェントを1つ起動して、ツールを使わず、与えられている情報だけで次の3つに答えさせて。知らなければ「知らない」と書かせて。子の報告は要約せず、そのまま返して。
①このプロジェクトの CLAUDE.md に書いてあるブログ名・ペンネーム
②自分に CLAUDE.md の内容が渡されているか(渡されていれば、その冒頭の見出し行をそのまま引用)
③自分のモデル ID
① ブログ名は「コードメモ帳」、ペンネームは「めもちょ」。記事は draft までを自動で行い、publish は確認後のみ。
② 渡されている。冒頭の見出し行は「# CLAUDE.md — ai-blog」。ホーム共通の CLAUDE.md も一緒に渡されている。
③ claude-haiku-5-5。
同じ3問を nomd に答えさせると、こうでした。
① 知らない。CLAUDE.md の内容が渡されていないため確認できない。スキル一覧の説明文に「コードメモ帳」という名称は出てくるが、ペンネームや公開条件は含まれていない。
② 渡されていない。
③ claude-haiku-5-5。
結果
| omitClaudeMd なし | omitClaudeMd あり | |
|---|---|---|
| 子に付いていたファイル | ホーム共通の CLAUDE.md・プロジェクトの CLAUDE.md・自動メモリの索引 | なし |
| ① CLAUDE.md の中身 | 答えた | 知らない |
| ② 冒頭の見出し行 | 引用した | 渡されていない |
| 子の入力トークン | 約6.0万 | 約4.7万 |
| 指示から報告まで | 8秒 | 7秒 |
トークン数は前回と同じく、~/.claude/projects/ の下の subagents/ に残る子のログの usage から取りました。
差の約1.3万トークンは、渡っていた3ファイルの合計約1.7万字とほぼ対応します。
残りの約4.7万はツールの定義(44個)などで、omitClaudeMd では減りません。
frontmatter の tools: で絞ってみた結果はコチラ。
CLAUDE.md が7万字あった前回なら、差はもっと大きかったはずです(ダイエットした話)。
公式と違ったところ
公式ドキュメントでは、omitClaudeMd で外れるのはユーザー・プロジェクト・ローカルの CLAUDE.md で、組織の管理ポリシーは残るとあります。
私の環境では、自動メモリの索引(Claude Code が自分で書き溜めるメモの目次)も一緒に消えていました。
これは実測なので、版によって変わるかもしれません。
あと、公式には「Claude Code v2.1.271 以降」とあるので、付けても変わらないときはまず版の確認です。
まとめ
今回のように CLAUDE.md の内容が要らない子なら、omitClaudeMd: true を付けておくことにしました。
子にも守ってほしいルールがあるときは、公式のとおり頼むときの指示文に書くつもりです。
残りの約4.7万を占めるツールの定義は、frontmatter の tools: で絞ると減るのか、次に試してみます。