AWS ワークショップシリーズ

AI コード生成で開発効率アップ ! Amazon CodeWhisperer ワークショップ

2024-03-04
デベロッパーのためのクラウド活用方法

Author : 嶋田 朱里

皆さん、こんにちは。ソリューションアーキテクトの嶋田朱里です。

AWS が公開している数あるワークショップの中から、ソリューションアーキテクトお勧めのワークショップを紹介するシリーズの第二回です。今回は昨今話題の生成 AI の中から、コード生成サービスの Amazon CodeWhisperer のワークショップ を紹介します。

Amazon CodeWhisperer ワークショップの画面

ワークショップ紹介のその他の記事はこちら

選択
  • 選択
  • 3 時間でマスター !? 位置情報サービス Amazon Location Service 入門 ワークショップ
  • 産業 IoT による工場のデータ収集から可視化まで、AWS Industrial IoT Workshop で一気に体験 !
  • 開発者のためのデータベースサービスの学び方
  • AWS Security Hub を利用したセキュリティ体制の可視化
  • AWS Amplify Gen2 を使ったウェブアプリケーション構築の学び方
  • AI コード生成で開発効率アップ ! Amazon CodeWhisperer ワークショップ
  • データレイク構築の第一歩 ! はじめてのデータレイクハンズオン
  • App2Container を利用した .NET アプリケーションのコンテナ化

このクラウドレシピ (ハンズオン記事) を無料でお試しいただけます »

毎月提供されるクラウドレシピのアップデート情報とともに、クレジットコードを受け取ることができます。 


Amazon CodeWhisperer とは

Amazon CodeWhisperer は開発者がプログラミングをする際に、どんな処理をしたいのかをコメントで書くと、その処理を実行するためのコードを生成してくれる生成 AI のサービスです。コード生成の対象言語は Java、Python などのプログラミング言語、SQL、シェル、そして AWS CloudFormation (YAML、JSON) や AWS CDK (TypeScript、Python) 等の Infrastructure as Code (IaC) コードです。

CodeWhisperer によるコード生成の流れ

また、単にコードを提案するだけでなく、提案したコードに対して、一般公開されているコードに類似のものがないかどうかを検出する リファレンストラッカー という機能があり、意図せずコードの盗用をしてしまうといったケースを防止するのに役立ちます。これらの機能は CodeWhisperer Individual という無料プランでもご利用いただけます。

有料プランである CodeWhisperer Professional を利用すると、上記の機能に加えて、社内の内部ライブラリ、API、ベストプラクティス等を学習させて、企業独自のコードスタイルに適したコードを生成するように カスタマイズ することも可能です。


ワークショップをお勧めしたい方

今回紹介する Amazon CodeWhisperer ワークショップは「コード生成ツールに興味がある。まずは試してみたい」、「CodeWhisperer を使って開発効率を上げたい」という方にお勧めです。

私もこのワークショップを通して、コードの自動生成を初めてやってみたのですが、実装したい処理をコメントするだけでコードを書いてくれるのはとても便利だと感じました。CodeWhisperer で生成されるコードは、その前後に書かれているコードのコンテキストに基づいています。そのため、最初はコメントの書き方によっては意図したコードがうまく生成されないこともありましたが、このワークショップを通して様々な場面でのコード生成を試していく中で、どのようなコメントを書くといいのかを学ぶことができました。

また、CodeWhisperer はコード生成の機能が有名ですが、その他にもセキュリティスキャンやリファレンストラッカーなど、開発に役立つ機能があります。このワークショップではそのような機能についても使い方を紹介しているので、そちらもぜひ学んでいただき、開発効率のアップに役立てていただければと思います。


ワークショップの内容

このワークショップでまず確認していただきたいのは「使ってみよう」というセクションです。このセクションでは、CodeWhisperer を操作する際に利用するショートカットキーの紹介やコードを生成する方法を学びます。特にサブセクションである「プロンプトエンジニアリング」では、コメントの書き方や既に書かれているコードの内容によって生成されるコードが変わることを体験できます。資料に記載されているコメントだけでなく、「こんな書き方をしたらどういうコードが出てくるかな ?」と色々試していただくことで、生成 AI によるコード生成の面白さを感じていただけると思います。

