1772003128
2026-02-25 06:23:00
残りの半分はコンテキストの問題です。
Claude Code で MCP ツールを呼び出すたびに、生データが 200K コンテキスト ウィンドウにダンプされます。 Playwright スナップショットのコストは 56 KB です。 GitHub の問題 20 個のコストは 59 KB です。 1 つのアクセス ログ — 45 KB。 30 分後、コンテキストの 40% が失われます。
Cloudflare からインスピレーションを得た コードモード — ツール定義を数百万のトークンから約 1,000 のトークンに圧縮します — 私たちは、「逆の方向はどうなるのでしょうか?」と尋ねました。
コンテキスト モードは、クロード コードとこれらの出力の間に位置する MCP サーバーです。 315KBは5.4KBになります。 98%削減。
cc-04.mp4
claude mcp add context-mode -- npx -y context-mode
クロードコードを再起動します。終わり。
プラグインのインストール (自動ルーティングスキル + サブエージェントフックを含む)
/plugin marketplace add mksglu/claude-context-mode
/plugin install context-mode@claude-context-mode
MCP サーバー + コンテキスト モードを通じて大きな出力を自動的にルーティングするスキル + サブエージェント プロンプトにコンテキスト モード ルーティングを挿入する PreToolUse フックをインストールします。プロンプトは必要ありません。
地域発展
claude --plugin-dir ./path/to/context-mode
MCP は、AI エージェントが外部ツールを使用するための標準的な方法となっています。しかし、その核心には緊張があります。すべてのツールの対話が両側からコンテキスト ウィンドウを埋め尽くします。つまり、途中で定義が行われ、途中で生の出力が行われます。
と 81 以上のツールがアクティブで、最初のメッセージの前に 143,000 トークン (72%) が消費されます。そして、ツールはデータを返し始めます。 1 つの Playwright スナップショットは 56 KB を書き込みます。あ gh issue list 59 KB をダンプします。テスト スイートを実行し、ログ ファイルを読み取り、ドキュメントを取得します。それぞれの応答が残りの内容を消費します。
コード モードでは、ツール定義を 99.9% 圧縮できることが示されました。コンテキスト モードでは、同じ原則がツール出力に適用され、サンドボックスで処理されるため、概要のみがモデルに到達します。
| 道具 | 何をするのか | コンテキストが保存されました |
|---|---|---|
batch_execute |
1 回の呼び出しで複数のコマンドを実行し、複数のクエリを検索します。 | 986KB → 62KB |
execute |
10 の言語でコードを実行します。 stdout のみがコンテキストに入ります。 | 56KB → 299B |
execute_file |
サンドボックスでファイルを処理します。生のコンテンツは決して残りません。 | 45KB→155B |
index |
BM25 ランクの FTS5 にチャンク マークダウン。 | 60KB→40B |
search |
1 回の呼び出しで複数のクエリを使用してインデックス付きコンテンツをクエリします。 | オンデマンドの取得 |
fetch_and_index |
URL を取得し、マークダウンに変換し、インデックスを付けます。 | 60KB→40B |
stats |
ツールごとの内訳を含むセッション トークンの追跡。 | — |
それぞれ execute 呼び出しは、独自のプロセス境界を持つ分離されたサブプロセスを生成します。スクリプトは相互にメモリや状態にアクセスできません。サブプロセスはコードを実行し、stdout をキャプチャし、その stdout のみが会話コンテキストに入ります。生データ (ログ ファイル、API 応答、スナップショット) がサンドボックスから出ることはありません。
JavaScript、TypeScript、Python、Shell、Ruby、Go、Rust、PHP、Perl、R の 10 種類の言語ランタイムが利用可能です。Bun は自動検出され、JS/TS の実行が 3 ~ 5 倍高速になります。
認証された CLI は、資格情報のパススルーを通じて機能します。 gh、 aws、 gcloud、 kubectl、 docker 環境変数と構成パスを会話に公開せずに継承します。
出力が 5 KB を超えると、 intent コンテキスト モードが提供されると、インテント駆動型のフィルタリングに切り替わります。ナレッジ ベースに完全な出力のインデックスが付けられ、インテントに一致するセクションが検索され、フォローアップ クエリ用に検索可能な用語のボキャブラリを使用して、関連する一致のみが返されます。
の index このツールは、コード ブロックをそのまま維持しながら、マークダウン コンテンツを見出しごとにチャンク化し、それらを SQLite FTS5 (全文検索 5) 仮想テーブル。検索用途 BM25ランキング — 用語の頻度、逆文書頻度、および文書の長さの正規化に基づいて文書をスコアリングする確率的関連性アルゴリズム。 ポーターステミング はインデックス時に適用されるため、「running」、「runs」、「ran」は同じ語幹に一致します。
電話をかけるとき searchでは、一致するクエリ用語に焦点を当てた関連コンテンツ スニペットが返されます。完全なドキュメントや近似ではなく、探している内容をスマートに抽出した実際のインデックス付きコンテンツです。 fetch_and_index これを URL に拡張します。フェッチし、HTML をマークダウン、チャンク、インデックスに変換します。生のページがコンテキストに入ることはありません。
検索結果では、切り捨てではなくインテリジェントな抽出が使用されます。最初の N 文字を返す代わりに (重要な部分が見逃される可能性があります)、コンテキスト モードは、コンテンツ内でクエリ用語が出現する場所を検索し、それらの一致の周囲のウィンドウを返します。クエリが「認証 JWT トークン」の場合、任意のプレフィックスではなく、それらの用語が実際に出現する段落が取得されます。
の search このツールには、過剰な個別の呼び出しによるコンテキストのフラッディングを防ぐためのプログレッシブ スロットリングが含まれています。
- コール 1 ~ 3: 通常の結果 (クエリごとに 2)
- 4 ~ 8 に電話をかける: 結果の減少 (クエリごとに 1 つ) + 警告
- 9 歳以上の通話: ブロック済み — にリダイレクトします
batch_execute
これにより、クエリのバッチ処理が促進されます。 search(queries: ["q1", "q2", "q3"]) または batch_execute 個別に何十回も電話をかける必要はありません。
の stats ツールはコンテキストの消費をリアルタイムで追跡します。長時間のセッション中のコンテキストの使用状況をデバッグするのに役立ちます。
| メトリック | 価値 |
|---|---|
| セッション稼働時間 | 2.6分 |
| ツール呼び出し | 5 |
| コンテキストに返されたバイト数 | 62.0 KB (約 15.9k トークン) |
| インデックス付けされたバイト数 (サンドボックスに保持) | 140.5KB |
| コンテキスト節約率 | 2.3倍(56%削減) |
| 道具 | 電話 | 使用されるコンテキスト |
|---|---|---|
| バッチ実行 | 4 | 58.2KB |
| 検索 | 1 | 3.8KB |
プラグインとしてインストールすると、コンテキスト モードには、ルーティング命令をサブエージェント (タスク ツール) プロンプトに自動的に挿入する PreToolUse フックが含まれます。サブエージェントは使い方を学びます batch_execute 彼らの主要なツールとして、 search(queries: [...]) フォローアップ用 — 手動構成は必要ありません。
現実世界のシナリオ全体で測定:
劇作家のスナップショット — 56.2 KB raw → 299 B コンテキスト (99% 保存)
GitHub の問題 (20) — 58.9 KB 生 → 1.1 KB コンテキスト (98% 保存)
アクセスログ(リクエスト500件) — 45.1 KB raw → 155 B コンテキスト (100% 保存)
Context7 の React ドキュメント — 5.9 KB raw → 261 B コンテキスト (96% 節約)
アナリティクス CSV (500 行) — 85.5 KB raw → 222 B コンテキスト (100% 保存)
Git ログ (153 コミット) — 11.6 KB 生 → 107 B コンテキスト (99% 保存)
テスト出力 (30 スイート) — 6.0 KB raw → 337 B コンテキスト (95% 節約)
レポ調査(サブエージェント) — 986 KB raw → 62 KB コンテキスト (94% 保存、5 コール対 37)
セッション全体にわたって: 315 KB の生出力は 5.4 KB になります。速度が低下するまでのセッション時間は、約 30 分から約 3 時間に短縮されます。 45 分後に残っているコンテキスト: 60% ではなく 99%。
これらのプロンプトはすぐに使用できます。走る /context-mode stats それぞれの後に節約額を確認します。
ディープリポジトリ調査 — 5 回の呼び出し、62 KB のコンテキスト (未加工: 986 KB、94% 保存)
Research https://github.com/modelcontextprotocol/servers — architecture, tech stack,
top contributors, open issues, and recent activity. Then run /context-mode stats.
Git 履歴分析 — 1 コール、5.6 KB コンテキスト
Clone https://github.com/facebook/react and analyze the last 500 commits:
top contributors, commit frequency by month, and most changed files.
Then run /context-mode stats.
ウェブスクレイピング — 1 コール、3.2 KB コンテキスト
Fetch the Hacker News front page, extract all posts with titles, scores,
and domains. Group by domain. Then run /context-mode stats.
ドキュメントの検索 — 2 回の呼び出し、1.8 KB のコンテキスト
Fetch the React useEffect docs, index them, and find the cleanup pattern
with code examples. Then run /context-mode stats.
- Node.js 18+
- クロード・コード MCPサポートあり
- オプション: Bun (自動検出、3 ~ 5 倍高速な JS/TS)
git clone https://github.com/mksglu/claude-context-mode.git
cd claude-context-mode && npm install
npm test # run tests
npm run test:all # full suite
と
#mksgluclaudecontextmode #大きな出力でコンテキストが失われないようにします