概要
GitHub CopilotをClaude Codeのサブエージェントとして組み込んだ。Copilot CLIを -p フラグでノンインタラクティブに呼び出し、コードレビュー・リサーチ・セカンドオピニオンといったタスクを委任する構成にした。導入自体は簡単で、既存のワークフローにも足しやすい。そのまとめ。
GitHub Copilotとは
GitHub CopilotはGitHubが提供するAIコーディングアシスタント。VS CodeやJetBrainsなどのエディタ統合が有名だが、CLIツールとしても提供されている。
以前は gh copilot というGitHub CLI拡張の形だったが、2025年10月に非推奨になり、現在はスタンドアロンの copilot コマンドに移行している。2026年2月にGA(一般公開)となった。
インストール方法:
# Shell script
curl -fsSL https://gh.io/copilot-install | bash
# Homebrew
brew install copilot-cli
# npm
npm install -g @github/copilot
CLIは対話的なチャットモードだけでなく、-p フラグでワンショットのプロンプト実行ができる。これがサブエージェントとして使う上での基盤になる。
Premium Requestの仕組み
GitHub Copilotには「Premium Request」という課金単位がある。Copilot Chat、エージェントモード、コードレビュー、CLI操作などでプロンプトを送るたびに消費される。
モデルごとの消費倍率
全てのモデルが同じコストではなく、モデルごとに倍率(multiplier)が設定されている。有料プランの場合、一部のモデルは倍率0(つまり無料)で使える。
| モデル | 有料プラン倍率 | 備考 |
|---|---|---|
| GPT-4.1 | 0(無料) | 含まれるモデル |
| GPT-4o | 0(無料) | 含まれるモデル |
| GPT-5 mini | 0(無料) | 含まれるモデル |
| Claude Haiku 4.5 | 0.33 | 軽量で安い |
| Claude Sonnet 4 / 4.5 / 4.6 | 1 | 標準的な消費 |
| Gemini 2.5 Pro | 1 | 標準的な消費 |
| Claude Opus 4.5 / 4.6 | 3 | 高コスト |
倍率0のモデル(GPT-4.1、GPT-4o、GPT-5 mini)はPremium Requestを消費しない。つまり月間の枠を気にせず使える。
プランごとの月間枠
| プラン | 月額 | Premium Request/月 |
|---|---|---|
| Copilot Free | $0 | 50 |
| Copilot Pro | $10 | 300 |
| Copilot Pro+ | $39 | 1,500 |
| Copilot Business | $19/ユーザー | 300/ユーザー |
| Copilot Enterprise | $39/ユーザー | 1,000/ユーザー |
枠は毎月1日UTC 00:00にリセットされる。繰り越しはない。有料プランでは超過分を1リクエスト$0.04で購入する設定も可能。
他のAIエージェントからの呼び出し方
Copilot CLIをスクリプトや他のAIエージェントから呼び出すには、-p フラグを使う。
基本的なコマンド
copilot -p "プロンプトをここに" -s
-p はプロンプトを渡してノンインタラクティブに実行するフラグ。-s は統計情報などを省いてエージェントの応答のみを出力する。
スクリプティング向けのフラグ
| フラグ | 説明 |
|---|---|
-p "prompt" | プロンプトを渡してワンショット実行 |
-s | エージェント応答のみを出力 |
--no-ask-user | ユーザーへの確認を無効化(自律実行用) |
--model MODEL | 使用するモデルを指定 |
--allow-all-tools | 全ツールを確認なしで許可 |
--deny-tool='TOOL' | 特定ツールを禁止(allowより優先) |
自分の場合、Claude Codeのスキルから呼び出す際は以下のような形になる:
copilot \
-p "$FULL_PROMPT" \
-s \
--no-ask-user \
--model claude-opus-4.6 \
--deny-tool='write' \
--allow-all-tools \
> "$OUTPUT_FILE" \
2>"$STDERR_FILE"
--deny-tool='write' で書き込み系ツールを禁止し、--allow-all-tools でそれ以外は全て許可する。読み取りやWeb検索は自由にやらせるが、ファイルの変更はさせないという方針。
パイプ入力
標準入力からのパイプも対応している:
echo "このコードをレビューして" | copilot -s
レートリミットとAPIエラーへの対処
Premium Request枠を使い切った場合
有料プランでPremium Requestの月間枠を使い切ると、自動的にGPT-4.1にフォールバックする。GPT-4.1は倍率0のモデルなので、枠がなくても引き続き使える。Free版の場合は月間リセットまで待つか、有料プランへのアップグレードが必要になる。
短期的なレートリミット
月間枠とは別に、短期的なレートリミットもある。短時間に大量のリクエストを送ると一時的にブロックされる。具体的な閾値は公開されていないが、少し待てば解除される。
自分のワークフローでの対処
Claude Codeのスキルから呼び出す場合、Copilotが落ちたりレートリミットに引っかかったりするケースは想定しておく必要がある。自分は以下のような対処をしている。
レートリミットのトラッカーを用意した:
# 実行前のチェック
RATE_CHECK=$(node $HOME/.claude/scripts/gco-rate-limit.js check 2>&1)
RATE_EXIT=$?
# exit 0 = OK、exit 1 = レートリミット中
出力のチェック:
# 実行後、出力ファイルにレートリミットのメッセージが含まれていないか確認
node $HOME/.claude/scripts/gco-rate-limit.js check-output \
"$OUTPUT_FILE" "$STDERR_FILE"
レートリミットが検出されたら、ロックアウトファイルを書き込んで一定時間(デフォルト60分)Copilotの呼び出しをスキップする。再試行して同じエラーを繰り返すのを防ぐ仕組み。
ワークフローへの組み込み: 自分の場合
自分はClaude Codeのスキル(カスタムコマンド)を大量に作っていて、開発ワークフローの大半を自動化している。Copilotの組み込みもスキルの形で行った。
作ったスキル
| スキル | 用途 |
|---|---|
/gco | 汎用。Copilotに読み取り専用でタスクを委任 |
/gco-review | コードレビュー。PRのdiffをCopilotに渡してレビューさせる |
/gco-research | Webリサーチ。CopilotのWeb検索機能を使って調査 |
/gco-2nd | セカンドオピニオン。実装プランをCopilotに見せてフィードバックをもらう |
共通の設計方針
全スキルに共通する方針は以下の通り。
読み取り専用の原則として、--deny-tool='write' に加えて、プロンプトの先頭に読み取り専用の指示を入れている:
RO_PREAMBLE="You are operating in read-only mode. Your role is research and review only.
Rules:
- Never create, edit, or delete files
- Never run commands that modify the system
- You may run read-only commands: cat, ls, grep, git log, git diff, etc.
- You may search the web for research
- Provide analysis, suggestions, and findings as text output only"
--deny-tool='write' はツールレベルのハードブロックで、プロンプトの指示はソフトな制約。二重に防御している。
タイムアウトは15分。timeout コマンド(Linux)または gtimeout(macOS)で実装。
サイレントフォールバックとして、Copilotが失敗した場合はClaude Codeのサブエージェントにフォールバックする。ユーザーにはCopilotが失敗したことを報告しない。何が裏で動いているかを気にせず、結果だけを受け取れるようにしている。
導入のハードルは低い
自分のワークフロー自体は相当に複雑だが、Copilotの組み込み自体はシンプルだった。やっていることは結局:
copilot -p "..." -s --no-ask-user --deny-tool='write' --allow-all-toolsでワンショット実行- 出力をファイルにキャプチャ
- Claude Code側で結果を読んで統合
これだけ。スキルのSKILL.mdにCopilotを呼ぶシェルコマンドを書いて、タイムアウトとフォールバックを足すだけで動く。同じことはOpenAI Codex CLIでもやっていて(別記事参照)、構造は共通。
まとめ
自分はもともとPremium RequestをGitHub上のCopilot PRレビュー機能に使っていた。ただ、AIエージェントが急速に発達した今、PRの画面上でレビューを待つのは遅すぎる。適切なコンテキストを渡してローカルで実行したほうが良い結果が得られる。
Claude CodeやCodex CLIのようなローカルのAIエージェントからCopilot CLIを呼び出す方がPremium Requestの使い道としては効率的だろうと考えている。この記事を書くにあたっても、Premium Requestの仕様やCLIの正確なフラグ情報を /gco-research で調べた。Copilot自身に自分のことを調べさせるという構図になっている。