みなさん、こんばんは。小寺です。
プレビュー中だったAmazon CodeWhispererがGAになりました。
https://aws.amazon.com/about-aws/whats-new/2023/04/amazon-codewhisperer-generally-available/
今日はCodeWhispererがどのようなサービスなのか解説してみたいと思います。
Amazon CodeWhispererとは
Amazon CodeWhispererは、オープンソースリポジトリ、Amazon内部リポジトリ、APIドキュメント、フォーラムなどから収集した数十億行のコードを基にした機械学習から、プログラマが書き始めたコードの続きや、コメントの内容からコードを提案してくれるサービスです。
コードを生成してくれる代表的なAIサービスであるGitHub Copilotの、AWS版のイメージです。
Amazon CodeWhispererは2022年6月に行われたAWSの機械学習にフォーカスしたイベント「Amazon re:MARS 2022」で発表され、プレビュー版として公開されていました。
キュリティスキャンやオープンソースからのコピーの抑止機能があるのも特徴です。
コードの提案だけでなく、脆弱性のあるコードになっていないかどうかを発見し改善案を提案してくれるセキュリティスキャン機能があります。
さらにオープンソースのコードと似たコードに対してフラグを立てて警告する機能も備えています。これによりいつのまにかオープンソースのコードを事実上コピーしてしまった、といった事故を防ぐことができます。
どんなときに活用できそう?
Amazon内部のリポジトリを基に学習されているので、AWSのサービスを活用するコードの生成で活用できそうです。
例えば「create S3 bucket」とコメントに書くと、Amazon S3のバケットを作成するコードを生成してくれます。
対応しているプログラミング言語
GA時点で対応している言語とコードエディタは以下の通りです。
対応しているプログラミング言語はPython、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell、SQLなどです。
対応しているコードエディタはVisual Studio Code、IntelliJ IDEA、AWS Cloud9などです。
費用
Amazon CodeWhispererはGithubCompilotと違い、個人ならば無料で利用ができます。
個人ではなく、法人のアカウントで利用する場合$19/user/monthがかかります。正式な料金はこちらからご確認ください。
試してみる
Visual Studioで試してみました。
(1) 拡張機能に含まれているので、インストールしてみます。
https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-toolkit-vscode
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/01-2.png)
(2)インストール後、「Start」をクリックして試してみます。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/02-2.png)
(3)一番上に表示されている内容を選びます。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/03-1.png)
(4)次のポップアップで「Copy Code for AWS Builder ID」を選びます。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/04-1.png)
(5) 外部のWEBサイトを開いて良いか?ポップアップが表示されるので「Open」をクリックします。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/05-2.png)
(6) AWS Buildersアカウントの新規作成手順は一部、割愛しますが最終的にアクセスできるようになりました。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/06-1.png)
(7) CodeWhispererが表示されていますね。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/07-1.png)
(8) やりたいことをコメントで入力してみます。
コメントは# creates S3にして「def」を入力すると無事に提案がされました。
![](https://www.sunnycloud.jp/wp-content/uploads/2023/04/08-1.png)
まとめ
プレビュー版からGAされたCodeWhispererについて、お伝えしました。今はキーでアクセスしている状態なので、IAMで認証をしてアクセスすることももちろん可能です。コード化がされるサービスが出てきたことで、開発者側の効率化にも繋がりそうですよね!
![](https://www.sunnycloud.jp/wp-content/uploads/2023/03/SunnyPay.jpg)