00:00:00Claude Codeでコーディングをしていると、おそらく「コンテキストの肥大化」に直面したことがあるでしょう。
00:00:05問題は、Claude CodeにおけるすべてのMCPツール呼び出しが、とんでもなく高くつくことです。なぜなら、
00:00:11これらの呼び出しのたびに、全出力がモデルの200kコンテキストウィンドウに直接放り込まれるからです。
00:00:17持っているツールが多ければ多いほど、コンテキストの消費は早まります。特定のシナリオでは、
00:00:22エージェントを使い始めてから、コンテキストが圧縮されるまでわずか30分ほどしか持ちません。
00:00:28そうなると、AIはファイルやタスク、重要な決定事項を忘れ始めます。言うまでもなく、
00:00:34トークンに多額の費用を費やすことになります。しかし、この重要な問題を解決するMCPサーバーが存在します。
00:00:40それは「Context Mode」と呼ばれます。今日の動画では、Context Modeが何をするのか、
00:00:44どのように機能するのかを見ていき、デモで実際に試してみましょう。
00:00:48とても面白い内容になるはずです。それでは、詳しく見ていきましょう。
00:00:55なぜこのようなことが起こるのか、数学的な観点から考えてみましょう。Playwrightによる
00:01:00ウェブページのスナップショット1枚は約56KBです。GitHubのイシュー20件を読み込むと59KBになります。
00:01:08プランニング段階でこれらの操作を数回行うだけで、エージェントがコードを1行も書かないうちに、
00:01:14ウィンドウの70%を使い果たしてしまいます。Context Modeは仮想化レイヤーとして機能します。
00:01:20AIがOSと直接やり取りする代わりに、サンドボックスを介します。そして、膨大な出力を
00:01:26そのまま流し込むのではなく、FTS5(全文検索)を使用してローカルのSQLiteデータベースにインデックス化します。
00:01:34その結果は極めて劇的です。例えば、先ほどの56KBのPlaywrightスナップショットは299バイトに削減されます。
00:01:41実に99%の削減です。また、この分析用CSVは222バイトにまで圧縮され、
00:01:49ほぼ100%の削減となります。しかし、トークンの節約は解決策の一部に過ぎません。本当に役立つのは、
00:01:56セッションの継続性です。エージェントの履歴が圧縮され、10分前に書いたコードを
00:02:03突然見失うのを誰もが経験したことがあるでしょう。しかし、Context Modeはフックを使用して、
00:02:09すべてのファイル編集、Git操作、サブエージェントのタスクを監視します。会話が圧縮される際、
00:02:15Context Modeは優先順位付けされたスナップショット(通常2KB未満)を作成し、再注入します。
00:02:22これは実質的にコーディングセッションの「セーブポイント」です。これにより、セッション時間を
00:02:2730分から約3時間へと理論上延長できます。また、決定事項やエラーも追跡します。例えば、
00:02:3420分前に失敗した修正をAIが試みた場合、コンテキストがリセットされた後でも同じ間違いを繰り返しません。
00:02:40インストールは非常に簡単です。Claude Codeをお使いの場合は、まず以下のコマンドを実行して
00:02:46Context Modeマーケットプレイスを追加します。次にプラグインのインストールコマンドを実行します。
00:02:53完了すれば準備万端です。インストール後は、MCPサーバー、フック、
00:02:57ルーティング命令を自動的に処理してくれます。Gemini CLIやVS Code Copilotをお使いの場合は、
00:03:03「npm install context-mode」を実行し、設定に構成を追加するだけです。では、実際の動作を見てみましょう。
00:03:10ここにある簡単なPythonコマンドを使って、ダミーのAPIリクエストとステータスコードのリストを含む
00:03:15ダミーのアクセスログファイルを作成します。100行ごとに500エラーのログが含まれています。
00:03:22ここでClaudeを起動し、「Context Modeを使ってaccess.logをインデックス化して」と頼みます。
00:03:30「すべての500エラーパターンを見つけ、関連するIPアドレスを要約して」と指示すると、
00:03:36バックグラウンドでContext Modeが5,000行のログファイルを分割し、
00:03:44独自のSQLite FTS5データベースに格納します。Claudeはファイルがインデックス化されたという確認のみを受け取り、
00:03:515,000行もの生データは受け取りません。これにより、Claudeはファイル全体を解析する代わりに、
00:03:57インデックス化されたデータベースを検索して内容を照会できます。こちらがClaudeによって返された結果です。
00:04:02しかし、より重要なのはコスト削減です。「context-mode :cts-stats」を実行することで、
00:04:09現在のセッションでどれだけのデータが節約されたかを確認できます。結果はこちらの通りです。
00:04:1520KBのデータすべてを会話に流し込む代わりに、Context Modeは約5KBの生データを
00:04:21サンドボックス内に保持しました。小さなファイルであっても、この結果は非常に印象的です。
00:04:27約1,200トークンがコンテキストウィンドウに入るのを回避できました。全体として、
00:04:34この小さなテストで25%の削減を実現しました。大したことないように聞こえるかもしれませんが、
00:04:41標準的なClaudeのセッションでは、このデータが居座り続け、メッセージを送るたびに
00:04:47何度も再送信されることを忘れないでください。データをサンドボックスに留めることで、
00:04:53すでにセッションの寿命を延ばし始めているのです。このデモファイルはかなり小さいですが、
00:04:58より大きなファイルを扱う場合、節約効果は絶大になります。大規模なリポジトリの調査プロジェクトや、
00:05:03本番規模のログ分析であれば、1,200トークンの節約は簡単に10万トークンの節約に変わります。
00:05:11ここでの目的は、APIコストの節約だけではありません。もちろんそれは嬉しい副次効果ですが、
00:05:18モデルの知性を維持することも目的です。コンテキストウィンドウからノイズを取り除けば、
00:05:24実際の推論のためにより多くのスペースを確保できます。Claudeがより優れたエンジニアになるための余裕を与えるのです。
00:05:30AIエージェントを使って複雑なプロジェクトを構築しているなら、ぜひこのツールを試して、
00:05:35エージェントが圧縮や物忘れを始めるまで、どれだけセッションを延長できるか確かめてみてください。
00:05:41このテクニカルな解説を楽しんでいただけたなら、ぜひ動画の下にある「高評価」ボタンを
00:05:45押して教えてください。チャンネル登録もお忘れなく。Better Stackの
00:05:50Andrisがお届けしました。それではまた次の動画でお会いしましょう。