GitHub Copilot CLIがリリース

2025年9月25日、GitHubが「GitHub Copilot CLI」をパブリックプレビューとして公開しました。

GitHub Copilot CLI is now in public preview - GitHub Changelog
GitHub Copilot CLI is now in public preview We’re bringing the power of GitHub Copilot coding agent directly to your terminal. With GitHub Copilot CLI, you can work locally and…

Copilot CLIは、Claude CodeCodex CLIと同じく「ターミナル型のエージェント」です。自然言語で指示すれば、CLI上で直接コードを編集・実行してくれます。

利用には Copilot Pro、Pro+、Business、Enterprise のいずれかのプランが必要です。実行ごとに「プレミアムリクエスト」を消費する仕組みになっています。

内部的には OpenAIやAnthropicのモデルを呼び出しており、アーキテクチャ的には Cursor CLI (cursor-agent) に近い構造です。

デフォルトは Claude Sonnet 4、環境変数で GPT-5 に切り替え可能です。

AWSのcopilot-cliとは別物です。brew install copilot するとAWSのツールが入ってしまうので注意(正しいインストールは npm install -g @github/copilot)。

コーディング性能

当サイトの価値はリリース二次情報以上の深掘りですので、速報はここまでにしてCopilot CLIを分析してゆきます。

まずエージェントレベルのベンチマーク性能です。ts-benchによる筆者検証ではClaude CodeやCodex CLIなどの既存のエージェントと同等のスコアが出ます。

気になる点としてはデフォルトの「claude-sonnet-4」を使う場合はgpt-5と比較しタスクを解くまでの時間が伸びました。プレミアムリクエストで倍以上の誤差があったのでシンプルにsonnetの方が問題に対する試行錯誤回数が増えて時間とコストが増加しています。

  • claude-sonnet-4: 🎯 Success Rate: 84.0% (21/25) ⏱️ Average Duration: 240.5s
  • gpt-5: 🎯 Success Rate: 96.0% (24/25) ⏱️ Average Duration: 64.9s

なので現時点ではgpt-5を使うのがおすすめです。起動コマンドを以下のようにします。

COPILOT_MODEL=gpt-5 copilot

GitHubアカウントでgpt-5-codexを有効にしていてもCOPILOT_MODEL=gpt-5-codex copilotとするとフォールバックされclaude-sonnet-4になるので注意してください。モデルはgpt-5を指定できるだけです。

アーキテクチャの分析

デフォルトがclaude-sonnet-4という点から、IDE拡張のcopilot-chatベースではなく、クラウドサービス版のCopilot Coding Agentが基盤と推測されます。これはDevinのようにIssueから自律的に開発・PRを作成するエージェントで、claude-sonnet-4で新規開発されたことが知られています。

Copilot CLI自体のソースは公開されていません。ただしNPMレジストリにはビルド済みのJavaScriptがPublishされています。これをnpm pack @github/copilotで取得します。

npm pack @github/copilot
tar zxfv github-copilot-0.0.328.tgz
find package/
  package/
  package/tree-sitter.wasm
  package/index.js
  package/README.md
  package/package.json
  package/tree-sitter-bash.wasm
  package/tree-sitter-powershell.wasm

package/index.jsがビルド済みのソースコードです。これをPrettierで整形すると約30万行のコードでした。InkやAzure/GitHubライブラリが展開されているため膨大です。

bunx prettier -w package/index.js
wc -l package/index.js
  302701 package/index.js

そこで筆者は1000行単位でファイル分割し、JS構文を壊さないように分割処理するスクリプトを書きました(調整中のため未公開)。それを、ロングコンテキスト対応モデルに読み込ませて分析します。

この時に使うツールなのですがまずはCursorが安定的におすすめです。Cursorさんはエージェントとしての現場経験が長く不意な巨大ファイルや取り扱いの難しいデータの扱いに長けています。モデルはとりあえずAutoを指定すれば良いと思います。

オプションとしてはDevinにリポジトリ接続して、インデックス構築をしてもらいSearch機能で読むという方法があります。これは強力で実際筆者は一部のツールをそうして解析しているのですが、セットアップ工数や待ち時間がネックなので今回は不採用にしました。

無料Gemini 2.5 Pro枠を有するGemini CLIさんにも期待して試してみましたが、トークン上限エラーで途中で停止してしまいました。

Subscribe to laiso

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe