[ワークショップ] Amazon CodeWhispererのハンズオン #DOP307-R #AWSreInvent

2023.11.28

現在開催中のAWS re:Invent 2023。 本記事は、2023年11月27日(月)に開催された「DOP307-R | Hands-on with Amazon CodeWhisperer [REPEAT]」のレポートです。

概要

アプリケーションのコーディングを支援するAIサービス「Amazon CodeWhisperer」のハンズオン形式のワークショップです。 CodeWhispererの操作方法から始まり、いくつかある学習課題に取り組み、サービスの理解を深めることができます。 以下、公式の説明です。

このワークショップでは、Amazon CodeWhisperer を使用してアプリケーションをより迅速かつ安全に構築する方法を学びます。ワークショップは、CodeWhisperer がコメントと既存のコードをどのように組み込んで結果を生成するかを示すいくつかの例から始まります。次に、複数の言語とフレームワークを使用して生産性を向上させるように設計された一連の課題に取り組みます。

内容

ワークショップのURLはこちらです。

Workshop Studio

当日のハンズオンでは、メールアドレス認証後、共有されたアクセスコードを利用してワークショップにアクセスしました。 ワークショップでは日本語の選択も可能なので、スムーズに進めることができます。 またワークショップ環境には、ブラウザで完結するようになっていたので、ローカル環境構築の手間が省けました。

以下が学習課題です。 学習課題では、複数のプログラミング言語に対応しており、自分の慣れている言語で取り組むことができます。 また個人的に気になっていたSecurity Scansは独立した学習課題として用意されていました。

  • Python
  • Java
  • C#
  • React
  • SQL
  • Shell
  • SageMaker
  • Security Scans

続いて、ワークショップで印象的だった内容について紹介します。

基本操作方法

ワークショップ内では以下のリンク先が紹介されていました。

User actions - CodeWhisperer

操作性については、他のコード支援AIサービスとあまり変わらない印象です。 ワークショップでは、操作方法の紹介だけではなく、これらの操作方法を試すための簡単なチュートリアルも用意されていました。

Security Scans

CodeWhispererは、コードの脆弱性を検出するSecurity Scans機能も備えています。

Security scans - CodeWhisperer

VSCodeではAWS Toolkitアプリをダウンロードすれば、Developer ToolsからSecurity Scansを実行することができます。 具体的な操作方法は、以下の通りです。

  1. [AWS Toolkit]アプリをクリック
  2. [Developer Tools]の[CodeWhisperer]で、[Run Security Scan]を選択
  3. [Run Security Scan]には、最大60秒かかる場合があります。結果は、VSCodeのエディタ上に表示されます。

初めて利用しましたが、とても簡単にSecurity Scansを実行することができました。 また、Security Scansの結果は、VSCodeのエディタ上に表示されるので、すぐに確認することができます。 このように、CodeWhispererはコードの生成だけではなく、コードの検証にも役立つことがわかりました。

プロンプトについて

CodeWhispererでは、コード内のコメントをコード生成のプロンプトとして扱うことができます。 ワークショップではプロンプトは英語で記述されていましたが、日本語でもコードを生成してくれました。

とても簡単に呼び出すことができるのですが、プロンプトの書き方次第で、生成されるコードの質が変わりそうだなと感じました。 ワークショップの中でもプロンプトの書き方について言及されていましたが、適切なコンテキストと明確なプロンプトが重要そうでした。 こちらの関連として、参考になりそうなAWS公式ドキュメントを以下に紹介します。

プロンプトエンジニアリングとは何ですか? - AI プロンプトエンジニアリングの説明 - AWS

さいごに

このワークショップを通じて、CodeWhispererの使い方について詳しく理解することができました。 実際に使ってみてSecurity Scans機能が特に気に入りました。 コーディングをする方々には、ぜひCodeWhispererを一度試してみてください。 それではまた!

あわせて読みたい

同じワークショップに参加したメンバーのブログです