0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Github Copilot のトークン消費を抑えるコツ

0
Posted at

こんにちは、ダックスフントです。

Github Copilot の料金体系が2026年6月1日から「AI Credits(トークン消費量に応じた従量課金形式)」に変わったこともあり、周りのGithub Copilot利用者から「トークン上限に引っかかってしまう」という声が増えてきました。上限に達してしまうと、作業の途中で待機が必要になったり、使えるモデルが制限されたりして不便を感じるかと思います。そこで今回は、日々の開発で実践しやすい「トークン消費を抑えるコツ」を紹介します。


目次

  1. はじめに
  2. トークン消費に関係する機能
  3. トークン節約のコツ
  4. まとめ
  5. 参考

1. はじめに

6 月からGithub Copilotの課金単位が変わった

2026 年 6 月 1 日より、GitHub Copilot の課金単位が「PRU(Premium Request Unit)」から「GitHub AI クレジット」へ移行しました。新体系では入力・出力・キャッシュ済みトークンの合計量をもとにクレジットが消費される仕組みです(GitHub Blog)。

この変更により、6 月以降は「どの機能を、どのモデルで、どのくらい使うか」をこれまで以上に意識する必要があります。また、プランによっては、利用上限として「セッション上限」と「週次(7日間)上限」が設けられており、セッション上限に達した場合はリセットまで待機が必要です。週次上限に達した場合も、期間がリセットされるまでモデル選択に制限がかかるケースがあります(GitHub Docs)。

ただし、一部の機能(コード補完(インライン補完)と Next Edit Suggestions )は引き続きクレジット消費無しなので安心して使い続けることができます。


2. トークン消費に関係する機能

節約のコツに入る前に、機能ごとの消費有無を整理しておきます。

機能 トークン消費 備考
インライン補完(コード補完) なし 引き続き自由に使える
Next Edit Suggestions なし 引き続き自由に使える
Copilot Chat あり 会話が長くなるほど増加
Copilot エージェント(Agent mode) あり(大) ファイル読み込み・ツール呼び出しも加算
Copilot Code Review あり GitHub Actions 実行分も消費

コード補完はトークンを消費しないため、これまで通り積極的に使えます。消費が大きいのはチャットやエージェント機能です。ここからは、その消費を減らすための工夫を紹介します。これらの工夫はCursor・Claude Code をはじめとする他の AI コーディングツールでも共通して役立ちます。


3. トークン節約のコツ

ご紹介するコツ一覧

このサイトでは以下のコツを紹介します。特に「おすすめ」を付けた項目は、手軽に導入できて削減効果が高いため、まずはここから試すのが良いと思います。
詳細につきましては、サイト下部の該当セクションをご参照ください。

  • 3-1. 使うモデルを使い分ける(おすすめ)
    • 計画・設計フェーズは高性能モデル、実装・定型作業フェーズは軽量モデル。迷ったら Auto モード
  • 3-2. チャットセッションの使い方を工夫する
    • 3-2-1. セッションをこまめにリセットする(おすすめ)
      • 会話履歴は次のリクエストにすべて乗るため、一区切りついたら新規チャットへ。
        チャット画面の「+」ボタンまたは「/clear」コマンドで新規チャットへ切り替え可能。
    • 3-2-2. Plan モードと Agent モードでセッションを分ける(おすすめ)
      • Planモードで作成した実装計画だけを新しいセッションでAgentモードに渡すことで、試行錯誤ログを実装セッションに持ち込まない。
    • 3-2-3.「/compact」コマンドで履歴を要約する(おすすめ)
      • 文脈を引き継ぎたい場合は早めに実行する。
  • 3-3. 参照ファイル・コンテキストを絞る
    • 3-3-1. 参照してほしいファイルを明示的に指定する(おすすめ)
      • 「#ファイル名」で必要なファイルだけを渡す
    • 3-3-2. サブフォルダのみをエディタで開く
    • 3-3-3. ファイル一覧・要約表を用意する(おすすめ)
      • ファイル一覧表を作成しておき、エージェントが全ファイルを直接読まずに目的のファイルを特定できるようにする
    • 3-3-4. ファイル1つあたりのサイズを小さくする
    • 3-3-5. ファイル形式にも注意する
      • メタデータなどが含まれるファイル(Jupyter Notebook など)は取り除くか、必要な部分だけ切り出して渡す。
    • 3-3-6. 参照させたくないファイルを除外する
  • 3-4. エージェント・ツールを効率的に使う
    • 3-4-1. MCP よりスキルを優先する
      • 使わないツール情報の送信を避け、必要なものだけをロードする。
    • 3-4-2. サブエージェントを活用する
      • 調査・解析などをサブエージェントに任せ、要約だけをメインエージェントに渡してコンテキストをスリムに保つ(精度とのトレードオフに注意)。
  • 3-5. 他のAIツールも活用する(おすすめ)
    • 一般的な調査は Gemini、資料(エクセル、パワポ、PDFなど)の解析はNotebookLM、OSS のコード解析は DeepWiki などを活用する

