1. ホーム
  2. 記事一覧
  3. Amazon CodeWhispererの特徴とは?VSCodeへの導入方法と合わせて解説

2023.04.24

Amazon CodeWhispererの特徴とは?VSCodeへの導入方法と合わせて解説

2023年4月13日、Amazon版のGitHub Copilotと呼べるAmazon CodeWhisperer(コードウィスパラー)が正式に発表されました。様々なIDE(統合開発環境)を利用して開発することが可能なAmazon CodeWhispererですが、今回はVSCodeへの導入方法と、CodeWhispererの使い方について解説します。

GitHub Copilotについては、別の記事にて解説しています。

https://envader.plus/article/138

今回の記事は、2023年4月時点での内容となるため、時期によっては料金等の変更がある可能性があります。詳細は公式ページを参照してください。

Amazon CodeWhispererとは

Amazon CodeWhispererとは、オープンソースリポジトリやAmazon内部のリポジトリ、APIドキュメントなどから収集した数十億行のソースコードを機械学習させ、自動でコードを生成および提案してくれるサービスです。

Get more done faster CodeWhisperer is trained on billions of lines of code and can generate code suggestions ranging from snippets to full functions in real time based on your comments and existing code. Bypass time-consuming coding tasks and accelerate building with unfamiliar APIs.

Amazon CodeWhisperer公式ページより引用

以下は翻訳した文章です。

「より速く、より多くのことを成し遂げる CodeWhispererは、数十億行のコードで訓練され、あなたのコメントと既存のコードに基づいて、スニペットから完全な関数までのコード提案をリアルタイムで生成することができます。時間のかかるコーディング作業を回避し、馴染みのないAPIを使ったビルドを加速させます。」

公式ページの冒頭で説明されている通り、開発者は自分の実現したい内容のコメントか、ソースコードの一部を書くだけでAIがその続きのソースコードを提案してくれるというとても魅力的なサービスとなっております。

個人であれば無料で利用できる

気になる料金体系は、無料で利用できる個人開発用のIndividual版と、組織レベルでの利用方法を管理したい方向けのProfessional版があります。2023年4月現在、Professional版は1ユーザーあたり1ヶ月19$(日本円で約2542円)で利用が可能です。

CodeWhispererのサポートランタイム

2023年4月の時点で発表されいている利用可能な言語は以下になります。

PythonTypeScriptRustKotlinシェルスクリプト
JavaC#PHPCSQL
JavaScriptGoRubyC++Scala

IDE(統合開発環境)については、VS CodeやJetBrains社が提供するIntelliJ IDEAやPyCharmなどに加え、AWS Cloud9やAWS Lambdaコンソールでも利用可能です。

セキュリティスキャン機能

Enhance code security Scan your code to detect hard-to-find vulnerabilities, and get code suggestions to remediate them immediately. Align to best practices for tackling security vulnerabilities, such as those outlined by Open Worldwide Application Security Project (OWASP), or those that don't meet crypto library best practices and other similar security best practices.

Amazon CodeWhisperer公式ページより引用

以下は翻訳した文章です

「コードセキュリティの強化 コードをスキャンして見つけにくい脆弱性を検出し、すぐに修正するためのコード提案を受けることができます。Open Worldwide Application Security Project(OWASP)が概説するような、セキュリティ脆弱性に取り組むためのベストプラクティスに合わせるか、暗号ライブラリのベストプラクティスやその他の同様のセキュリティベストプラクティスに合わせないか。」

ソースコードを提案してくれるのはもちろん、コードをスキャンして脆弱性を検出し、さらにはそのコードを改善するための提案まで行ってくれる機能まで備えています。

また、オープンソースのコードと似たコードになっている場合にはフラグを立て、警告する機能も備えているため、オープンソースのコードを気付かないままコピーしていた、といったケースを防ぐこともできます。

VS Codeへの導入方法

ここからVS Codeへの導入方法を解説します。すでにAWSアカウントを持っている前提で進めます。

# 今回実施した環境
MacOS Ventura 13.2
VS Code 1.77.3

拡張機能 AWS Toolkit for Visual Studio Codeをインストール

