ITmedia NEWS > 企業・業界動向 >

GitHubにAIプログラミング機能「Copilot」登場 関数名とコメントから中身を丸ごと自動補完

» 2021年06月30日 00時47分 公開
[井上輝一ITmedia]

 米GitHubは6月29日(現地時間)、関数名とコメントから、関数のコードを丸ごと自動補完するAIプログラミング機能「GitHub Copilot」(コパイロット、副操縦士の意)を発表した。専用ページから登録すると、テクニカルプレビュー版の招待を順次受けられる。

AIプログラミング機能「GitHub Copilot」

 米Microsoftのコードエディター「Visual Studio Code」と、Visual Studio Codeベースのクラウド開発環境「GitHub Codespaces」向けの拡張機能として提供する。

 例えば、コメントとして「// Get average runtime of successful runs in seconds」(成功した実行の平均実行時間を秒の形式で取得する)と書いておき、その下に「func averageRuntimeInSeconds」と関数を書き始めると、Copilotがその先を自動補完。必要な変数の宣言や制御構文、戻り値の記述まで一連のコードをプログラマーに提示する。

ここまで入力すると……
あとはCopilotが自動補完する

 コメントで詳しくロジックを書けば、それもCopilotがコードに変換する。Copilotはコードの候補をいくつか提示する機能も備え、プログラマーはその中から気に入ったものを選べるという。

Copilotが提示した候補からコードを選べる。選んだ後はもちろんユーザー側で編集可能

 テクニカルプレビュー時点ではPython、JavaScript、TypeScript、Ruby、Go言語に特に良く対応できるとしているが、他にも何十ものプログラミング言語で使えるという。

 この機能は、イーロン・マスク氏らが立ち上げた米OpenAIの「OpenAI Codex」というシステムによって実現されているという。OpenAI Codexはネット上に公開されているコードとコメントを教師データとして学習。Pythonの関数コーディングで自動補完の精度を測ったところ、1回の試行では43%の確率で、10回の試行では57%の確率で正しい答えが得られたとしている。

GitHub Copilotの仕組み

 GitHubは「Copilotが完璧なコードを生み出すかというとNoであり、動かないコードをサジェストすることもある。開発の責任は常にあなた自身にある」とした上で「コードを小さな関数に分割し、パラメータの意味が分かる関数名や、きちんとした仕様やコメントの記述がある場合に最も効果的に利用できる。あまり知らないライブラリやフレームワークに触れるときの助けにもなるだろう」としている。

Copyright © ITmedia, Inc. All Rights Reserved.