はじめに
コードの補完や提案によって、コーディングをより迅速にしてくれるGitHub Copilotは1年前からあり、実際にご利用された方も多いと思います。ですが、今から約3か月前に発表されたGitHub Copilot chatは、まだ使ったことがないという方も多いのではないでしょうか。そこで、本記事ではCopilot chatが含まれるGitHub Copilot Xの説明や、Copilot chatの始め方と使い方をなるべく体系的にまとめました。これからCopilot chatを始める方の参考になれば幸いです。
環境
- Windows11
- バージョン:10.0.22621
- Python
- バージョン:3.11.3
- Visual Studio Code
- バージョン:1.79.0
VSCodeの開発版であるVisual Studio Code InsidersでないとCopilot chatが利用できないという情報がありましたが、通常のVSCodeでも使用できることを確認したため、本記事ではInsiders版は使用していません。
準備事項
前提として、GitHubアカウントを持ち、Copilotにも登録済みであるとします。まだ登録できていない方は、以下の記事を参考にしてCopilotの登録を済ませてください。
GitHub Copilot Xとは
2023/3/22に投稿された以下のGitHubの公式ブログには、GitHub Copilot Xについて以下のような記述が書かれていました。
Our R&D team at GitHub Next has been working to move past the editor and evolve GitHub Copilot into a readily accessible AI assistant throughout the entire development lifecycle. This is GitHub Copilot X—our vision for the future of AI-powered software development. We are not only adopting OpenAI’s new GPT-4 model, but are introducing chat and voice for Copilot, and bringing Copilot to pull requests, the command line, and docs to answer questions on your projects.
(日本語訳)
GitHub Nextの研究開発チームは、エディターを超えて、GitHub Copilotを開発ライフサイクル全体を通してすぐに利用できるAIアシスタントに進化させるために取り組んできました。これがGitHub Copilot Xであり、AIを活用したソフトウェア開発の未来に対する我々のビジョンです。OpenAIの新しいGPT-4モデルを採用するだけでなく、Copilotにチャットと音声を導入し、プルリクエスト、コマンドライン、ドキュメントにCopilotを導入して、あなたのプロジェクトに関する質問に答えていきます。
つまりGitHub Copilot Xとは、Copilot Voice、Copilot for pull requests、Copilot for CLI、Copilot docsなどの製品を含んだ、GPT-4によるGitHubのAIアシスタント製品群のことであると言えます。
GitHub Copilot XとGitHub Nextの関係性
GitHub Copilot Xと近い製品群として、GitHub Nextというものがあります。GitHub Nextは、GitHub Copilotを含んだ、GitHubによる次世代の開発体験を実現するためのプロジェクト群の総称であり、Copilotの他にもFlat DataやVisualizing a Codebaseとなどの数多くのツールが含まれています。
https://githubnext.com/
GitHub Copilot chatとは
GitHub Copilot chatとは、GitHub Copilot Xの一部であり、AI技術を活用したコード補完ツールです。Copilot chatの機能、使い方、制限事項、上手な使用法について、GitHub Docsで載せられていたことを次にまとめます。
Copilot chatの機能
- 入力処理
- 言語モデル解析
- レスポンス生成
- 出力フォーマット
Copilot chatの使い方
- ユニットテストケースの作成
- コードの説明
- コード修正の提案
- コーディングの質問に対する回答
Copilot chatの制限事項
- 範囲の限定性
- バイアスの可能性
- セキュリティリスク
- 公開されているコードとの一致
- 不正確なコード
- 非コード化トピックに対する不正確な回答
Copilot chatの上手な使用法
- トピックに沿ったプロンプトを使用
- 安全なコーディングとコードレビューを慣行
- フィードバックを提供
- 最新情報を入手
GitHub Copilot chatの申し込み
まずはCopilot chatの申し込みを始めていきます。2023年6月現在、Copilot chatを使用するためには申請が必要となっています。申請はこちらのwaitlistに登録することでできます。
GitHub Copilotのサブスクリプションが有効化されていると、「Join the waitlist」のボタンがある画面が表示されます。Copilot chatをどこで使う予定かを尋ねられたため、ここではVisual Studio Codeをチェックしました。

「Join the waitlist」を押すと、ベータ版のCopilot chatが使えるようになったよという画面が表示されました。

