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月に正式サービスとなりました。

関連記事

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


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



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本