メインコンテンツへスキップ

コンテキスト管理

AI アシスト

Claude Code コンテキスト管理:引数付き /compact、Compact Instructions、トークン予算による中断防止、Handoff プロトコル、MCP ツール遅延読み込み

/compact は引数を受け付ける

多くの人が /compact でコンテキストを圧縮できることは知っていますが、引数を指定して何を保持するかを指定できることはあまり知られていません:

/compact 保留所有关于数据库 schema 的讨论,以及当前的重构方案

こうすることで、圧縮時に指定したコンテンツが優先的に保持され、重要なコンテキストが失われるのを防げます。

CLAUDE.md に圧縮サバイバル指示を書く

CLAUDE.md に ## Compact Instructions セクションを追加して、圧縮時に何を保持すべきかを Claude に伝えます:

## Compact Instructions
When summarizing, preserve all TypeScript type changes, error patterns encountered, and the current refactoring plan.

これにより、自動圧縮でも重要な情報が失われることはありません。

トークン予算による早期中断を防ぐ

CLAUDE.md に以下を追加します:

Your context window will be automatically compacted as it approaches its limit.
Never stop tasks early due to token budget concerns.
Always complete tasks fully, even if the end of your budget is approaching.

Claude はコンテキストがほぼ満杯になると、「コンテキストがもうすぐ一杯です」と言って自ら停止することがあります。この記述を追加することで、早期の中断を防げます。

Handoff プロトコル:セッション引き継ぎ

コンテキストがほぼ満杯だがタスクが完了していない場合、Claude に引き継ぎドキュメントを作成させます:

把剩余的计划写到 HANDOFF.md 里,说明你尝试了什么、什么有效、什么没效。

その後、新しいセッションを開き、@HANDOFF.md とするだけで完全なコンテキストを復元できます。10K+ トークンのコンテキストが 2K 未満に圧縮され、/compact よりもはるかに正確です。

70-80% の時点で積極的に圧縮する

見落としがちなポイント:コンテキストが上限に近づくと、Claude は自動的に圧縮をトリガーします。しかし、タスクの途中で自動圧縮が発生すると、重要な情報が失われ、その後の応答品質が低下する可能性があります。

より良いアプローチは積極的な管理です:コンテキストが 70-80% に達した時点で手動で /compact を実行すると、自動圧縮を待つよりもはるかに効果的です。タスクを完了したらすぐに /clear を実行し、コンテキストが無限に膨張するのを防ぎましょう。

環境変数を使って自動圧縮を早めにトリガーすることもできます:

{
  "env": {
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50"
  }
}

/context:コンテキスト診断

コンテキストウィンドウにどれだけのスペースが残っているか分からない場合、/context が教えてくれます:

  • どのツールや MCP サービスが最もコンテキストを消費しているか
  • 現在の容量使用率
  • 的を絞った最適化の提案

一部の MCP サービスを登録しただけで(使用していなくても)、コンテキストウィンドウの 30% 以上を消費することがあることに気づきました。/context で確認し、使っていない MCP をクリーンアップすれば、かなりのスペースを解放できます。

MCP ツールの自動遅延読み込み

MCP ツール定義がコンテキストの 10% を超えると、Claude Code は自動的に Tool Search を有効にします。完全なツール定義の代わりに軽量な検索インデックスを読み込みます。これにより MCP のコンテキスト消費を 85% 以上削減できます(例えば 77K トークンから 8.7K に)。この機能はデフォルトで有効であり、手動設定は不要です。

注意点:Tool Search は Sonnet 4+ と Opus 4+ モデルのみをサポートし、Haiku はサポートしていません。ANTHROPIC_BASE_URL が非公式プロキシを指している場合、Tool Search は自動的に無効化されます(ほとんどのプロキシが tool_reference ブロックを転送しないため)。

動作をカスタマイズしたい場合は、settings.json で設定できます:

{
  "env": {
    "ENABLE_TOOL_SEARCH": "auto:5"
  }
}

サポートされる設定値:

  • 未設定:デフォルトで有効
  • true:強制有効化(非公式プロキシのシナリオを含む)
  • auto:コンテキストが 10% を超えた時にアクティブ化(デフォルトの動作と同等)
  • auto:<N>:カスタムしきい値、例えば auto:5 は 5% を超えた時にアクティブ化
  • false:無効化、すべての MCP ツールがプリロードされる

コメント

目次

コンテキスト管理 | Yuのサイバーデスク