コンテキストウィンドウ、スキルとMCP

このドキュメントは、Claude Codeを使い始めて1ヶ月ほど経ち、複数の拠点で開発を行う方を対象に、その仕組みと最適な運用方法を解説するものです。

「コンテキストウィンドウ」や「会話の圧縮って?」「MCPやスキルって何?」といった疑問を解消するため、解説しています。

想定読者(利用1ヶ月、課金を検討中)



コンテキストウィンドウとは

一言で言うと、コンテキストウィンドウとは、Claude が「今この瞬間に参照できる情報の総量」です。長期記憶ではなく、作業台の広さに近いイメージです。

コンテキストウィンドウ(200K〜1Mトークン)

コンテキストウィンドウという「作業台」は。長期記憶ではなく、一回の会話の中で参照できる情報の総量です。
コンテキストウィンドウとは、言語モデルがレスポンスを生成するときに参照できるすべてのテキストのことで、レスポンス自体も含まれます。

学習に使った大規模なデータとは異なり、モデルの「作業メモリ」に相当します。 Claude API Docs コンテキスト管理


何がコンテキストを消費するか

コンテキストウィンドウには、会話履歴・ファイル内容・コマンド出力・設定ファイル CLAUDE.md の内容・Auto Memory・ロード済みのスキル・システム指示が入ります。
これらがすべて「作業台の上」で場所を取り合っています。

特にコマンド出力(テスト結果・ビルドログ)は一気に大量消費するため注意が必要です。


満杯になるとどうなるか

上限に近づくと Claude Code は自動でコンテキストを管理します。
まず古いツール出力を削除し、次に会話を要約します。
あなたの指示や重要なコードは保持されますが、会話の初期にあった詳細な指示は失われる可能性があります。

自動コンパクション

永続させたいルールは会話履歴に頼らず 設定ファイル CLAUDE.md に書くことが推奨されています。


実感としての大きさ

200K トークンは約15万語で、500ページ分のテキストに相当します。
大きく聞こえますが、コード・ファイル内容・ツール出力はあっという間に積み上がります。実際のほとんどのセッションはコンパクション前で 80〜120K トークン程度です。

“/context” で今何がどれだけ使っているか確認でき、”/compact” で手動圧縮もできます。


コンパクションで何が削除される?

コンパクションは「削除」というより「圧縮・置き換え」に近いです。
段階があります。

第1段階:古いツール出力を優先削除

上限に近づくと、Claude Code はまず古いツール出力を削除します。
これはコマンド実行結果・ファイル読み込み内容・テスト出力などで、「もう用済みになった作業ゴミ」から消えていきます。

第2段階:会話履歴を要約に置き換え

それでも足りなければ、会話全体を構造化されたサマリーに置き換えます。

自動コンパクション機能はコンテキストが上限に近づくとトリガーされ、会話履歴を要約版に置き換えます。
継続性はある程度保たれますが、要約では詳細が失われます。特定の変数名、細かい設計上の判断、エッジケースの制約などは圧縮を生き残れないことが多いです。

コンパクション後は Claude はフルの会話ではなく高レベルのサマリーを元に推論することになります。

コンパクション後も残るもの

/compact 実行後は、CLAUDE.md・Auto Memory・MCPツール名などのスタートアップ時の内容は自動で再ロードされます。唯一の例外はスキルの一覧で、これだけは再ロードされません。  Claude API Docs コンテキスト管理

まとめると、コンパクションで消えるもの残るものはこうなります。

  • 消えやすいもの:古いツール出力・ビルドログ→最初に削除

  • 圧縮されるもの:会話の詳細(変数名・設計判断)→サマリーに置換

  • 残るもの:CLAUDE.md・Auto Memory・MCP定義→自動で再ロード

  • 残らないもの:スキル一覧→手動で再呼び出しが必要

永続させたい指示・規約・命名規則はすべて 設定ファイル CLAUDE.md に書いておくのが鉄則です。
会話の中で口頭で伝えた内容は、コンパクションを何度か経ると薄れていきます。
コマンドで “/compact focus on the API changes” のようにフォーカスを指定して手動実行すると、残すべき文脈を Claude に伝えることができます。Claude Codeのベストプラクティス


コンテキストウィンドウに影響するスキルとMCP

スキル(Skills)と MCP はどちらも「必要なときだけコンテキストに読み込む」という設計思想で共通しています。

Skill と MCP ── コンテキスト収集での役割

スキル(Skills) の動き

Skills はオンデマンドでロードされます。Claude はセッション開始時にスキルの説明文を受け取りますが、全内容がロードされるのはスキルが使われるときだけです。Claude Code Docs スキルで Claude を拡張する

つまりセッション開始時点では「こういうスキルが使えますよ」という概要だけがコンテキストに入っており、実際に関連するタスクが来たときに初めて全文が展開されます。

手動呼び出しにしたい場合は disable-model-invocation: true を設定すると、Claude が自動的にこのスキルを使うことを禁止します。
設定することで、スキルの説明文すらコンテキストに入らなくなり、節約できます。


MCP の動き

MCP のツール定義はデフォルトで遅延され、ツール検索を通じてオンデマンドでロードされるため、ツール名だけがコンテキストを消費し、特定のツールを Claude が使うまで全定義はロードされません。

MCP は接続している外部サービス(Google Drive・カレンダー・Slack など)からリアルタイムに情報を取得できるため、コンテキスト収集フェーズで「現在のデータ」を拾えるのが強みです。
“/mcp” コマンドでサーバーごとのコンテキスト消費量を確認できます。

使い分けの判断基準

手順・規約・ワークフローのような「変わらない知識」は スキル(Skills)、
Google カレンダーの予定・タスク一覧・ドキュメントの最新版のような「リアルタイムのデータ」は MCP、というのが基本的な切り分けです。



🛠 デジタル工房 HABAねっと
北陸を拠点に、中小企業経営者・個人事業主がデジタル経営を実現するためのお手伝いを行っています。
「外注で完結」ではなく「自社で動かせる体制を作る」伴走型の支援を、北陸から提供しています。

サービス一覧 ▶ https://habanet.jp/services/
お問い合わせ ▶ https://habanet.jp/contact/

シェアする Facebook X (Twitter)