VSCodeでの拡張機能のインストール
Copilot chatの登録が終わったら、次は開発環境に拡張機能のインストールをしていきましょう。GitHub CopilotはAndroid StudioやJetBarinsのような様々なIDEと互換性がありますが、本記事ではVisual Studio Codeの拡張機能を使ってGitHub Copilotを使っていきます。
公式ドキュメントのクイックスタートを参考にしたい方は、以下のリンクをご覧ください。
必要な拡張機能のインストール
今回は、以下のExtensionsをインストールします。
-
GitHub Copilot- AI駆動のコード補完ツール
- OpenAIのGPT-3.5 Turboを利用
-
(GitHub Copilot Nightly)-
GitHub Copilotの最新バージョン
-
-
GitHub Copilot Chat- AIがコードに関する質問を回答
- OpenAIのGPT-4を利用
GitHub Copilotのインストール
まずは、Visual Studio CodeのExtensionsで"GitHub Copilot"と入力してGitHub Copilotをインストールしましょう。

GitHub Copilotは安定版なので、最新版を使いたい人は、GitHub Copilot Nightlyを代わりにインストールしましょう。

インストール後、「Sign in to GitHub」ダイアログが表示されるので、GitHubにサインインしましょう。

GitHub Copilot chatのインストール
GitHub Copilot chatの拡張機能もインストールしましょう。

Copiot chatの使い方
VSCodeに拡張機能をインストールしたら、ここからは実際にCopilot chatを使っていきましょう。Copilot chatの使用方法は以下の2種類があります。
- コード内での使用
- チャット内での使用
コード内での使用方法
1つ目に、コード内で使用する方法が挙げられます。Copilotに質問したい該当箇所のソースコードを選択して右クリックを押した後、Copilot>Start Code Chatを選択します。

選択するとコード内で質問ダイアログが表示されるので、Copilotに質問を問いかけることができます。

チャット内での使用方法
2つ目に、チャット内で使用する方法が挙げられます。GitHub Copilot chatの拡張機能をインストールした後は、VSCodeのアクティビティバーに追加されているチャットのアイコン(次のスクリーンショットの赤い四角)、をクリックします。

クリックすると、サイドバーにGitHub Copilotのチャット画面が表示されます。サイドバーの下部にダイアログが表示されるので、コード内の場合と同様にCopilotに質問を問いかけることができます。
Copilot chatのコマンド一覧と実行例
Copilot chatには、いくつかのコマンドが用意されています。ここからはコマンドの説明と実行例を紹介していきます。
/vscode
VS Codeに関する質問ができます。
実行例
/tests
選択されたコードのユニットテストを生成してくれます。
x = "Hello, world!"
print(x)
実行例
-
test_x_is_string: 変数xが文字列であることをテスト -
test_x_is_hello_world: 変数xが "Hello, world!"という文字列と等しいかどうかをテスト -
test_print_output: 関数print_xが文字列"Hello, world!"を標準出力に出力することをテスト
/fix
選択されたコードの問題点の修正を提案してくれます。
x = "Hello, world!"
print(y)
上のサンプルコードは、print(x)とすべきところをprint(y)としているため、間違いを含んだコードになります。
実行例①

「yが定義されていません。修正するためにyとxで置き換えてください」とコードの問題点と解決策を正確に指摘してくれました。また、正しいコードも出力してくれました。
実行例②

/fixの後に引数として渡しても、同様の回答を得ることができました。
/explain
選択されたコードがどのように動作するかを説明してくれます。
x = "Hello, world!"
print(x)
実行例①
実行例②

/explainコマンドの後に引数としてコードを渡した場合でもコードの解説をしてくれました。可読性を高めるために、コメントを追加したコードも出力してくれました。
/ext
VS Code拡張開発について説明してくれます。
実行例

GitHub Copilot Nightlyの概要とインストール方法を説明してくれました。
/help
GitHub Copilotに関する一般的なヘルプを表示してくれます。
実行例

Copilot chatの概要や、使用可能なコマンドなどを出力してくれました。
Copilot chatの日本語による実行例
ここまでは、Copilot chatは英語で回答してくれましたが、英語が苦手な方にとっては読むのが大変です。質問の言語と同じ言語で回答してくれる特性を利用して、日本語での質問をしてみることにしましょう。
コマンドの代用
コマンドを使用せず、日本語で質問しても同様の回答が得られるかを実験しました。以下の実験より、Copilot chatで用意されているコマンドを敢えて使用する必要はないと感じました。
/explainの代わり
/fixの代わり
GitHub Copilot chatを使った所感
- コマンドを使う必要はなさそう
- 日本語の精度は高い
- 質問の自由度は高く、回答も正確
おわりに
本記事では、GitHub Copilot Xに含まれるGitHub Copilot chatの始め方を使い方をまとめました。実際にCopilot chatを使ってみた感想として、VSCodeの一画面でリサーチから、コーディング、テストまで完結するCopilot chatは慣れると生産性を大幅に高めてくれる可能性があると感じました。可能な限り公式ドキュメントの内容からの情報をまとめていますが、間違い等があれば教えていただけると幸いです。








