AIのコーディング入力支援機能「コパイロット」が進化しています。キーボード入力をほとんどしなくても、ソースコードが生成できるように。そんな話題のコパイロットを解説します。JavaScriptを例に、どれほど自動生成されるのかチェック!
Copilot(コパイロット)とは
英語では、副操縦士という意味のCopilot。IT用語では、さまざまなツールで操作者をAIで支援する機能を指す意味で使われています。代表的なものを2つご紹介。
WordやExcel、PowerPointなどを使った書類の作成を支援する機能で、2023年3月に発表された。近いうちに多くの人が使えるようになると言われている。
「AIによるペアプログラマ」とも呼ばれ、コーディングの最中に入力候補をAIが提示してくれる。コメントを書くと、それに合わせたソースコードが自動生成される。
Amazon CodeWhisperer on VSCodeとは
今回は、無料で使用できるサービス「Amazon CodeWhisperer on VSCode」をご紹介します。
これは、Visual Studio Code(以下、VS Code)というテキストエディタにおいて、さまざまなプログラミング言語でソースコードを入力するとき、AIが入力候補を提示してくれるプラグインです。
動作イメージとして、以下の動画をまずはご覧ください。
このプラグインを使用するには、VS Codeの拡張機能から「AWS Toolkit」を検索してインストールします。さらに、この設定画面からAmazonの「AWS Builder ID」を指定します。
これは一般の「AWSアカウント」とは別に、個人単位で登録して作成するアカウントで、無料で作成できます。具体的な登録手順は、次の動画を参照してください。
登録が完了すると、VS Codeの画面下に「AWS Builder ID」と「CodeWhisperer」にチェックがついた状態で表示されます。これで準備は完了です。
JavaScriptを例にソースコードを生成する
上記の動画で解説した内容について、もう少し詳しく解説します。
例題として、JavaScriptで「うるう年を判定する関数」を作成したい状況を考えます。
■実装したい内容のコメントを書く
最初に「うるう年を判定する」というような実装したい内容のコメントを書きます。すると、次の行で「function」の「fun」あたりまで入力した時点で、図のような候補が表示されます。
■タブキーで候補のコードを確定させる
タブキーを押すと、その候補が確定します。さらに、Enterキーを押して改行すると、その関数の残りの候補が表示されます。
これも同じようにタブキーを押して確定すると、作りたかった関数のソースコードが完成します。
つまり、この関数を作成するときに、押したキーは「fun」という3文字と、タブキー、Enterキーだけです。
このように、コメントを日本語で書くだけで、AI(Copilot)によって自動的にソースコードが補完されます。
これは一般的によく使われる関数の場合ですが、他にも「50回繰り返す」や「3の倍数のときだけ」のようなコメントを書くと、自動的にソースコードが補完されます。不要であれば「Esc」キーを押したり、手作業で入力したりするだけです。
ソースコードの他の部分から補完する
ソースコードの内容によっては、一部の処理についてソースコードを作成すると、それ以降が似た内容であれば、自動的に生成できます。
たとえば、Laravel(PHPのWebフレームワーク)で次のようなフォームを作成し、これをデータベースに登録する処理を考えます。
この場合、コントローラにstoreという関数を用意し、その冒頭で利用者の入力内容のバリデーションを行います。そして、入力された内容をデータベースに登録するのですが、バリデーションでチェックする項目を保存するだけであれば、ほぼ同じ項目を代入する処理が記述されます。
このように、ソースコードの他の部分に記述した内容と、ほぼ同じような項目を記述する場合、AI(Copilot)が自動的に補完候補を表示してくれます。
今回の場合は、バリデーション部分を関数の冒頭に記述すると、残りの保存処理の実装部分はタブキーとEnterキーを押しているだけで、ソースコードのほとんどを自動的に入力することができます。
補完ができるのはJavaScriptやPHPだけではありません。他にも多くのプログラミング言語に対応していますので、ぜひ使ってみてください。