3-1. 使うモデルを使い分ける

高性能モデル(Claude Opus など)はトークン単価が高い傾向があります。「すべてのタスクに最高性能のモデルを使う」のではなく、フェーズや用途に合わせて切り替えることでコストを抑えられます。

たとえば、次のような使い分けが考えられます。

  • 計画・設計フェーズ: 複雑な要件の整理や全体設計、後続の実装に向けた実装計画作成では高性能モデルを使う
  • 実装・定型作業フェーズ:実装計画を元にしたコードの実装や、ある程度小規模なコードの実装、テストコード実装、リファクタなどでは軽量モデルで十分なことが多い

どのモデルを選べばよいか迷う場合は、Auto モード(Copilot がタスクに応じて自動選択する設定)を使うのが無難です。ただし Auto モードが具体的にどのモデルを選ぶかは随時変わる可能性があるため、最新情報は公式ドキュメントでご確認ください。
なお、Autoモードで実際にどのモデルが選ばれたかは後から確認可能です。チャットの回答部分にマウスカーソルを合わせると、右下に自動選択されたモデル名が表示されます。


3-2. チャットセッションの使い方を工夫する

Copilot Chat は会話の全履歴を次のリクエストに含めて送信する仕組みです。そのため、チャットを続けるほどトークン消費量が指数的に増えていきます。以下の工夫で、不要な履歴の蓄積を防げます。

3-2-1. セッションをこまめにリセットする

タスクがひと段落したら、チャットを新規に立ち上げ直しましょう。前の作業の試行錯誤を持ち越さずに済むので、次のリクエストのコンテキストを必要最小限に保てます。
また/clear コマンドでも新規セッションへの切り替えが可能です。

3-2-2. Planモード と Agentモードを使い分ける

  1. まず Plan モード(または計画のみ出力するよう指示)で実装計画のテキストを生成させる
    • (おすすめ)チャット欄で「/plan」コマンドを実行すると、Planモードに切り替わる
    • または、チャット欄左下の「Agent」ボタンから「Plan」を選択すると、Planモードに切り替わる
  2. 新しいチャットのセッションを開き、Agentモードで、その計画テキストを参照させて実装を依頼する
    • チャットを入力すると、デフォルトでAgentモードで実行される

この手順を踏むと、計画段階の試行錯誤ログを実装セッションに持ち込まずに済みます。

また、Plan モードで先に実装内容をすり合わせておくことで、実装途中の方向転換や手戻りを減らせるというメリットもあります。Agent モードにいきなり実装させると「やっぱり別のアプローチで」となったときにやり直しが発生し、その分のトークンも無駄になります。Plan モードで合意してから実装に入ることで、一度で目的の結果に近づけられます。

3-2-3. 「/compact」コマンドで履歴を要約する

「文脈を引き継ぎたいけれど、履歴が長くなってきた」という場合は /compact コマンドを実行しましょう。過去のやり取りを要約してコンテキストの肥大化を防いでくれます。Copilot には自動圧縮機能もありますが、コンテキストウィンドウの上限ぎりぎりになるまで実行されないため、意識的に使う方が効果的です。


3-3. 参照ファイル・コンテキストを絞る

エージェントやチャットが読み込むファイルの範囲を狭めることも、消費を抑える有効な手段です。

3-3-1. 参照してほしいファイルを明示的に指定する

チャット送信時は #ファイル名 で参照対象を明示しましょう。必要なファイルだけを明示的に渡す習慣をつけるだけで消費を抑えられます。一方で指定したファイル以外の関連ファイルを見つけ出せず、参照してくれない場合もあるため、注意が必要です。

3-3-2. サブフォルダのみをエディタで開く

プロジェクトのルートフォルダ全体を VS Code のワークスペースとして開くのではなく、今作業するサブフォルダだけを開く方法も有効です。たとえばフロントエンドとバックエンドがフォルダ分けされているなら、フロントエンドフォルダだけを開くことで、Copilot がインデックス化するファイル対象を絞れます。

3-3-3. ファイル一覧・要約表を用意する

