プロンプトはターンごとにモデルに送られるので、短縮が効率化につながるのは、期待されている動作が保たれる場合だけだ。GitHub Copilotには、並列作業のために専門のエージェントを起動するtaskツールがある。その指針はツールの説明、スキーマ、エージェント定義、システム指示、関連ツールなどにわたって蓄積されていた。GitHubは、Copilot自身がプロンプトを繰り返し書き直すメタプロンプティングのループでこれを約半分に削減した。
ところが最初のオンライン実験で、オフラインの評価が見逃していた退行が見つかった。慎重な並列化を求める指針が厳格なスケジューリング方針に書き換えられ、独立したカスタムエージェントが逐次実行するようになっていた。GitHubは実験を止め、動作の回帰テストを行ってプロンプトを変更した。最終的な修正は、許可リストと拒否リストを次の1文に置き換えるものだった。
「独立したエージェントは並列に実行できる。副作用は考慮すること」
この文は短く制約も緩く、サブエージェントを並列で動かすかどうかの判断をモデルに委ねる。新しい動作テストは通り、既存のテストも失敗しなかった。リリース版では、taskツールのプロンプトをターン当たり約1300トークン削減し、セッション当たりの総プロンプトトークンが約1.8%、アクティブ時間当たりの正規化コストが約2.9%下がった。品質の退行は検出されていない。
エージェントは、長時間動くシェルコマンドとサブエージェントの調査を同時に走らせるなど、独立した処理をバックグラウンドで実行することが多い。通知機能を使えば、処理の完了を待つためにツール呼び出しを消費することなく、エージェントは作業を続けられる。エージェントがこれらの処理について明示的に待機していない場合、シェルコマンドまたはサブエージェントの処理が完了すると、ハーネスがモデルを起動して通知する。
従来はこの通知に完了結果が含まれておらず、エージェントはGitHub Copilotが既に受け取っている出力を取得するためだけに、もう1ターン費やしていた。複数の処理が立て続けに完了すると、この余分なやりとりが繰り返されることもあった。
現在のGitHub Copilotは完了通知をまとめ、既存のツール結果の形式で結果を直接渡す。まだ実行中の処理について、結果を明示的に読み取る動作は従来通りだ。
変更前は、完了したタスクごとに結果を要求する呼び出しと処理する呼び出しが必要で、シェルコマンドとサブエージェントの例では作業の再開までにモデルの呼び出しが4回発生していた。現在は1回で両方を処理できる。不要な呼び出しにセッション全体のコンテキストを持ち越すことも避けられる。結果を圧縮も要約もせずに直接渡すこの変更で、AIクレジットで測ったトークン関連の使用量は平均約2.3%減った。
あるワークフローでトークンを節約できる変更が、別のワークフローではコストを増やすこともある。例えばファイルツールの指示を絞り込む変更は、Copilotコードレビューでの良好な結果から着想したが、GitHub Copilot CLIのオンライン実験ではコストが増えたので投入しなかった。
一方、行番号接頭辞の削除と選択的な出力圧縮は、本番のモデルを使った多数のCopilotコードレビューのタスクでの独立した評価で、レビュー当たりの平均プロンプトトークンをそれぞれ約5%削減した。品質の指標に変化は検出されていない。
なお、これらはCopilotコードレビューを共通のファイルツールへ移行した以前の取り組み(レビュー指示の調整と併せてコストを約20%削減)とは別の効果だ。
GitHubは、効率的なAIコーディングエージェントを作る教訓として次の5点を挙げている。
GitHubは「これらの変更はどれもモデルを賢くしていない。モデルがそもそもする必要のなかった作業を取り除いただけだ」とし、今回の変更は同じハーネスを使うGitHub Copilotの各機能に展開しているとまとめている。
「AIコーディングより人を雇う方が安い」時代が来る? 生成AIの予算超過を防ぐトークン浪費対策の全て
AIコーディングを「より速く省トークンに」 VS Codeチームが実証、“GPT-5.5向けプロンプト”の改善効果
トークンコストを10分の1に 「GitHub Copilot」はどう削減したのか
「Claude Codeでトークン浪費」の原因 Anthropicが明かす「サブエージェント」5つの使い所と止め所
AIエージェントのトークン消費を約47%削減 Cursorの「コンテキストエンジニアリング」事例Copyright © ITmedia, Inc. All Rights Reserved.