ニュース
トークンの節約法を「VS Code」開発チームが解説、OpenAI、Anthropicそれぞれのポイントも
「GitHub Copilot」のコストと遅延を大幅削減、プロンプトキャッシュの活用や遅延読み込みなど
2026年6月19日 10:35
6月1日より「GitHub Copilot」が従量課金制へ移行した影響で、トークン効率の改善に注目が集まっている。AIモデルは世代を追うごとに改善されているが、タスクあたりに消費するトークンは増加する傾向にあり、工夫なしに利用するとコストの急増に直結するからだ。もはやハーネス(制御システム)による効率化が不可欠となりつつある。
そこで「Visual Studio Code」の開発チームは6月17日(米国時間)、公式ブログで「Improving token efficiency for GitHub Copilot in VS Code」と題する記事を公開した。「Visual Studio Code」で「GitHub Copilot」エージェントハーネスを介してトークン効率を改善するさまざまな手法が紹介されている。目標は従量課金の負担軽減、レイテンシー(遅延)の削減、長時間にわたるエージェントタスクの最適化だ。
トークンを浪費しやすい2つのポイント
エージェントへのリクエストにおいて、トークンの消費がかさむおもな要因は2つある。
ひとつは、 プロンプトのプレフィックス 、つまり毎回繰り返される先頭の部分だ。これにはシステム指示やツール定義、リポジトリのコンテキスト、会話履歴などが含まれるが、これをリクエストのたびに長々と繰り返すのは“塵も積もれば山となる”。
プロンプトのプレフィックスは推論プロバイダー側でキャッシュした計算結果を再利用することが可能で、コストを最大で1/10に抑えられる。レイテンシーの削減にも役立つため、キャッシュのヒット率を高く保つのが肝要だ。
もうひとつの要素は、 ツール定義のオーバーヘッド だ。エージェントはさまざまなツールをMCPサーバーや拡張機能を介して利用するが、それぞれのツールは名前、説明、JSONスキーマを含む完全な定義として毎回送られており、これがコンテキストウィンドウを圧迫する。
ツール定義のオーバーヘッドを解決するには、ツール検索(Tool Search)が有効となる。最初はそれぞれのツールの軽量なメタデータだけをエージェントに渡し、モデルが必要としたときにスキーマ全体を遅延読み込みする。遅延読み込みされたツールはコンテキストの末尾に追加されるため、前述のプレフィックスキャッシュは保たれたままだ。
OpenAIモデル向けの改善
この基本は共通だが、AIプロバイダーによってリクエストの扱いは異なるので、最適化をそれぞれに行う必要がある。たとえばOpenAIモデルの場合、以下の3点が導入されている。
- プロンプトキャッシュの延長:「prompt_cache_retention」パラメーターにより、既定では5~10分(長くても1時間程度)で破棄されるキャッシュを、最長24時間まで保持できるように。長時間の中断後でも、安く・速く作業を再開できる
- ツール検索:「defer_loading」フラグでツール定義を遅延読み込みする(「GPT-5.4」以降)。「Visual Studio Code」で実験したところ、セッション全体のトークン消費は「GPT-5.4」で約9%、「GPT-5.5」で約11%も減少した(中央値の場合)。最初のトークンまでの時間(TTFT)は約7%改善
- WebSocket接続:エージェントが繰り返す逐次リクエストを、毎回HTTP接続を行うのではなく、単一の永続的なWebSocket接続にまとめてレイテンシーを短縮(TTFTは最大19%、完了時間で最大13%改善)。「GPT-5.2」以降では、「Visual Studio Code」「Copilot CLI」「GitHubアプリ」などで既定の通信方式となっている
Anthropicモデル向けの改善
Anthropicモデルでも、以下の2点が改善された。
- 賢いプロンプトキャッシング:Anthropicのキャッシュは、呼び出し側が明示指定する方式。そのため、キャッシュをシステムプロンプトやツール定義の末尾といった“もっとも変化しにくい境界”に戦略的に配置することで、エージェント処理でのキャッシュヒット率を約94%まで高めることが可能
- ツール検索:OpenAIの場合と同じく、遅延読み込みを採用(ただし、ファイルの読み書きやターミナル実行、ワークスペース検索といった頻出ツールは常時読み込んでおく)。さらに検索処理をクライアント側へ移し、「Copilot」独自の埋め込みモデルで“キーワードではなく意図”によりマッチングするように。これにより、セッション全体のトークン消費が中央値で約18%減り、ユーザーのエラー率も低下した(「Claude Sonnet 4.6」で約4%減)























