メインコンテンツまでスキップ

コンテキスト予算の監査: /skill-doctor、出力上限、そしてウィンドウを埋める6つの数字

中級

Claude Code プロジェクトは、ノートパソコンにブラウザのタブが溜まっていくのと同じようにコンテキスト負債を溜め込みます。インストールしたスキルはどれも、Claude が毎ターン読み直す一覧に1行を追加します。サブエージェントはそれぞれ説明文を追加します。3月に書いた CLAUDE.md の段落は、タスクに必要かどうかにかかわらず9月にも読み込まれます。そして npm test を実行するたびに、最大30,000文字が会話に流し込まれます。セッションが指示を忘れ始めるか、請求額が作業量と釣り合わなくなるまで、どれも目には見えません。

コンテキスト管理では、その場で使う2つのコマンド /clear と /compact を扱いました。このページは、プロジェクトごとに一度実行する監査です。あなたが何かを入力する前、あるいはターンとターンの間に Claude Code がコンテキストを消費する6つの場所、それぞれを制御する設定、そしてそのデフォルト値を示します。ここに書かれていることはすべて2026年9月時点の公式ドキュメントにあり、これらの設定項目の多くは、それにまつわる俗説よりも新しいものです。

What you'll learn
  • 削る前に測る: /context、/usage の帰属分析、/doctor の一覧コスト見積もりを読み、最大の項目から先に直す
  • /skill-doctor(v2.1.252 以降)と skillOverrides の4つの状態でスキル一覧を刈り込み、一覧に課されるウィンドウの1%という予算を把握する
  • シェルコマンドやバックグラウンドタスクがインラインで返す量(デフォルトで30,000文字と32,000文字)を bashOutputMaxChars と taskOutputMaxChars で制限する
  • omitClaudeMd(v2.1.271 以降)で、すべてのサブエージェントで CLAUDE.md の代金を払うのをやめ、サブエージェントの説明文を15,000トークンの警告ライン未満に保つ
  • 自動コンパクトのウィンドウを意図的に設定し(/autocompact、autoCompactWindow)、どの呼び出し済みスキルがコンパクションを生き延びるかを決める25,000トークンの予算を理解する
  • コンテキストではなく思考トークンが本当の請求額であるときは、maxEffortLevel でフリート全体の effort に上限を設ける

入力する前にウィンドウに何が入っているか​

この図を実用的にする事実が2つあります。左のボックスにあるものはすべてリクエストごとに支払われます。Claude Code は毎ターン会話全体を送信し、それを和らげるのはキャッシュ読み取りの割引だけだからです。そして右のボックスは、冗長なコマンド1つが一度に左のボックス全体を上回る量を追加しうる場所です。以下の監査は左から右へ進みます。

監査​

Guided walkthrough1 of 9
  1. /context を実行すると、カテゴリ別のライブ内訳と最適化の提案が表示され、どの CLAUDE.md と自動メモリのファイルが読み込まれたかもわかります。Pro、Max、Team、Enterprise プランでは、/usage が最近の使用量をスキル、サブエージェント、プラグイン、個々の MCP サーバーにパーセンテージで帰属させ、10%以上を占める挙動(長いコンテキスト、キャッシュミス)にフラグを立てます。/doctor はスキル一覧のコンテキストコストとその最大の寄与要因を見積もります。何かを変更する前に、上位3つの項目を書き留めてください。

そのまま貼れる設定ブロック​

プロジェクトローカルのコンテキスト上限(.claude/settings.local.json)

{
"bashOutputMaxChars": 12000,
"taskOutputMaxChars": 12000,
"skillOverrides": {
  "legacy-migration-notes": "name-only",
  "deploy-prod": "user-invocable-only",
  "old-design-system": "off"
},
"autoCompactWindow": 500000,
"maxEffortLevel": "high"
}

これはデフォルトではなく、意思決定として上から下へ読んでください。2つの出力上限は、おしゃべりなテストランナーを前提としています。Claude が実行のたびに保存された出力ファイルを開くようになったら、30,000 / 32,000 のデフォルトの方へ戻してください。3つのオーバーライドは、説明文の代金を払わずにスキルを到達可能なままにします。コンパクションのウィンドウは、モデルに合わせて調整された時点ではなく半分でコンパクトしたい 1M コンテキストモデル向けの明示的な選択です。effort の上限はここで唯一出力品質を変える行なので、最後に、/usage で思考トークンが支配的だとわかってからだけ設定してください。

