[速報]「GitHub Copilot X」発表、GPT-4ベースで大幅強化。AIにバグの調査依頼と修正案を指示、ドキュメントを学習し回答も

2023年3月22日

GitHubは、GTP-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.」(私のコードにあるバグの修正案を示してください)と入力。

fig

するとGitHub Copilotが「There are a couple of issues in the provided code:」(示されたコードにはいくつかの問題があります)と説明を開始。説明に続いて「Here's the corrected code:」(これが修正済みのコードです)とコードを提示。

fig

スクロールしてコード全体が表示される。

fig

このようにバグの調査と修正案を示してもらえます。バグ以外にユニットテストの作成なども依頼できると説明されています。

Copilot Voiceでは音声によるコードの操作や対話も可能。これは昨年開催された「GitHub Universe 2022」の基調講演で示された機能です。

参考:[速報]「Hey, GitHub! 」、GitHubが音声認識による操作とコーディングを可能にする実験的機能をプレビュー公開

プルリクエストの説明文をAIが生成してくれる

「Copilot for pull requests」は、AIが認識したコードの変更履歴などを基に、プルリクエストの説明文(Description)を自動生成してくれる機能です。

下記はデモ動画を基に作成した画面。プルリクエストで「This」と入力すると、残りをAIがサジェストしてくれます。

fig

もしくは以下のように説明文の欄に、生成すべき内容をCopilotにタグ「copilot:summary」「copilot:walkthough」などで指示します。

fig

すると指示に従ってCopilotが内容を埋めてくれます。

fig

生成後の説明文はもちろん人間が加筆修正など可能。

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を縦方向にセンタリングするには?)と質問。

fig

Copilotが文書で回答。

fig

文書の中には関連するMDNへのリンクが含まれているため、クリックして基になったドキュメントを参照可能。

fig

GitHubは今後、Copilot for docsの機能を社内リポジトリや社内文書にも適用できるようにすることで、開発者が社内文書や社内のソフトウェアについてチャットで質問できるようにすることも目指しているとしています。

うろ覚えのシェルやGitコマンドでも大丈夫

「Copilot CLI」は自然言語でAIと対話しコマンドライン入力の支援や補完をしてくれる機能で、2月に「GitHub Copilot CLI」として発表したものです。

参考:うろ覚えのシェルやGitコマンドでも大丈夫。自然言語でコマンド入力を支援する「GitHub Copilot CLI」、プロトタイプ公開に向け登録開始

Copilotに対してテキストチャットで要望を伝えると、候補となるコマンドをいくつか提示してくれます。それをカーソルで選択するか、さらに候補を絞り込む操作などをすることで、目的のコマンドにたどり着くことを支援してくれます。

下記は以前の記事からの抜粋です。Copilotに対してGitの操作で「delete a branch」(ブランチを削除する)と投げかけると、提案と説明などが表示され ます。

fig

一番下にある「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を組み込むことで、開発者やビジネスマンの生産性を大きく向上させようとしています。開発者やビジネスマンの仕事のやり方がこれから大きく変わりそうです。

あわせて読みたい

機械学習・AI 開発ツール GitHub Microsoft




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本