派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

Copilotとは?コーディングを支援するAIを解説

AIのコーディング入力支援機能「コパイロット」が進化しています。キーボード入力をほとんどしなくても、ソースコードが生成できるように。そんな話題のコパイロットを解説します。JavaScriptを例に、どれほど自動生成されるのかチェック!

【解説】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(以上、技術評論社)、『IT用語図鑑[エンジニア編]』、最新刊には『iPhone1台で学ぶプログラミング 日常の問題を解決しながら、論理的思考を身に付ける本』(翔泳社)などがある。

Copilot(コパイロット)とは

英語では、副操縦士という意味のCopilot。IT用語では、さまざまなツールで操作者をAIで支援する機能を指す意味で使われています。代表的なものを2つご紹介。

Microsoft 365 Copilot

WordやExcel、PowerPointなどを使った書類の作成を支援する機能で、2023年3月に発表された。近いうちに多くの人が使えるようになると言われている。

GitHub Copilot

「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台でも学べる時代!

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。

リクルートスタッフィング