プロジェクトの主要ファイルをまとめた「索引ドキュメント」を作成することは、トークンの節約に非常に効果的です。
具体的には、AI への指示ファイル copilot-instructions.md に、ファイル一覧と要約表を記載します。各ファイルの役割や、「どの作業ではどのファイルを見るべきか」といった参照先を明確に記述しておきましょう。
これにより、Copilotが質問のたびにすべてのファイルを広く探索し、中身を直接読み込む必要がなくなります。また、人間側も質問時に前提条件を毎回長く説明する手間が省け、適切なファイルへスムーズに誘導できます。
結果として、Copilotが目的のファイルを素早く正確に特定できるようになり、不要な読み込みを削減できます。

3-3-4. ファイル1つあたりのサイズを小さくする

参照されるファイル自体のサイズ(コード行数や文章量)が大きいほど、1回の読み込みで消費するトークンも増えます。ファイルを適切な単位で分割しておくことで、エージェントが必要な箇所だけを読み込める確率が高まり、消費を抑えられます。

  • ソースコード: クラスや機能ごとにファイルを分割する。1 ファイルが数百〜1,000 行を超えてきたら分割を検討するサイン。
  • ドキュメント・設定ファイル: 巨大な設定ファイルや長大な仕様書は、機能・セクションごとにファイルを分けて管理する。
  • AI への指示ファイル: copilot-instructions.md や Claude Code の CLAUDE.md などに指示をすべて詰め込まず、テーマごとに分割できるスキルの仕組み等を活用する(Claude Code では各サブフォルダに CLAUDE.md を置いてスコープを絞ることも可)。

ただし、過度に細かく分割するとエージェントが逆に多くのファイルを読み込まなければならなくなる場合もあります。「1 ファイル 1 責務」を意識した適切な粒度が重要です。

3-3-5. ファイル形式にも注意する

ファイル形式によっては、コードやドキュメントの本体以外にメタデータやバイナリデータが多く含まれており、読み込ませるとトークン消費が膨らみやすくなります。

たとえば、Jupyter Notebook(.ipynb)はコードセル・実行結果・メタデータが 1 ファイルにまとまった JSON 形式です。出力セルに画像や大量のログが含まれていると、コード本体はわずかでもトークン消費が跳ね上がることがあります。必要な部分だけを .py ファイルに切り出して渡す、または出力セルをあらかじめクリアしてから渡すといった工夫が有効です。

3-3-6. 参照させたくないファイルを除外する

Cursor では .cursorignore に除外したいファイルを列挙しておくことで、エージェントがそのファイルを参照しないよう設定できます。巨大なファイル、メタデータを多く含むファイル、タスクに直接関係しないファイルはあらかじめ除外しておくと効果的です。

GitHub Copilot には .copilotignore のような専用の除外設定は存在しないようです。ジャストアイデアですが copilot-instructions.md(Copilot への共通指示ファイル)に「〇〇のファイルは参照しないこと」と記載することで、同様の効果が得られる可能性があります。


3-4. エージェント・ツールを効率的に使う

3-4-1. MCP よりスキルを優先する

MCP(Model Context Protocol)は設定済みの全ツールの情報をリクエストごとに送信します。使っていないツールの情報も毎回含まれるため、ツールを多数設定しているほど消費が膨らみます。一方、スキルは使われるときに必要なファイル類だけを読み込む設計です。また、スキルと一緒に置いた補足ファイルも、実際に必要になったときだけ参照されるため、余分なコンテキストの増加を抑えられます。

3-4-2. サブエージェントを設けてメインのコンテキストをスリムに保つ

大量のファイルや情報をメインエージェントに直接読み込ませるのではなく、サブエージェントに処理させてから「要約・結果テキスト」だけをメインエージェントに渡す手法が有効です。メインエージェントのコンテキストウィンドウをスリムに維持できます。

サブエージェントが役立つ場面の例:

  • 調査:ドキュメント・Web・ファイル群を検索にサブエージェントを活用し、調査結果のまとめをメインエージェントに渡す
  • 大規模コードベース:担当モジュールの解析にサブエージェントを活用し、仕様・インターフェースの要約をメインエージェントに渡す
  • テスト結果確認:テスト実行・ログ確認にサブエージェントを活用し、失敗箇所の一覧をメインエージェントに渡す
  • コードレビュー:変更差分のレビューにサブエージェントを活用し、指摘事項の一覧をメインエージェントに渡す

ただし、サブエージェント自体もトークンを消費します。主な節約効果はメインエージェントのコンテキスト蓄積を防ぐことにあり、システム全体の合計消費量が必ず減るわけではない点に注意が必要です。また、メインエージェントが生データを直接見ない分、回答精度とのトレードオフも注意が必要です。ケースに応じてサブエージェントを活用するかご検討ください。