CLAUDE.md を読み込まないサブエージェント(.claude/agents/repo-auditor.md)

---
name: repo-auditor
description: Audits a repository for dead code and unused exports. Use for read-only sweeps.
tools: Read, Grep, Glob, Bash
model: sonnet
omitClaudeMd: true
---
You are a read-only auditor. Everything you need is in the delegation prompt.
Report findings as a table of path, symbol, and evidence. Do not edit files.

ヘッドレスセッションでスキルレポートを実行する

claude -p "/skill-doctor"

よくある間違い​

Watch out
  • スキルを折りたたむ代わりに削除する。name-only は一覧コストをほぼゼロにしたままスキルを呼び出し可能に保ちますが、off は / メニューからも取り除きます。ほとんどの「未使用」スキルは消すのではなく name-only にすべきです。
  • ビルドログが1回あふれただけで bashOutputMaxChars を上限の 128,000 に引き上げる。これは今後のすべてのコマンドをインラインで最大4倍高価にします。代わりに PreToolUse フックでログをフィルタしてください(FAIL を grep、head -100)。コストのドキュメントに正確なフックが載っています。
  • autoCompactWindow をモデルのコンテキストより大きく設定する。Claude Code は黙ってウィンドウで上限を切るため、設定は適用されたように見えて何もしません。
  • コンテキストが分離されているからサブエージェントは安いと思い込む。Explore、Plan、または omitClaudeMd を設定していない限り、その起動には依然としてすべての CLAUDE.md レベルと git スナップショットが含まれます。
  • スマートフォンから Remote Control 経由で /skill-doctor を読む。「Skill usage reports are not available on this connection.」が返ります。セッションが存在するターミナルで実行してください。
  • 呼び出し済みスキルが /compact を生き延びると期待する。25,000トークンの再アタッチ予算に収まるのは、1つあたり5,000トークンで最新の呼び出しだけです。まだ必要なものは再度呼び出してください。

クイックチェック​

Check yourself

0/6
  1. /skill-doctor は何を報告し、何を意図的に省いていますか?
  2. スキル一覧が予算をあふれました。何が起こりますか?
  3. 成功した npm test が80,000文字を出力しました。デフォルト設定で Claude は何を受け取りますか?
  4. 設定なしで CLAUDE.md ファイルをスキップするサブエージェントはどれですか?
  5. 長いセッションで6つのスキルを呼び出し、/compact が実行されたばかりです。どれが生き残りますか?
  6. maxEffortLevel が管理設定で 'medium'、ユーザー設定で 'high' に設定されています。何が実行されますか?
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 10
Key takeaways
  • まず測る: ライブ内訳は /context、スキル・サブエージェント・プラグイン・MCP サーバー別の帰属は /usage、一覧の見積もりは /doctor。
  • スキル一覧はウィンドウの1%を上限とするターンごとの税金。/skill-doctor が何を折りたたむべきかを教えてくれ、name-only はほぼゼロコストでスキルを使える状態に保つ。
  • ツール出力はウィンドウを吹き飛ばす最速の手段: 成功したコマンド1つあたり約30,000文字、バックグラウンドタスク1つあたり32,000文字がインラインに。bashOutputMaxChars / taskOutputMaxChars で上限を設けるか、フックでフィルタする。
  • サブエージェントは起動時にタダではない: Explore、Plan、または omitClaudeMd でない限り、すべての CLAUDE.md レベルと git status が乗る。カスタムの説明文は合計15,000トークン未満に保つ。
  • コンパクションは最近呼び出されたスキルだけを残す(1つ5,000、合計25,000)。autoCompactWindow は意図的に設定し、生き残らせるべきものは再度呼び出す。
  • 思考トークンが請求額を支配するときは、maxEffortLevel がフリート全体の effort に上限を設ける。最も低いスコープが勝ち、すべてのプロバイダーで有効。

出典と参考文献​

次へ​