VS Codeを開いたら、以下の画像のように拡張機能をクリックし、AWS Toolkitをインストールします。

インストールが完了したら、左側のサイドバーにawsのアイコンが表示されるのでクリック。CodeWhispererのタブを開き、AWS Builder IDを作成するためUse a personal〜を選択します。

AWS Builder IDとは、開発者一人一人に紐づく個人プロファイルで、Amazon CodeWhispererやAmazon CodeCatalystなどを利用する際に必要になるIDになります。詳細は以下より確認することができます。

Sign in with AWS Builder ID

次に、以下の画面が表示されるので印の部分をクリックします。クリックすると、request:の右側にあるコードがコピーされます。

以下の画面へ遷移するので、先ほどコピーしたコードを貼り付け、Nextをクリック。

次の画面より、メールアドレスを入力して次へ進みます。

AWS Builder IDで使用する名前をYour nameへ入力して次へ進みます。

認証コードが登録したメールアドレスへ送信されるので、内容を確認して認証コードを入力します。

新しいパスワードを作成して、AWS Builder IDを作成します。

VS CodeのデータへAWS Toolkitがアクセスして良いか聞かれるので、Allowを選択します。

以下の画面が表示されれば設定完了です。万が一上の画面が表示されなかった場合には、最初からやり直してみましょう。

ここまで完了したら、VS Codeへ戻りAmazon CodeWhispererを試してみます。

Amazon CodeWhispererを使ってみる

実際にVS Codeを使用してAmazon CodeWhispererを体験します。今回は実験用のディレクトリを作成し、ファイルを作成して実行しました。

基本的な操作

VS Codeを使用する場合、基本的な操作は以下の通りです。

挙動キー操作
コードを提案させるmac (option + c), windows (Alt + c)
別の候補を出力する矢印キー(左 or 右)
提案されたコードを採用するTabキー

コメントを日本語か英語で書くだけで、CodeWhispererが自動的に補完をしてソースコードの候補を表示してくれます。自動的に候補を表示するのを待ちたくない場合には、macではoption + c、windowsではAlt + cを押すことで意図的に候補を表示させることが可能です。

Pythonでfizz buzzを実行するプログラムを書いてもらう

Pythonでfizzbuzzを出力するプログラムを書いてもらいます。今回は簡単なプログラムだったため、提案されたものをそのまま実行するだけで問題なく動作しました。

以下のようにコメントを入力します。関数のdefを入力した段階でoption + cを入力すると、候補を出力してくれます。

この状態でoption + cを入力する。

このままTabキーを押すことで、この候補を採用することができます。本当にTabキーを押していくだけでどんどん提案されていくため、コードを書く必要が最小限になります。

以下のようなソースコードが完成しました。

実行できるか確かめてみます。

きちんと動くことが確認できました。私が行ったことは、1行目のコメントを入力したのみです。そのあとは、Tabキーを押すだけしか行わず、このようなソースコードが完成しました。

コピーの抑止機能(Reference Log)

Amazon CodeWhispererは、ソースコードを提案するだけではなく、提案したコードがオープンソースのコードを事実上コピーしていないかを確認してくれる機能があります。この機能により、自動で提案してくれるソースコードがうっかりコピーしているものだった、ということを防ぐことができます。

VS Codeでは、以下のターミナルにあるREFERENCE LOGの所から確認することが可能です。

まとめ

Amazon CodeWhispererは、Amazonが開発し、機械学習により自動でコードを生成および提案してくれるサービスです。候補を表示するまでに若干のタイムラグはあるものの、コメントを入力するだけでソースコードを提案してくれる便利さは目を見張るものがあります。

Amazon CodeWhispererのwhispererとは、ささやく人、修飾語を伴うと心が通じ合える人といった意味があるようです。コメントを通してAIと心を通わせながらソースコードを完成させることができる、そんな意味合いに感じました。

今回はfizzbuzzという簡単なプログラムを作成しましたが、実際の業務でもAmazon CodeWhispererを活用すれば業務の効率化を図ることができることは間違いないでしょう。コメントを書くだけでソースコードを提案してくれるとは、本当にすごい時代に突入したのではないでしょうか?

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 今すぐ読む

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事