[ついにきた!] IDE 上で GPT-4 ベースのチャットインターフェースによる開発支援が受けられる GitHub Copilot Chat のベータ提供が開始されました

2023.07.21

こんにちは、CX事業本部 Delivery部の若槻です。

2023/07/21 付けで GitHub Copilot Chat がパブリックベータ(※)として提供開始され、GitHub Copilot for Business ユーザーによるプレビュー利用が可能になりました。

※パブリックベータとして一般向けに公開されているため、本機能の情報は GitHub Terms of Service - Confidentiality の例外に該当する認識です。

GitHub Copilot Chat は、GitHub の新しいビジョンである GitHub Copilot X で提供される機能の1つで、OpenAI の GPT-4 をベースにした自然言語処理モデルを利用しています。Copilot Chatを利用することにより、開発者は IDE から離れることなく GPT-4 によるチャットベースの支援を受けながらプログラミングを行うことができるようになります。

最初にまとめ

  • GitHub Copilot for Business が必要
  • プロジェクト内のコードに関連する質問をチャットで行うことができる
  • 日本語でのやり取りが可能
  • コードは学習に利用されない

試してみた

次の環境で GitHub Copilot Chat を試してみます。

  • GitHub Organization(組織)
  • GitHub Copilot for Business のアクセスは付与済み
  • IDE は VS Code

組織での Copilot Chat の許可

GitHub Copilot Chat は既定ではアクセスがブロックされているので、使用する場合は許可する必要があります。この設定は組織の Owner 権限が必要です。

Settings > Code, planning, and automation > Copilot > PoliciesGitHub Copilot Chat のアクセスをAllowedに変更します。

アクセスを許可できました。

ちなみにユーザーアカウント側の Settings で GitHub Copilot のアクセス許可の状況を確認できるのですが、現在アクセス許可が確認できる機能は Suggestions matching public code のみなのでご注意ください。Copilot Chat は GA 後に確認可能となるのでしょうか。

VS Code 拡張の追加

GitHub Copilot Chat の機能は VS Code 拡張として提供されます。利用には次の2つの拡張機能をインストールします。

拡張機能の導入は GitHub Copilot を先に行う必要があります。 GitHub Copilot の導入方法についてはこちらをご参照ください。

GitHub Copilot Chat の拡張機能は、GitHub Copilot のコンパニオン拡張として動作します。Copilot Chat をインストールすると、サイドバーにメニューが追加されます。メニュー内にチャットのインターフェースがあります。

使ってみる

Copilot Chat の基本的な使い方を確認してみます。

チャットではユーザーによる手動入力に加えて、よくある質問をスラッシュコマンドで入力することで、より簡単に質問を行うことができます。

スラッシュコマンドで質問する

チャットで質問をしたいコードをエディター上で選択し、チャットの入力欄にスラッシュを入力すると、スラッシュコマンドの候補が出てきます。

質問を送信すると回答が返ってきました。スラッシュコマンド/explainを指定するとコードの説明を回答してくれます。また次の質問のサジェストもしてくれます。

言語を日本語に変更する

ちなみに言語はデフォルトでは英語ですが日本語で回答をお願いしますのように指示すると日本語でのやり取りも可能となります。

VS Code の独立したタブで開く

チャットインターフェースは VS Code の独立したタブで開くこともできます。

メニュー右上の Open Session In Editor をクリックすると、チャットのセッションがタブに移動します。

これにより複数のチャットセッションを使い分けることができます。

手動入力で質問する

手動入力では、現在開いているプロジェクトのコードに関連しているかどうかに関わらず質問が可能です。

プロジェクト内のファイルのパスを指定して質問すると、その内容をもとに回答をしれくます。

プロジェクト内のコードに関連のないプログラミングの質問をしてみた様子です。ちゃんと回答してくれていますね。

コードは学習には利用されない

GitHub Copilot Chat 拡張機能のプライバシーポリシーを見ると、コードスニペットは他のユーザーに対してサジェストされることは無いと記載されています。

Your code is yours. We follow responsible practices in accordance with our Privacy Statement to ensure that your code snippets will not be used as suggested code for other users of GitHub Copilot.

そのため、コードの学習への利用を無効にできる GitHub Copilot for Business と同レベルの規約を持つ機能として扱うことができるのではないでしょうか。(実際の導入の判断は各社で行ってください)

おわりに

GitHub Copilot Chat のベータ提供が開始されたので試してみました。

以前までは Waitlist ステータスで、私のアカウントではなかなか順番待ちが来ずとてもやきもきしていましたが、満を持してパブリックベータとなり私も利用可能となったので喜びの舞を踊っているところです。

今まではプログラミングでの質問を AI にチャットベースで行いたい場合は ChatGPT にコードを転記するなどの手間が必要でしたが、GitHub Copilot Chat では IDE から離れることなく質問を行うことができるようになり、AI 支援の開発がより強化されそうですね。

以上