AIのコーディング入力支援機能「コパイロット」が進化しています。キーボード入力をほとんどしなくても、ソースコードが生成できるように。そんな話題のコパイロットを解説します。JavaScriptを例に、どれほど自動生成されるのかチェック!
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(以上、技術評論社)、『IT用語図鑑[エンジニア編]』、最新刊には『iPhone1台で学ぶプログラミング 日常の問題を解決しながら、論理的思考を身に付ける本』(翔泳社)などがある。
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」キーを押したり、手作業で入力したりするだけです。
▼「50回繰り返す」「3の倍数のときだけ」を指定するコードが候補に表示される
ソースコードの他の部分から補完する
ソースコードの内容によっては、一部の処理についてソースコードを作成すると、それ以降が似た内容であれば、自動的に生成できます。
たとえば、Laravel(PHPのWebフレームワーク)で次のようなフォームを作成し、これをデータベースに登録する処理を考えます。
この場合、コントローラにstoreという関数を用意し、その冒頭で利用者の入力内容のバリデーションを行います。そして、入力された内容をデータベースに登録するのですが、バリデーションでチェックする項目を保存するだけであれば、ほぼ同じ項目を代入する処理が記述されます。
このように、ソースコードの他の部分に記述した内容と、ほぼ同じような項目を記述する場合、AI(Copilot)が自動的に補完候補を表示してくれます。
今回の場合は、バリデーション部分を関数の冒頭に記述すると、残りの保存処理の実装部分はタブキーとEnterキーを押しているだけで、ソースコードのほとんどを自動的に入力することができます。
補完ができるのはJavaScriptやPHPだけではありません。他にも多くのプログラミング言語に対応していますので、ぜひ使ってみてください。
▼これまでのサクッとわかるITトレンド
・Pythonはなぜこれほど人気なのか
・大人も自由研究!IoTでプログラミングを体験しよう
・サイバー攻撃に備えている?その対策は本当に有効ですか
・Javaで開発するプログラマに将来性はあるのか
・ITエンジニアはWeb3とどう向き合えばいいのか
・RPAとプログラマーの役割はどう分担されるのか
・ITエンジニアのための“効率の良い”数学の学び方
・プログラマならではの「ChatGPT」の使い方
・新年度は「Obsidian」で新しいノートを作ろう
・DXへのITエンジニアの現実的な取り組み方とは
・プログラマーのスキルアップとして競プロ(競技プログラミング)に挑戦!
・プログラミング的思考はiPhone1台でも学べる時代!
※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。