CodeWhisperer の基本的な使い方がわかったら、コード生成のやり方および CodeWhisperer が提供している機能の使い方を学んでいきます。現在、このワークショップで試すことができるものは以下の 8 つです。

  • Python コード生成
  • Java コード生成
  • C# コード生成
  • React コード生成
  • SQL コード生成
  • Shell コード生成
  • SageMaker でのコード生成
  • セキュリティスキャン機能

それぞれのモジュールは独立しているので、興味のあるものから始めていただけます。

コード生成に関するモジュールでは「入力されるメールアドレスが正しい形式かどうかを検証したい」「seaborn ライブラリのヒートマップをノートブックにプロットしたい」というように、実行したい処理が提示されています。その内容に対して、コードを生成するためにどのようなコメントを書けばいいかを考えたり試したりしながら、コードを生成していくという流れになっています。どんなコメントを書けばいいかの検討がつかない時は考え方のヒントが用意されているので、「ヒント」のタブから確認してみてください。

このように自分でコメントを考えながら取り組むことができるので、クイズ感覚で学習でき、取り組むうちに意図したコードを生成させるためのプロンプトの書き方のコツが掴めてきます。

コード生成の問題例
(画像をクリックすると拡大します)

セキュリティスキャン機能のモジュールでは、「セキュリティスキャンの有効化」の手順に従って設定を行い、コードに含まれるセキュリティリスクが Visual Studio Code (VS Code) の「問題 (PROBLEMS) 」タブに表示されることを確認します。その後、検出されたセキュリティリスクに対して、コードの修正とスキャンの再実行を行い、コードの脆弱性を解消するための一連の流れを体験できます。

セキュリティスキャン結果の例。赤枠で囲まれているところが CodeWhisperer による検出結果。


ワークショップを始めるには?

このワークショップでは IDE として VS Code を利用しています。そのためまずは VS Code に CodeWhisperer のセットアップをしてください。セットアップ手順は「個人で実施する場合」に記載しています。

インストールが終わったら、「使ってみよう」のセクションで基本的な CodeWhisperer の使い方を確認してください。その後、興味のあるユースケースに取り組んでいただくのがお勧めです。

このワークショップを実施する際の料金についてです。執筆時点 (2024 年 1 月) では、本ワークショップのコンテンツは無料の CodeWhisperer Individual を利用して体験いただくことができます。ただし、実施するユースケースによっては CodeWhisperer 以外の AWS リソースを使用する場合があります。その場合、利用した AWS リソースに対して料金が発生する可能性がありますので、ご注意ください。


まとめ

今回は CodeWhisperer ワークショップを紹介しました。個人的には API の呼び出しなどをする際に、その API のドキュメントを参考にパラメータの指定方法などをいちいち確認するのが面倒だと感じていたので、その必要なく、コードが生成されるという点がとても魅力的でした。この機能を使うことで開発がより楽しくなるのではと思っています。

ぜひ、皆さんもこの記事をきっかけに CodeWhisperer をお試しいただき、今後の開発に活用いただければ幸いです。

ワークショップ紹介のその他の記事はこちら

選択
  • 選択
  • 3 時間でマスター !? 位置情報サービス Amazon Location Service 入門 ワークショップ
  • 産業 IoT による工場のデータ収集から可視化まで、AWS Industrial IoT Workshop で一気に体験 !
  • 開発者のためのデータベースサービスの学び方
  • AWS Security Hub を利用したセキュリティ体制の可視化
  • AWS Amplify Gen2 を使ったウェブアプリケーション構築の学び方
  • AI コード生成で開発効率アップ ! Amazon CodeWhisperer ワークショップ
  • データレイク構築の第一歩 ! はじめてのデータレイクハンズオン
  • App2Container を利用した .NET アプリケーションのコンテナ化

builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

嶋田 朱里 (しまだ あかり)
アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト

AWS を通してお客様のビジネスをサポートできることに喜びを感じながらソリューションアーキテクトとして活動しています。好きなサービスは DynamoDB です。ラジオを聴くのが大好きです。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する