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のみ。利用するには、テクニカルプレビューへの申し込みが必要です。

追記

neovimとIntelliJ IDEAでも利用可能になりました。

2022年6月に正式サービスとなりました。

関連記事

あわせて読みたい

プログラミング言語 機械学習・AI 開発ツール GitHub




タグクラウド

クラウド
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本