コンテンツにスキップ

GitHub Copilot 完全ガイド

GitHub Copilot 従量課金時代のコスト設計:Skills・MCP・外部参照で何が課金対象になるか

対象 / ポイント

対象: GitHub Copilot を Skills・MCP・外部ドキュメント参照と組み合わせて使う開発者およびチーム。

ポイント:

  • 課金の境界は「情報を取得したか」ではなく「モデルの文脈へ入れたか」にある。
  • 出力単価は入力より高いが、巨大な入力は入力側だけで支配的になる。
  • Skills は大量知識の注入口ではなく、必要な情報だけ取りに行かせる制御プレーンとして設計する。

2026年6月1日、GitHub Copilot の料金設計で見るべき数字が「リクエスト数」から「トークン量」へ移った。 短い依頼でも、Agent が Skills を読み、GitHub の Issue や Pull Request を取得し、外部ドキュメントを文脈へ積めば、その分だけ入力トークンが増える。

この記事の問いは一つだ。 Skills・MCP・外部参照を使うとき、どこから AI Credits の課金対象になるのか。

結論:課金境界は「文脈への投入」にある

課金が始まるのは、情報を取得した瞬間ではなく、モデルが参照できる文脈へ入れた瞬間だ。 GitHub Copilot は 2026年6月1日に Premium Request Units から GitHub AI Credits へ移行した。 新方式では、入力トークン・出力トークン・キャッシュトークンの消費量をモデル別単価で換算する1。 GitHub Docs も、モデルへ送られる入力、生成される出力、再利用または保存されるキャッシュ済み文脈がトークンとして価格計算されると説明している2

ローカルに存在するだけのファイルや、GitHub に存在するだけの Issue は、それ自体では AI Credits を消費しない。 gh や MCP でデータを取得しても、Agent がその結果を要約・引用・判断材料としてモデルへ渡さなければ、直接のトークン課金対象にはならない。

逆に、ユーザーが入力した短いプロンプトだけが課金対象という理解は誤りだ。 Skill 本文、tool の取得結果、会話履歴、中間生成、system/tool 定義も、文脈へ入れば入力側の消費に効く。

この境界を誤ると、「GitHub API を叩いたから高い」のか「取得結果を丸ごと読ませたから高い」のかを切り分けられない。 コスト設計は、API 呼び出し数ではなく、モデルに渡したテキスト量から始める必要がある。

出力は高いが、巨大入力も普通に高い

出力単価は入力単価より高いが、長い参照文脈は入力だけで請求を支配する。 たとえば GPT-5.5 の公開単価は、100万トークンあたり入力 5.00 USD、キャッシュ入力 0.50 USD、出力 30.00 USD である2。 出力が入力の6倍という比率だけを見ると、「読み込みは軽い」と感じやすい。

同じ GPT-5.5 単価で計算すると、差は明確だ。

  • 20万入力トークン: 0.2M x 5.00 USD = 1.00 USD = 100 AI Credits
  • 2千出力トークン: 0.002M x 30.00 USD = 0.06 USD = 6 AI Credits
  • 同じ20万をキャッシュ入力扱いにできた場合: 0.2M x 0.50 USD = 0.10 USD = 10 AI Credits

最終回答が短くても、大量に読ませた文脈のほうが16倍以上高くつく。 キャッシュが効けば10分の1まで下がるが、何がキャッシュ入力として扱われるかをユーザー側が完全に制御できるわけではない。 Anthropic 系モデルではキャッシュ入力に加えて cache write 単価も別に計上されるため、「キャッシュされるから安い」を前提に設計するのは避けたい2

読み込みは無料ではない。 安く見える入力も、桁が増えれば主要コストになる。

Agent は1プロンプトでも複数回モデルを呼ぶ

短い依頼でも、Agent の内部処理は単発のモデル呼び出しとは限らない。 ユーザーから見える入力は「このルールに従って GitHub を見てレビューして」の一文でも、内部では次のような連鎖が走る。

ユーザープロンプトを読む
→ Skill を選ぶ
→ SKILL.md を文脈へ入れる
→ MCP で Issue や Pull Request を取得する
→ 取得結果を文脈へ入れる
→ 中間判断を生成する
→ 追加でファイルを読む
→ さらに文脈へ入れる
→ 最終回答を生成する

各矢印の先で、モデルへ渡す入力やモデルからの出力が増える。 GitHub Docs も、agent mode や Copilot cloud agent のような agentic 機能は、 1つのタスク内で複数のモデル呼び出しを含むと説明している。 大規模コードベースをまたぐ複雑なセッションは、短い質問より消費が大きくなる3

さらに会話が文脈の約80%に達すると、Copilot CLI は自動で compaction を行う。 この処理では現在の会話履歴をモデルに送り、構造化された要約を生成して古い履歴を置き換えるため、圧縮処理そのものもモデル呼び出しを伴う4

