全2641文字
PR

 プログラマーが書きたいコードを人工知能(AI)が推測して自動的に補完してくれるサービスが登場した。米GitHub(ギットハブ)が2022年6月21日に正式サービスを始めた「GitHub Copilot(コパイロット)」だ。

 利用料は月額10ドルまたは年額100ドル。ただし、学生や人気のあるオープンソースプロジェクトのメンテナーは無料で利用できる。これは、Copilotを支えるコミュニティーへの支援や恩返しが目的だという。

 プログラマーが開発ツール上でコードやコメントを入力すると、そのプログラムの文脈やコーディング規約に沿ったコードの候補をCopilotが提案してくれる。1つの単語や1行のコードだけでなく、関数の実装や単体テストをまるごと提案してくれる場合もある。提案されたコードを受け入れるか受け入れないかはプログラマーが選択できる。

 対応しているプログラミング言語は数十種類で、特にPython、JavaScript、TypeScript、Goなどの言語だと精度の高い推測結果が得られる。ユーザーがあまり使ったことのない言語でも、Copilotが構文に沿ってコードを提案してくれるため、新しい言語の学習にも向くとする。対応している開発ツールは、米Microsoft(マイクロソフト)の「Visual Studio Code(VSCode)」や「Visual Studio」、チェコJetBrains(ジェットブレインズ)の製品、オープンソースの「Neovim」など。

 同社は2021年6月にCopilotのテクニカルプレビューを開始し、試用を希望するユーザーのうち同社が選んだ開発者に対して公開していた。この1年間で120万人以上の開発者がテクニカルプレビューに参加した。

 同社の最近の評価によると、Copilotが提案するコードのうち、平均して26%をユーザーが承認していた。また、コードファイルの内容のうち平均27%以上がCopilotによって生成されており、Pythonなどの特定の言語ではこの割合が約40%に達したという。

 ただし、提案されるコードが常に動作するとは限らず、意味のないコードの可能性もある。古いバージョンのライブラリーや言語を使った記述を提案したり、非推奨の使い方を提案したりすることもある。また、Copilotは個々のユーザーの環境から集める情報は限定されるため、プロジェクト内の他の場所にある関数などは利用できない場合もある。

 Copilotは、「GPT-3」などの言語モデルの開発で知られる米OpenAI(オープンAI)が作成した事前学習済み言語モデル「Codex」を利用している。公開されているソースコードと自然言語を学習対象としている。自然言語には日本語も含まれ、日本語のコメントも認識する。ただし、英語以外の言語で書かれたコメントからコードに変換する場合は、英語のときよりも性能が劣る可能性があるという。

複雑な処理を自動生成できる場合も

 Copilotの使い勝手はどうなのだろうか。それを調べるため、VSCodeのPython開発環境で実際にCopilotを試してみた。