AIとのペアプロへまた一歩前進、「GitHub Copilot」登場。AIがコメントからコード生成、書きかけのコードを補完、コードを見てテストコード自動生成など

2021年7月1日

GitHubは、AIがまるでペアプログラミングの相手の様に、コメントの説明からコードを生成してくれたり、実装されたコードを基にテストコードを生成してくれる機能などを提供する新サービス「GitHub Copilot」のテクニカルプレビューを発表しました。

fig

マイクロソフトは5月に、自然言語(英語)で説明すると自動的にその内容をプログラミング言語の「Power Fx」に変換してくれる機能をローコード/ノーコードツールの「Power Apps」に搭載すると発表したばかり。

fig

参考:[速報]マイクロソフト、自然言語をプログラミング言語にAIで変換、新ノーコード機能をPower Appsに搭載。AI言語モデル「GPT-3」を採用。Microsoft Build 2021

「GitHub Copilot」も同じくAI言語モデルのGPT-3を用いたOpenAIの技術によりコード生成を実現していると説明されています。AIは、さまざまな英語の文章およびGitHub上で公開されているコード群によってトレーニングされているとのこと。

コメントからコード生成、実装コードからテストコード生成など

GitHub Copilotには、さまざまなコード生成機能が備わっています。

1つ目は、コメントに書かれた英語の説明からコードを生成する機能。下記は、「// Get average runtime of successful runs in seconds」(成功した処理の平均実行時間を秒数として取得する)というコメントを人間が書くと、ペアプロの相手として登録されているGitHub Copilotが関数の内容を記述してくれる例。

fig2

2つ目は、繰り返し行う処理のオートフィル機能。Excelのオートフィルのように、似たようなコードが続く場合、最初の何パターンかを書くと残りをAIが補完してくれます。

fig3

3つ目は、テストコードの自動生成。テスト用フレームワークをインポートすると、それに沿ったテストコードを、すでに実装されたコードを基に生成してくれます。

fig4

こうしてAIに生成されたコードが気に入らなければ、別の候補を要求することによって別のコード候補の参照も可能。気に入ったコードがあれば、それを選択できるようになっています。

ほぼどんなプログラミング言語にも対応

GitHub Copilotでは、Python、JavaScript、TypeScript、Ruby、Goなどのプログラミング言語で良好なコード生成が行えると説明されているうえで、ほかのプログラミング言語に関しても、ほぼどんなものでも対応するとしています。

対応するエディタは、いまのところVisual Studio Codeのみ。利用するには、テクニカルプレビューへの申し込みが必要です。

関連記事

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

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

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


最新記事10本