つまり「入力が短い = 安い」は成立しない。 実際のコストは、Agent が内部で何回モデルを呼び、どれだけ tool 結果を文脈へ積み、どのモデルで処理したかで決まる。

Skills・MCP・外部参照で課金対象になるもの

Skills は無料で大量知識を読ませる仕組みではない。 GitHub Copilot の Agent Skills は、Copilot が対象 Skill を使うと判断したときに SKILL.md を agent の文脈へ注入する仕組みである5。 長い SKILL.md を雑に書けば、使われるたびに長い指示が文脈を埋め続ける。

要素課金上の扱い
Skill の descriptionSkill 選択の判定に参照され得る
SKILL.md 本文使用時に文脈へ注入されるため入力トークン
補助 Markdown・スクリプトの出力文脈へ読み込んだ分は入力トークン
GitHub API や MCP の取得結果そのまま渡せば入力トークン
ローカルで絞った後の要約渡した小さいテキスト分だけ入力トークン
ローカルの grep / 取得処理そのもの直接の AI Credits 対象ではない

Repository-wide custom instructions も同じ発想で扱う必要がある。 GitHub は copilot-instructions.md を「リポジトリ内のリクエストに自動で加えられる」文脈として案内し、長すぎずタスク固有にしすぎない制約も示している6

文脈は共有資源だ。 常時入るもの、必要時だけ入るもの、ローカルで処理してから入るものを分けなければ、役に立たない説明が毎回の入力トークンを消費する。

見落としやすい二つの課金

トークン換算だけ見ていると、二つの追加コストを見落としやすい。 どちらも GitHub の価格仕様に明記されている。

  • Copilot code review の二重課金: レビューはトークン分が AI Credits で課金される。 さらに、レビューを動かす agentic インフラが GitHub Actions minutes を消費する2
  • ロングコンテキスト割増: GPT-5.4 の表示単価はプロンプトが272Kトークン以下のとき、Gemini 2.5 Pro と Gemini 3.1 Pro は200Kトークン以下のときに適用される2

「大きい context window を選べば賢くなる」という発想は、この割増と相性が悪い。 標準的なコンテキストと推論レベルを既定にし、複雑なタスクだけ拡張するほうが、支出を読みやすい。

ベストプラクティス:LLM に読ませる前に絞る

従量課金時代の基本は、LLM に渡す前に絞ることだ。 Skills は大量知識の注入口ではなく、必要な情報だけ取りに行かせる制御プレーンとして設計する。

最小の実装例として、SKILL.md は長い手順書ではなくルーティング定義に寄せる。 いつ・何を・どう出すかだけを書く。

---
name: github-pr-review
description: GitHub の Pull Request をレビューする。PR レビュー依頼時に使う。
---
steps:
  - gh で対象 PR を絞り込む(state=open, 直近更新, 自分担当)
  - 変更ファイルと関連コメントのみを抽出する
  - 抽出結果を JSON で受け取り、リスク観点でレビューする

取得を絞り込む処理はローカル側に置く。 100件の Issue をそのまま渡すのではなく、条件で絞ってから渡す。 次の例は100件を取得し、ローカルで絞った上位だけを LLM に渡す。

gh issue list --state open --limit 100 --json number,title,labels,updatedAt,url \
  --jq '[.[] | select(.labels[].name == "review")] | .[0:5]'

設計の勘所は四つに集約できる。

  • GitHub 情報は文脈へ入れる前に labels・state・path・date で絞る。
  • 自由文100KBより、構造化JSON 10KBのほうが扱いやすく安い。
  • 大量文書は全文投入ではなく、検索や索引で抜粋してから根拠付きで渡す。
  • 調査・抽出は軽量モデルやスクリプトに任せ、高性能モデルは最終判断だけに使う。

ここで重要なのは、精度とコストが必ずしも対立しない点だ。 不要な文脈を削るほど、モデルは判断に使うべき情報へ集中しやすくなる。

実測:/context で見える化する

設計の良し悪しは、実測で確かめるのが早い。 Copilot CLI の /context は、System/Tools の固定オーバーヘッド、会話履歴、残り容量、compaction を誘発するバッファを表示する4

検証は段階的に行う。 小さい Skill で1回実行し、GitHub 情報を10件渡した場合と100件渡した場合を比べる。 さらにモデルを軽量・高性能で切り替え、消費の傾きを見る。 SKILL.md の長さを変えて、注入分の差を測るのも有効だ。

従量課金は「使った分だけ」という公平さと引き換えに、設計の巧拙がそのまま請求額に出る。 Skills と MCP を制御プレーンとして組み、LLM に渡す手前で絞り込む習慣が、コストと出力品質の両方を支える。

関連記事