2026年2月25日、GitHub Copilot CLIが一般提供(GA)を開始しました(GitHub Changelog)。2025年9月のパブリックプレビュー開始から約5か月、エンジニアのワークフローは確実に「ターミナル中心」へ戻りつつあります。
私たちQurated LabでもCopilot CLIを実運用に組み込み、Claude CodeやGemini CLIと使い分けながら日々の開発を回しています。この記事では、GA版Copilot CLIの到達点、他CLIとの使い分け、そして「日常化する時代」にエンジニアへ求められるスキルと注意点を整理します。
ターミナル・ルネサンス—2026年に起きていること
ここ10年、開発の重心はIDEやブラウザ型エディタにありました。しかし2026年、潮目は明確にターミナル側へ戻っています。Claude Code、Gemini CLI、そしてCopilot CLIという「ターミナル・ネイティブなAIエージェント」が相次いでGA/普及期に入り、業界では “Terminal Renaissance” という言葉まで使われるようになりました(DEV: The Terminal Renaissance)。
CLIエージェントはもはや補完ツールではありません。計画を立て、複数ファイルを編集し、テストを実行し、Gitを操作する── IDEから離れずに完結する作業が、いまやターミナル内で完結しています。
背景にあるのは単純で、エージェントの自律性が高まるほど、GUIのメリットが薄れていくことです。人間が一手ずつ承認するならIDEのUIが効きますが、AIが連続でファイルを編集・実行する場合、差分とログが流れるターミナルの方がむしろ情報密度が高い。この転換が、CLI回帰を後押ししています。
GA版Copilot CLIの到達点
GA版Copilot CLIの特徴は、単なる「ターミナル版Copilot Chat」ではない点です。プレビュー期間の5か月間で数百の改善が投入され、ひとつの完結した開発環境へ進化しました(InfoQ: Copilot CLI GA)。重要な柱を4つに整理します。
1. Autopilotモード — 承認なしの自律実行
Autopilot モードでは、Copilot CLIが人間の承認を待たずにツール実行・コマンド実行・ファイル編集を連続で行います(公式ドキュメント)。タスクの種類ごとに「信頼できる範囲」を設計した上で投入する前提の機能で、単純作業の自動化でとくに威力を発揮します。
2. Fleetモード — 並列サブエージェント
/fleet スラッシュコマンドを使うと、Copilot CLIは複雑な要求を小さなタスクに分解し、複数のサブエージェントが並列実行します(公式ドキュメント)。例えば「全APIエンドポイントに認可チェックを追加する」のようなリポジトリ横断のリファクタが、従来より大幅に短い時間で完了します。
3. MCP統合ビルトイン
Copilot CLIにはGitHub公式MCPサーバーが標準搭載されており、IssueやPR、ラベル、活動履歴を自然言語で参照できます。加えてカスタムMCPサーバーも接続でき、社内ツールや外部サービスとの連携もターミナルから完結します。MCP(Model Context Protocol)は2025年以降、Claude CodeやGemini CLIと共通のエコシステムとして整備が進んでおり、CLIを選ばず再利用できる資産になっている点が大きい。
4. マルチモデル対応
Claude Opus 4.6 / Sonnet 4.6、GPT-5.3-Codex、Gemini 3 Pro、Haiku 4.5などをセッション内で切り替えできます。難所ではOpus、量をこなすならHaikuやSonnet、コード生成の高速化にはGPT-5.3-Codex── というふうに、タスクごとにモデルを使い分ける「モデル・オーケストレーション」が日常化しています。
Claude Code / Gemini CLIとの使い分け
CLIエージェントは2026年時点で「どれか一つ」ではなく「使い分け」が前提になっています。Qurated Labで運用している現実的な判断軸を共有します。
| 観点 | Copilot CLI | Claude Code | Gemini CLI |
|---|---|---|---|
| 強み | GitHub MCPビルトイン、Fleet並列、エンタープライズ管理 | 深い推論と多ファイルのリファクタ、Hook拡張 | 大規模コンテキスト、無料枠の広さ |
| ベンチマーク | 未公開 | SWE-bench Verified 80.8% | 公開値は限定的 |
| 料金 | Copilotサブスクリプションに包含 | 有料プラン必須 | 個人Googleアカウントで無料枠あり |
| 得意領域 | Issue→PRのGitHub起点ワークフロー | 設計・リファクタ・長時間タスク | 新規プロジェクトの素早い立ち上げ |
大まかに言えば、GitHub上の資産(Issue/PR/Actions)を主戦場にするならCopilot CLI、腰を据えた設計・リファクタはClaude Code、軽い検証や学習用途はGemini CLIという住み分けが機能しています(参考: freeacademy.ai: Gemini CLI vs Copilot CLI vs Claude Code)。
Fleetを効かせる依頼文テンプレート集
ここからが実用パートです。Fleetは**「並列化できる依頼の型」にハマった時だけ**効きます。ハマらない依頼をFleetに投げると、サブエージェントが衝突したり、互いの前提を知らずに重複作業をしたりして、かえって遅くなります。
並列化できる依頼 / できない依頼
まず最初に見極めるべき判断軸です。
| パターン | 並列化の可否 | 理由 |
|---|---|---|
| 同じ変更をN個の独立ファイルに適用 | ◎ | 依存なし、競合なし |
| 独立した複数トピックの調査・要約 | ◎ | ファイル書き込みなし |
| 新規エンドポイントをM個追加(共通スキーマあり) | ○ | スキーマ先行で並列可 |
| スキーマ変更 → それを使うコード修正 | △ | 順序依存、分割すれば可 |
| テスト失敗 → 修正 → 再テストのループ | ✕ | フィードバック必須、直列で回す |
| リファクタ後のインポート更新連鎖 | ✕ | 競合と差分衝突が頻発 |
判断基準は一行で言えます──「1タスクの終了が、他タスクの開始条件になっていないか」。なっているなら直列、なっていないなら並列です。
テンプレ①:N個のターゲットに同じ変更(最頻出)
全エンドポイントに認可チェックを入れる、全コンポーネントに型を付ける、全Markdownファイルのフロントマターを更新する── このパターンはFleetが最も得意とします。
/fleet 以下を並列実行してください。
【対象】
- src/api/*/handler.ts(合計 N ファイル)
- 各ハンドラは互いに独立しており、共有状態はない
【各サブタスクの作業】
1. ハンドラ関数の先頭で requireAuth(req) を呼び出す
2. 認可失敗時は 401 { error: "unauthorized" } を返す
3. 対応する __tests__/<name>.test.ts に未認可ケースを1件追加
【検証条件(全サブタスク共通)】
- npm test が全て通ること
- npm run lint が通ること
【禁止事項】
- 既存のビジネスロジックの変更
- requireAuth 以外の新規依存追加
ポイントは4点。①対象の明確な列挙、②各サブタスクの作業手順、③共通の検証条件、④禁止事項。この4つを固定フォーマットで書くだけで、Fleetの成功率は体感で大きく変わります。
テンプレ②:調査→一覧化(書き込みなし並列)
ファイル書き込みを伴わない「調査系」はFleetの安全地帯です。失敗してもコードは壊れません。
/fleet 以下の調査を並列実行し、最後に結果を1つの表にまとめてください。
【調査対象】
- packages/core
- packages/api
- packages/web
【各対象で調べること】
- 直近30日のテストカバレッジ(coverage-summary.json)
- TODO / FIXME コメントの件数
- deprecated 付き関数の残件数
【出力フォーマット】
| パッケージ | カバレッジ | TODO数 | deprecated数 |
テンプレ③:独立した複数PRの同時起票
「複数のIssueをまとめて片付ける」用途。GitHub MCPビルトインと組み合わせるとPR作成まで一気通貫です。
/fleet 次のIssueをそれぞれ別ブランチで解決し、個別にPRを作成してください。
【対象Issue】
- #412: ログイン画面の日本語化漏れ修正
- #418: 404ページのリンク切れ
- #421: READMEのインストール手順更新
【各サブタスクの手順】
1. main から feat/issue-<番号> ブランチを作成
2. Issue本文の要件どおりに修正
3. 変更の要約をPR本文に記載してPRを作成
4. Issueへの close リンクを含める
【禁止事項】
- 他のIssueと関連する変更
- package.json / lockfile の更新
Fleet依頼文は「計画の一部」です。使い回せる型をリポジトリに .github/fleet-templates/ として保存しておくと、チーム全員が同じ品質でFleetを呼び出せます。
アンチパターン:これをFleetに投げてはいけない
× /fleet 認証機能をリファクタしてテストも直して
× /fleet バグを全部直して
× /fleet このリポジトリをいい感じにして
いずれも対象・成功条件・禁止事項が欠けている依頼です。Fleetはサブエージェントに情報を分配する仕組みなので、依頼文の曖昧さがそのまま並列に増幅されます。直列(通常モード)で一度叩いて結果を見るほうが早く終わります。
これをやったら事故る──Copilot CLIの落とし穴
実際に社内外で観測している「ハマりやすい地雷」を、誰でも再現・回避できる粒度で共有します。
事故例1:Autopilot × CIの無限ループ
Autopilotで「テストが通るまで直して」と指示し、そのまま git push まで許可した結果、CIが失敗する度にAutopilotが再度修正→pushを繰り返し、夜中のうちに数十回のCIを焚き、クラウド請求が跳ね上がったケース。
回避策:
git pushはAutopilotのホワイトリストに入れない- 修正ループの上限回数を依頼文に明記する(例:「3回試行して通らなければ停止」)
- CIトリガーが走る操作は必ず承認ステップを挟む
事故例2:Fleetのコンフリクト爆発
Fleet実行時、「共通モジュールを複数サブエージェントが同時に編集してしまい、全てのPRでコンフリクト」という典型的失敗。
回避策:
- Fleet前に依存マップを確認(「この変更は他のサブタスクのファイルに触るか?」)
- 共通モジュールの変更は先に直列で1回通し、その後Fleetで分散実装
- 不安ならまずdry-run的に「計画だけ出して」と頼み、計画を人間がレビュー
事故例3:MCP権限の過剰付与
本番環境のGitHub Personal Access Tokenをそのまま個人開発用Copilot CLIに渡してしまい、誤って本番リポジトリにAIがPRを作成した事例。GitHub MCPビルトインは強力な分、渡すトークンのスコープがそのままAIの行動範囲になります。
回避策:
- トークンはFine-grained PATで発行し、対象リポジトリ・権限を最小に絞る
- 本番用と検証用は別トークン・別シェルプロファイルで分離
gh auth statusで今どのアカウント・どの権限で動いているか常に把握
事故例4:シークレットのコンテキスト流入
.env や鍵ファイルが含まれるディレクトリでCopilot CLIを起動し、AIがデバッグ過程でシークレット値を読み込み、PRの説明文やログに出力してしまうリスク。
回避策:
.gitignoreだけでなく、CLIエージェント用に読み取り除外リストを明示する- シークレット検知ツール(gitleaks、trufflehog)をpre-commit/pre-pushに入れる
- そもそも開発環境に本番シークレットを置かない運用に寄せる
事故例5:postinstallスクリプト経由のマルウェア
AIが足りない依存を見つけ、Autopilotで npm install を自動実行した結果、乗っ取られたパッケージのpostinstallでマルウェアが走るリスク。2026年3月のaxios事件はこのパターンの典型です。
回避策:
.npmrcにignore-scripts=trueを設定- Autopilotの許可コマンドに
npm installをそのまま入れない - 詳細はnpm installが危険な時代を参照
起動前チェックリスト
毎朝CLIを起動する前に、このチェックリストを回すだけで事故は大幅に減ります。
- 今いるディレクトリに本番シークレットは無いか?
- 今ロードされているPAT/トークンのスコープは最小か?
- Autopilotの許可コマンドに
push/deploy/rm -rfは無いか? -
.npmrcにignore-scripts=trueが入っているか? - 依頼文に「成功条件」と「停止条件」は明記したか?
Copilot CLIの事故の8割は「強すぎる権限 × 曖昧すぎる依頼文」の組み合わせで起きます。権限を絞り、依頼文を具体化する── この2つが効く。逆に言えば、それだけで大半のリスクは避けられます。
まとめ—2026年は「依頼文の設計力」が生産性を分ける
Copilot CLIのGAは、単なる新製品リリースではなく、ターミナル中心開発の日常化を象徴する出来事です。Autopilotで自律性が上がり、Fleetで並列性が上がった今、エンジニアの実力は「ツールを知っているか」ではなく「どう依頼し、どこまで権限を渡すか」に集約されます。
今日からできる3ステップを置いておきます。
- リポジトリに
.github/fleet-templates/を切り、本記事のテンプレ①②③をコピーして置く - Autopilotの許可コマンドから
git push/npm install/rmを外す - 冒頭のチェックリストを朝のルーティンに入れる
どれも数分で終わりますが、依頼文と権限設計が揃うと、CLIエージェントの挙動は見違えるほど安定します。まずは小さなタスクで /fleet を1回試してみてください。2026年のターミナルは、想像より頼れる相棒になっています。