[速報]「GitHub Copilot X」発表、GPT-4ベースで大幅強化。AIにバグの調査依頼と修正案を指示、ドキュメントを学習し回答も
GitHubは、GTP-4をベースに「GitHub Copilot」の機能を大幅に強化した「GitHub Copilot X」を発表しました。
GitHub Copilot is already helping developers code faster in their IDEs. But what’s next?
— GitHub (@github) March 22, 2023
Our answer is GitHub Copilot X. It’s our vision for the future of AI-powered software development. Check it out https://t.co/3Xrn7dAPgi
従来の「GitHub Copilot」はGPT-3のAIをベースに、コードエディタ内でプログラマがコメントを記述するとそれに基づいてコードを自動生成する機能などを提供していました。
今回発表された「GitHub Copilot X」は、より強化されたAIであるGPT-4をベースに、以下のさまざまな新機能などを備えた新しいGitHub Copilotのビジョンだとされています。
- コードエディタ内でAIとテキストチャットもしくは音声で対話をしながらコーディングが可能になる「Copilot Chat」「Copilot Voice」
- プルリクエストの説明文を自動生成してくれる「Copilot for pull requests」
- ドキュメントを学ばせたAIにチャットで質問できる「Copilot for docs」
- コマンドラインインターフェイスをAIで補完してくれる「Copilot for CLI」
AIにコードのバグを直してもらえる
「Copilot Chat」と「Copilot Voice」は、テキストもしくは音声でGitHub Copilotと対話が可能になる新機能です。
Visual Studio CodeもしくはVisual Studioのコードエディタの画面左側のペインにチャット欄が設けられ、ここで「このコードのバグはどこにありますか?」といった対話ができるようになります。
下記はデモ動画からの引用です。画面右のペインに記述されたコードを選択した状態で、画面左ペイン下のチャット欄に「Propose a fix for the bugs in my code.」(私のコードにあるバグの修正案を示してください)と入力。
するとGitHub Copilotが「There are a couple of issues in the provided code:」(示されたコードにはいくつかの問題があります)と説明を開始。説明に続いて「Here's the corrected code:」(これが修正済みのコードです)とコードを提示。
スクロールしてコード全体が表示される。
このようにバグの調査と修正案を示してもらえます。バグ以外にユニットテストの作成なども依頼できると説明されています。
Copilot Voiceでは音声によるコードの操作や対話も可能。これは昨年開催された「GitHub Universe 2022」の基調講演で示された機能です。
参考:[速報]「Hey, GitHub! 」、GitHubが音声認識による操作とコーディングを可能にする実験的機能をプレビュー公開
プルリクエストの説明文をAIが生成してくれる
「Copilot for pull requests」は、AIが認識したコードの変更履歴などを基に、プルリクエストの説明文(Description)を自動生成してくれる機能です。
下記はデモ動画を基に作成した画面。プルリクエストで「This」と入力すると、残りをAIがサジェストしてくれます。
もしくは以下のように説明文の欄に、生成すべき内容をCopilotにタグ「copilot:summary」「copilot:walkthough」などで指示します。
すると指示に従ってCopilotが内容を埋めてくれます。
生成後の説明文はもちろん人間が加筆修正など可能。
GitHubは今後、プルリクエスト時に十分なユニットテストが記述されていなければCopilotが警告を発する機能や、欠けていると思われるユニットテストのコードを提示する機能なども開発中だと説明しています。
ドキュメントを学習したAIが質問に回答
「Copilot for docs」は、ドキュメントを学習し、学習内容を基に人間の質問にチャットで答えてくれる機能を提供します。
まずはHTMLやJavaScriptなどWeb標準の開発者向け公式ドキュメントである「MDN」、JavaScriptフレームワーク「React」のドキュメント、Microsoft Azureのドキュメントである「Azure Documentation」を学ばせたAIにチャットで質問できるサービスが実験的に提供されます。
下記はデモ動画から、MDNを学んだAIに「How do I vertically center a div?」(divを縦方向にセンタリングするには?)と質問。
Copilotが文書で回答。
文書の中には関連するMDNへのリンクが含まれているため、クリックして基になったドキュメントを参照可能。
GitHubは今後、Copilot for docsの機能を社内リポジトリや社内文書にも適用できるようにすることで、開発者が社内文書や社内のソフトウェアについてチャットで質問できるようにすることも目指しているとしています。
うろ覚えのシェルやGitコマンドでも大丈夫
「Copilot CLI」は自然言語でAIと対話しコマンドライン入力の支援や補完をしてくれる機能で、2月に「GitHub Copilot CLI」として発表したものです。
参考:うろ覚えのシェルやGitコマンドでも大丈夫。自然言語でコマンド入力を支援する「GitHub Copilot CLI」、プロトタイプ公開に向け登録開始
Copilotに対してテキストチャットで要望を伝えると、候補となるコマンドをいくつか提示してくれます。それをカーソルで選択するか、さらに候補を絞り込む操作などをすることで、目的のコマンドにたどり着くことを支援してくれます。
下記は以前の記事からの抜粋です。Copilotに対してGitの操作で「delete a branch」(ブランチを削除する)と投げかけると、提案と説明などが表示され ます。
一番下にある「This looks right」(これです)、「Actually, I can be more specific」(もっと絞り込みたい)、「Cancel」(キャンセル)をカーソルで選択することで、次のアクションに進むことが出来ます。
ソフトウェア開発のライフサイクルを根本的に改善する
GitHubは「GitHub Copilot X」を、ドキュメントを読むところから、コードを書き、テストをし、プルリクエストを提出するところまで、すべてのチーム、プロジェクト、リポジトリにパーソナライズし、ソフトウェア開発のライフサイクルを根本的に改善することへの取り組みの一環だとしています。
そしてGitHub Copilot Xはまだ始まったばかりであり、今後さらに開発者の生産性向上のための機能に取り組むとのことです。
(追記 2023/9/23 9:40 本文とタイトルにある「ChatGPT-3」「ChatGPT-4」をそれぞれ「GPT-3」「GPT-4」に修正しました)
関連記事
マイクロソフトはローコード/ノーコード開発ツールのPower AutomateやPower AppsやMicrosoft OfficeにもChatGPTを組み込むことで、開発者やビジネスマンの生産性を大きく向上させようとしています。開発者やビジネスマンの仕事のやり方がこれから大きく変わりそうです。
あわせて読みたい
Google Cloud、仮想マシンのサスペンド/レジュームが正式機能に。開発環境の未使用時にサスペンドでコスト削減など実現
≪前の記事
「Java 20」正式リリース。スレッド間で共有できるScoped Values、複数スレッド処理をまとめるStructured Concurrencyなど新機能