GitHubは、ChatGTP-4をベースで「GitHub Copilot」の機能を大幅に強化した「GitHub Copilot X」を発表しました。
従来の「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」の基調講演で示された機能です。
プルリクエストの説明文を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を縦方向にセンタリングするには?)と質問。
文書の中には関連するMDNへのリンクが含まれているため、クリックして基になったドキュメントを参照することも可能です。
GitHubは今後、Copilot for docsの機能を社内リポジトリや社内文書にも適用できるようにすることで、開発者が社内文書や社内のソフトウェアについてチャットで質問できるようにすることも目指しているとしています。
うろ覚えのシェルやGitコマンドでも大丈夫
「Copilot CLI」は自然言語でAIと対話しコマンドライン入力の支援や補完をしてくれる機能で、2月に「GitHub Copilot CLI」として発表したものです。
Copilotに対してテキストチャットで要望を伝えると、候補となるコマンドをいくつか提示してくれます。それをカーソルで選択するか、さらに候補を絞り込む操作などをすることで、目的のコマンドにたどり着くことを支援してくれます。
一番下にある「This looks right」(これです)、「Actually, I can be more specific」(もっと絞り込みたい)、「Cancel」(キャンセル)をカーソルで選択することで、次のアクションに進むことができます。
ソフトウェア開発のライフサイクルを根本的に改善する
「GitHub Copilot X」に関してGitHubは、ドキュメントを読むところから、コードを書き、テストをし、プルリクエストを提出するところまで、すべてのチーム、プロジェクト、リポジトリにパーソナライズし、ソフトウェア開発のライフサイクルを根本的に改善することへの取り組みの一環だとしています。
そしてGitHub Copilot Xはまだ始まったばかりであり、今後はさらに開発者の生産性向上のための機能に取り組むとのことです。
この記事は新野淳一氏が運営するメディア「Publickey」が2023年3月22日に掲載した『[速報]「GitHub Copilot X」発表、GPT-4ベースで大幅強化。AIにバグの調査依頼と修正案を指示、ドキュメントを学習し回答も』を、テクノエッジ編集部にて編集し、転載したものです。