GitHub Copilot
プラン
Copilot Free
Copilot Pro
Copilot Pro+
Copilot Business
Copilot Enterprise
価格
無料
$10/月
$39/月
1ユーザーあたり $19/月
1ユーザーあたり $39/月
Premium リクエスト
50/月
300/月
1,500/月
1ユーザーあたり 300/月
1ユーザーあたり 1,000/月
追加の Premium リクエストを $0.04/リクエストで購入する
×
〇
〇
〇
〇
Note
Premiumリクエストは、デフォルトのモデル以外を利用するためときや特定の機能を利用するきに消費されます。モデル、機能ごとに消費量が異なります。詳細な情報 を参照してください。
カウンターは、毎月1日の0:00 UTC にリセットされます。
エージェント
Copilot Free
Copilot Pro
Copilot Pro+
Copilot Business
Copilot Enterprise
Copliot coding agent (パブリックプレビュー)
×
〇
〇
〇
〇
エージェントモード
〇
〇
〇
〇
〇
Copilot のコードレビュー
VS Code の [Review selection] のみ
〇
〇
〇
〇
Copilot Extensions
〇
〇
〇
〇
〇
コードの補完
Copilot Free
Copilot Pro
Copilot Pro+
Copilot Business
Copilot Enterprise
含まれるモデルでのリアルタイムのコード提案
1 か月あたり 2,000 回の補完
〇
〇
〇
〇
次の編集候補
〇
〇
〇
〇
〇
カスタマイズ
Copilot Free
Copilot Pro
Copilot Pro+
Copilot Business
Copilot Enterprise
リポジトリと個人用カスタム命令
〇
〇
〇
〇
〇
Organization のカスタム命令 (パブリック プレビュー)
×
×
×
〇
〇
プロンプト ファイル
〇
〇
〇
〇
〇
プライベート拡張機能
〇
〇
〇
〇
〇
コード レビューのためのコーディング ガイドライン
×
×
×
×
〇
パブリック コードに一致する候補をブロックする
〇
〇
〇
〇
〇
指定したファイルを Copilot から除外する
×
×
〇
〇
〇
Organization 全体にわたるポリシー管理
×
×
×
〇
〇
その他の機能
Copilot Free
Copilot Pro
Copilot Pro+
Copilot Business
Copilot Enterprise
Copilot pull requestの要約
×
〇
〇
〇
〇
監査ログ
×
×
〇
〇
〇
内容の除外
×
×
×
〇
〇
Copilot knowledge bases
×
×
×
×
〇
Copilot in the CLI
〇
〇
〇
〇
〇
Copilotの長所と短所を理解する
GitHub Copilotは、コードをより素早く、より少ない労力で作成するためのアシスタントツールです。人間は、問題解決の方法を考える時間をより多く持つことができ、Copilotはそのプロセスをサポートします。
Copilotが得意とするもの
テストと反復コードの書き込み
構文のデバッグと修正
コードの説明とリファクタリング
正規表現の生成
Copilotは以下のようには設計されていません
コーディングやテクノロジーとは関係のないプロンプトに対応する
使用者の専門知識とスキルを置き換える
コードの品質を保証する
ジョブに適したCopilotツールを選択する
コード補完とCopilot Chatは、一部の機能を共有しますが、2つのツールは異なる状況で使い分けるのが最適です。
コード補完を使用する場合
コードスニペット、変数名、関数を書きながら完成させる
反復コードの作成
自然言語のインラインコメントからコードを作成する
テストを作成する
Copilot Chatを使用する場合
思慮深いプロンプトを作成する
プロンプトエンジニアリング、つまり "Copilot" が容易に理解し応答できるようにリクエストを構成することは、"Copilot" が価値ある応答を生成する能力において重要な役割を果たします。プロンプトを作成する際に覚えておくべきいくつかの簡単なヒントを以下に示します。
複雑なタスクは分割してください。
要件については具体的に記述してください。
入力データ、出力、実装などの例を提供してください。
優れたコーディング慣行に従ってください。
"Copilot" の作業を確認する
"Copilot" は非常に強力ですが、依然として間違いを犯す可能性のあるツールであり、それが提案するコードは常に検証する必要があります。正確で安全な提案を受け入れるために、以下のヒントを参考にしてください。
提案されたコードを実装する前に理解してください。 "Copilot" の提案を完全に理解するために、"Copilot Chat" にコードの説明を求めることができます。
"Copilot" の提案を注意深くレビューしてください。 提案されたコードの機能性やセキュリティだけでなく、今後のコードの可読性や保守性も考慮してください。
自動テストとツールを使用して "Copilot" の作業をチェックしてください。 リンティング、コードスキャン、IPスキャンなどのツールの助けを借りて、セキュリティと正確性のチェックの追加レイヤーを自動化できます。
Tip
オプションで既存の公開コードに一致する提案をオフにすることができます。
役立つ出力に向けたガイド
"Copilot" をより価値のある応答に導くために行えるいくつかの調整があります。
"Copilot" に役立つコンテキストを提供する:
"IDE" で "Copilot" を使用している場合は、関連するファイルを開き、無関係なファイルを閉じてください。
"Copilot Chat" では、特定の要求がもはや役立つコンテキストでなくなった場合、その要求を会話から削除してください。あるいは、特定の会話のコンテキストが全く役立たない場合は、新しい会話を開始してください。
"GitHub" で "Copilot Chat" を使用している場合は、特定のリポジトリ、ファイル、シンボルなどをコンテキストとして提供してください。「GitHub で GitHub Copilot の質問をする」を参照してください。
"IDE" で "Copilot Chat" を使用している場合は、キーワードを使用して "Copilot" を特定のタスクやコンテキストの一部に集中させてください。「IDE で GitHub Copilot の質問をする」を参照してください。
異なる応答を生成するためにプロンプトを書き直してください。"Copilot" が役立つ応答を提供しない場合は、プロンプトを言い換えるか、リクエストを複数の小さなプロンプトに分割してみてください。
利用可能な最良の提案を選択してください。コード補完を使用している際、"Copilot" は複数の提案を提示することがあります。キーボードショートカットを使用して、利用可能なすべての提案を素早く確認できます。お使いのオペレーティングシステムのデフォルトのキーボードショートカットについては、「Configuring GitHub Copilot in your environment 」を参照してください。
将来の提案を改善するためにフィードバックを提供してください。フィードバックは多くの方法で提供できます:
コード補完については、"Copilot" の提案を承認または拒否してください。
"Copilot Chat" の個々の応答については、応答の横にある高評価または低評価のアイコンをクリックしてください。
「Copilot」の機能に関する最新情報を常に入手してください。
「Copilot」には、新しい能力の創出、既存機能の拡張、そしてユーザーエクスペリエンスの向上のため、定期的に新機能が追加されます。「Copilot」の機能に関する最新情報を入手するには、変更履歴 を参照してください。
リアルタイムのコード提案
サポートされているIDE
Visual Studio Code
Visual Studio
JetBrains IDE
Azure Data Studio
Xcode
Vim/Neovim
Eclipse
編集の提案
VSCodeの場合は、次の編集の提案も使用できます。
GitHub Copilot coding agent
この機能は誰が使えるの?
Copilot Business、および GitHub Copilot Enterprise プランで利用できます。エージェントは、明示的に無効になっている場合と管理対象ユーザー アカウントが所有するリポジトリを除き、すべてのリポジトリで利用できます。
Note
Copilot coding agentはパブリックプレビューです。
Warning
公開コードに一致する提案をブロックする設定は、Copilot coding agent を使用するときに意図したとおりに機能しない可能性があります。
Copilot coding agentの概要
"Copilot coding agent" を使用すると、「GitHub Copilot」は、まるで人間の開発者のように、バックグラウンドで独立してタスクを完了させることができます。
「Copilot」にできること:
バグの修正
段階的な新機能の実装
テストカバレッジの向上
ドキュメントの更新
技術的負債への対処
「Copilot」に開発タスクを委任するには:
「Copilot」に issue を割り当てる。
「GitHub Copilot Chat」を使用して「Copilot」にプルリクエストの作成を依頼する。
「Copilot」は、"issue" の説明や "chat message" から得たプロンプトに基づいて、割り当てられたタスクを評価します。次に、「Copilot」は必要な変更を加えて "pull request" を開きます。「Copilot」が作業を終えると、あなたにレビューをリクエストし、あなたは "pull request" にコメントを残して「Copilot」に繰り返し作業を依頼することができます。
コーディングタスクに取り組んでいる間、「Copilot」は「GitHub Actions」を利用した独自の一時的な開発環境にアクセスします。この環境で、コードの探索、変更の実施、自動テストや "linters" の実行などを行うことができます。
"Copilot coding agent" と "agent mode" の比較
"Copilot coding agent" は、「Visual Studio」および「Visual Studio Code」で利用可能な「agent mode」機能とは異なります。"Copilot coding agent" は、「GitHub Actions」を利用した環境で自律的に動作し、「GitHub issues」や「GitHub Copilot Chat」のプロンプトを通じて割り当てられた開発タスクを完了し、その結果を "pull requests" として作成します。これに対し、「Visual Studio」および「Visual Studio Code」の「agent mode」は、「GitHub Copilot Edits」機能の一部であり、「Copilot」がローカル開発環境で直接、自律的な編集を行うことを可能にします。
「Copilot coding agent」は、「GitHub Actions」の実行時間(分)と「Copilot premium」のリクエストを使用します。
Premiumリクエストの消費
1つのセッション当たり、1Premiumリクエストを消費します。
セッションの仕組み
セッションは、次のことを依頼したときに開始されます。
新しいプルリクエストを作成する
既存のプルリクエストに変更を加える
変更されるファイルの数やタスクの複雑さに関係なく、1つのセッション全体で1つのプレミアムリクエストが使用されます。
Warning
注意: エージェントはGitHub Actions上で動作します。プレミアムリクエストの消費方法は変更されましたが、 GitHub Actionsで使用される時間(分)は、GitHub Copilot がタスクを完了するのに必要な時間によって異なります。
リスクと緩和策
「Copilot coding agent」は、あなたのコードにアクセスし、リポジトリに変更をプッシュすることができる自律的なエージェントです。これには特定のリスクが伴います。可能な限り、「GitHub」は適切な緩和策を適用しています。
Risk: Copilot can push code changes to your repository
「Copilot」にタスクを割り当てられるユーザーを制限します。 リポジトリへの書き込みアクセス権を持つユーザーのみが「Copilot」をトリガーして作業させることができます。書き込みアクセス権のないユーザーからのコメントは、エージェントに提示されることはありません。
「Copilot」が使用するアクセストークンの権限を制限します。 プッシュは「copilot/」で始まるブランチにのみ許可されます。「Copilot」は「main」または「master」ブランチにプッシュすることはできません。
「Copilot」の認証情報を制限します。 「Copilot」は単純なプッシュ操作のみを実行できます。「git push」やその他の Git コマンドを直接実行することはできません。
「GitHub Actions」のワークフロー実行を制限します。 「Copilot」のコードがレビューされ、リポジトリへの書き込みアクセス権を持つユーザーが「Approve and run workflows」ボタンをクリックするまで、ワークフローはトリガーされません。
「Copilot」に pull request の作成を依頼したユーザーがそれを承認できないようにします。 これにより、「Required approvals」ルールおよびブランチ保護における期待される制御が維持されます。
「Copilot」はコードやその他の機密情報にアクセスでき、誤って、あるいは悪意のあるユーザー入力によってそれを漏洩させる可能性があります。
Risk: Prompt injection vulnerabilities
ユーザーは、「prompt injection 」の一形態として、「Copilot」に割り当てられた issue や「Copilot」に残されたコメントに隠しメッセージを含めることができます。
ユーザー入力を「Copilot」に渡す前に、隠し文字をフィルタリングします。 例えば、issue や pull request のコメントに HTMLコメントとして入力されたテキストは、「Copilot」に渡されません。
Copilot coding agent の制限事項
開発ワークフローにおける制限事項
「Copilot」は、pull request を作成しているのと同じリポジトリ内でのみ変更を行うことができます。「Copilot」に issue が割り当てられた場合、その issue が存在するリポジトリ内でのみ変更を行うことができます。さらに、「Copilot」は一度の実行で複数のリポジトリにまたがる変更を行うことはできません。
「Copilot」は、割り当てられた issue と同じリポジトリ内のコンテキストにのみアクセスできます。デフォルトでは、「Copilot MCP」サーバーとの統合により、「Copilot」は一度に1つのリポジトリにアクセスできます。しかし、より広範なアクセスを設定することも可能です。「Model Context Protocol (MCP) を使用して Copilot coding agent を拡張する 」を参照してください。
「Copilot」は一度に1つの pull request しか開けません。「Copilot」は、割り当てられた各タスクに対応するために、正確に1つの pull request を開きます。
「Copilot」は、自身が作成していない既存の pull request に対して作業することはできません。既存の pull request に関して「Copilot」にフィードバックを提供してほしい場合は、「Copilot」をレビュー担当者として追加できます。「GitHub Copilot のコードレビューを使用する」を参照してください。
「Copilot」と他の機能との互換性における制限事項
「Copilot」はコミットに署名しません。「Require signed commits」ルールやブランチ保護を有効にしている場合、「Copilot」の pull request をマージするにはコミット履歴を書き換える必要があります。「ルールセットで利用可能なルール 」を参照してください。
「Copilot」はセルフホストの「GitHub Actions」ランナーでは動作しません。「Copilot」は「GitHub Actions」で実行される独自の開発環境にアクセスし、「GitHub-hosted runners」を使用する必要があります。「Copilot coding agent の開発環境をカスタマイズする 」を参照してください。
「Copilot coding agent」は、マネージドユーザーアカウントが所有する個人リポジトリでは動作しません。これは、「Copilot coding agent」が「GitHub-hosted runners」を必要とするためですが、このランナーはマネージドユーザーアカウントが所有するリポジトリでは利用できないためです。「GitHub-hosted runners について 」を参照してください。
コンテンツの除外設定により、管理者は「Copilot」が特定のファイルを無視するように設定できます。「Copilot coding agent」を使用する場合、「Copilot」はこれらのファイルを無視せず、内容の確認や更新ができます。「GitHub Copilot からコンテンツを除外する 」を参照してください。
「Copilot coding agent」は、データレジデンシーが設定された「GitHub Enterprise Cloud」では利用できません。このエージェントは「GitHub.com 」でのみ利用可能です。
Warning
「Copilot」はコンテンツの除外を考慮しません。
issue のスコープを明確に設定する
「GitHub Copilot」は、明確で適切にスコープ設定されたタスクを割り当てられると、より良い結果を提供します。理想的なタスクには以下が含まれます:
解決すべき問題または必要な作業の明確な説明
良い解決策がどのようなものかについての完全な受け入れ基準
どのファイルを変更する必要があるかについての指示
issue を割り当てることで「Copilot」にタスクを渡す場合、「Copilot」に割り当てる issue をプロンプトとして考えると便利です。issue の説明が AI プロンプトとして機能しそうか、そして「Copilot」が必要なコード変更を行えるようになるかを検討してください。
「Copilot」に与える適切なタスクの種類の選択
「Copilot」を使いこなすにつれて、どのような種類のタスクに最適かが分かってくるでしょう。最初は、「Copilot」がコーディングエージェントとしてどのように機能するかを確認するために、より単純なタスクから始めることをお勧めします。例えば、バグの修正、ユーザーインターフェース機能の変更、テストカバレッジの向上、ドキュメントの更新、アクセシビリティの向上、技術的負債への対処などを「Copilot」に依頼することから始めることができます。
「Copilot」に割り当てるのではなく、自分で取り組むことを選択するかもしれない issue には、以下のようなものがあります。
複雑で広範囲にわたるタスク
リポジトリを横断する知識とテストを必要とする、広範囲でコンテキストが豊富なリファクタリングの問題
依存関係やレガシーコードの理解を必要とする複雑な issue
深いドメイン知識を必要とするタスク
実質的なビジネスロジックを伴うタスク
設計の一貫性を必要とするコードベースへの大規模な変更
機密性が高く、クリティカルなタスク
本番環境にクリティカルな影響を与える issue
セキュリティ、個人を特定できる情報、認証への影響を伴うタスク
インシデント対応
曖昧なタスク
明確な定義に欠けるタスク:要件が曖昧なタスク、オープンエンドなタスク、解決策を見つけるために不確実性の中を進む必要があるタスク
学習目的のタスク
コメントを使用して pull request の繰り返し作業を行う
GitHub Copilotが作成したプルリクエストは、人間が作ったものと同じように扱えます。コードを直接修正することも、Copilotにコメントで修正指示を出すことも可能です。
複数の修正を依頼する際は、個別にコメントするのではなく、「Start a review」機能でまとめてフィードバックを送ることで、Copilotが一度に処理してくれるため効率的です。
Note
「Copilot」は、リポジトリへの書き込みアクセス権を持つ人からのコメントにのみ応答します。
リポジトリへの custom instructions の追加
リポジトリにカスタムインストラクションを追加することで、プロジェクトの理解方法や、変更のビルド、テスト、検証方法について「Copilot」をガイドできます。
「Copilot」が自身の開発環境で変更をビルド、テスト、検証できれば、迅速にマージできる良い pull request を生成する可能性が高まります。
リポジトリ内の.github/copilot-instructions.md
ファイルにインストラクションを追加します。詳細については、「GitHub Copilot のためのリポジトリカスタムインストラクションの追加 」を参照してください。
カスタムインストラクションサンプル
Model Context Protocol (MCP) の使用
「MCP」を使用することで、「Copilot coding agent」の能力を拡張できます。これにより、「Copilot coding agent」はローカルおよびリモートの「MCP」サーバーによって提供されるツールを使用できるようになります。「GitHub MCP」サーバーと「Playwright MCP 」サーバーはデフォルトで有効になっています。詳細については、「Model Context Protocol (MCP) を使用して Copilot coding agent を拡張する 」を参照してください。
「GitHub Copilot」の環境への依存関係の事前インストール
GitHub Copilotがプルリクエストを迅速かつ高品質に作成できるよう、copilot-setup-steps.yml ファイルでプロジェクトの依存関係を事前にインストールすることが推奨されます。
これにより、Copilotが自力で依存関係をインストールする際の非効率性や不確実性を避け、スムーズに作業を開始できます。
Copilot coding agentを実際に使用する
検証として簡易な掲示板を作成します。以下の環境と仕様に基づいて、Copilot coding agentを使用して掲示板の機能を実装していきます。
リポジトリは公開していますので、誰でも確認できます。
最初は、環境構築を指示します。issue (動画 )
issueを立てます。今回は掲示板を開発する環境を作成しますが「掲示板を実装するための環境を作成してください」のような内容で指示を出すと確実な結果は得られません。具体的な要件を決めて指示を出すことが重要です。
issueに「Copilot」を割り当てます。すると注目アイコンがissueにつけられます。これは「Copilot」がこのissueの処理を始めたことを示しています。
作業が開始されると、プルリクエストが作成されます。すべての作業はプルリクエストにまとめられます。追加の修正もプルリクエストに指示することで、Copilotが対応してくれます。
作業が完了すると、レビューをリクエストされます。プルリクエストの内容を確認し、問題がなければマージします。
README.mdが更新されています。README.mdは、プロジェクトの概要やセットアップ手順を記載するファイルです。Copilotが自動的に生成してくれました。
起動方法が記載されているのでサービスを起動します。
初期画面として指定したトップページ が表示されます。
これで環境構築が完了しました。マージして次の作業に進みます。
サインアップ画面を実装します。issue (動画 )
今回は、画面作成とバックエンドの実装を同時に行います。想定していたのはデータベースにユーザーを登録するところまでですが、指示としてそこまで書いていないので素直に画面作成のみしてくれました。
データベースへの保存の実装は、またCopilotに指示するか人間が実装する必要があります。パスワードのハッシュ化はセキュリティを考慮して人間が確実に実装するという方針もとることが考えられます。
画面の実装は、ある程度仕様通りに実装されていました。
先ほどやり残したユーザー登録のバックエンドを実装します。issue (動画 )
サインイン画面を実装します。issue (動画 )
投稿画面を実装します。issue
総評
詳細な要件を提示すればするほど、Copilot coding agentは期待通りの結果を出してくれる。曖昧な指示は無駄な時間を消費する。
サンプルなので、余計なコンテキストが少ないので狙い通りの実装をしやすいと思われる。複雑なプロジェクトは、必要なファイルを指定するなど、追加のコンテキストが必要になる可能性がある。
Copilotの作業は今のところ長くても10分程度で完了するので、タスクに対しての時間としてはレビューや確認作業のほうが長くなる。別のタスクのキリがいい時にCopilotに作業を投げておくと、タスクが終わったころには、Copilotが作業を終えているので効率的に進められる。
画面作成系の課題で日本語テキストが表示できないのが少し不便。実行環境に日本語フォントが無い?
custom instructionsにプロジェクトのフォルダごとの解説を入れておくと必要なコンテキストを与えられるそう。
プロジェクトの構造化は人がやったほうが良い。
画面作成のタスクは、Playwrightでテストしながら作成してるっぽい。入力の仕様やUIの要素は、仕様にかなり合っている。見た目が決まっていてそれを実装してもらうのは難しいかもしれない。
モデル別の変化
変更履歴
2025/7/13 Copilot coding agentを実際に使用する
2025/7/12 新規作成