3-5. 他ツールへの適切な振り分け

Copilot に何でもやらせるのではなく、タスクの性質に合ったツールに振り分けることで消費量を抑えられます。

タスク 推奨ツール 特徴
一般的なインターネット検索・調査 Gemini など Web 検索・調査をチャット形式で行える
GitHub で公開されている OSS のソースコード解析 DeepWiki(無料/ログイン不要) 公開リポジトリの Wiki 閲覧やチャット質問が可能(機密情報の入力は避けた方が良い)
プライベートなプロジェクトのコード解析 Devin プライベートリポジトリの Wiki 生成・チャット質問が可能。また、コーディングから PR 作成まで自律的にこなせる

DeepWiki とは

DeepWiki は、Devin を開発した Cognition AI が提供する無料サービスです。GitHub の公開リポジトリを AI が解析し、アーキテクチャ図・モジュール説明・依存関係マップ付きのドキュメント(Wiki)を自動生成してくれます。自然言語で「このコードは何をしているか」と質問することもできます。

アクセス方法: GitHub の URL の github.comdeepwiki.com に書き換えるだけです。

github.com/microsoft/vscode  →  deepwiki.com/microsoft/vscode

ログイン・登録不要で利用可能です。また、2026 年 4 月時点で、5 万以上の主要 OSS リポジトリがあらかじめインデックス済みです。

注意: チャットへの入力内容は DeepWiki が運用するサーバに送信されます。機密情報・個人情報の入力は避けた方が良いです。

Devin とは

Devin は Cognition AI が開発した自律型 AI ソフトウェアエンジニアです。Wiki生成に加え、コードを書くだけでなく、テストの実行・PR の作成・CI 結果を受けての修正まで自律的に行います。GitHub Copilot がエディタ上での補完・チャット支援に特化しているのに対し、Devin はタスク単位で丸ごと任せるイメージです。大規模なレガシーコードの移行や反復的な実装タスクが得意です。


まとめ

今回紹介したコツをカテゴリ別にまとめます。

モデルの選択

  • タスクに応じてモデルを使い分ける: 計画・設計フェーズは高性能モデル、実装・定型作業フェーズは軽量モデル。迷ったら Auto モード。

チャットセッションの管理

  • セッションをこまめにリセットする: 会話履歴は次のリクエストにすべて乗るため、一区切りついたら新規チャットへ。チャット画面の「+」ボタンまたは「/clear」コマンドで新規チャットへ切り替え可能。
  • Plan モードと Agent モードでセッションを分ける: 計画テキストだけを新しいセッションに渡すことで、試行錯誤ログを実装セッションに持ち込まない。
  • 「/compact」コマンドで履歴を要約する: 文脈を引き継ぎたい場合は早めに実行する。

コンテキストの絞り込み

  • 参照ファイルを明示的に指定する: #ファイル名 で必要なファイルだけを渡す。
  • 作業するサブフォルダだけをエディタで開く: インデックス対象を絞り、余分な読み込みを防ぐ。
  • ファイル一覧・要約表を用意する: エージェントが全ファイルを直接読まずに目的のファイルを特定できるようにする。
  • ファイル1つあたりのサイズを小さくする: コードや文書を機能・責務ごとに分割し、1回の読み込みで消費するトークンを減らす。過度な細分化は逆効果なので適切な粒度を意識する。
  • トークンを膨らませるファイル形式に注意する: Jupyter Notebook など出力・メタデータが大きいファイルは必要な部分だけ切り出して渡す。
  • 除外設定を活用する: Cursor は .cursorignore で除外。GitHub Copilot は copilot-instructions.md に「参照しないこと」と記載する方法で代用できるかも。

エージェント・ツールの使い方

  • MCP よりスキルを優先する: 使わないツール情報の送信を避け、必要なものだけをロードする。
  • サブエージェントを活用する: 調査・解析などをサブエージェントに任せ、要約だけをメインエージェントに渡してコンテキストをスリムに保つ(精度とのトレードオフに注意)。
  • タスクに合ったツールに振り分ける: 一般的な調査は Gemini、OSS のコード解析は DeepWiki など、Copilot に全部やらせない。

今回紹介したコツは、Cursor・Claude Code をはじめとする他の AI コーディングツールでも共通して役立つ考え方です。Copilot 固有の設定(copilot-instructions.md など)については、各ツールの対応機能に置き換えて活用してみてください。


参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?