AWS Cloud9でAIコーディング支援サービスAmazon CodeWhispererを利用する
はじめに
この10月から、弊社ライフイズテックが運営しているIT・プログラミングスクールでは秋学期が始まりました。スクールでは、実際の開発にも不可欠な技術になってきている生成AIを使ったものづくりを学ぶAIクリエイティブコースが新設されたのに加え、従来から開催しているWebサービスプログラミングコースでもAIを利用したコード生成を体験できないかというリクエストがありました。
Webサービスプログラミングコースでは、スクール生に開発環境としてAWS Cloud9を利用してもらっているため、AWSが提供しているAIコーディング支援サービスAmazon CodeWhispererを有効にすることにしました。今回はCodeWhispererの概要と有効にした手順をお話したいと思います。
AWS Cloud9とは
AWS Cloud9は、AWSが提供するクラウドベースの統合開発環境(IDE)です。Webブラウザを使用してコードを記述、実行、デバッグすることができます。特別なソフトウェアやツールをインストールする必要がなく、Webブラウザから直接アクセスして開発を行うことができます。
クラウド上で動いているため、複数の開発者が同時に同じ環境で作業し、リアルタイムでコードの変更を共有することもできます。スクールでは、特にリモート環境からオンラインスクールに通っている中高生が開発中に困ったことがあったときなど、大学生のメンターが開発環境に同時に入って、ペアプログラミングのような形で解決していくといった使い方をしています。
Amazon CodeWhispererとは
Amazon CodeWhispererは、機械学習技術を利用して統合開発環境 (IDE)でコードの提案をリアルタイムに生成するAIコーディング支援サービスです。ソフトウェアを迅速に構築するのに役に立ちます。同様のサービスにGitHub Copilotがあります。
CodeWhispererは、Python、Java、JavaScript、TypeScriptなど15のプログラミング言語と、AWS Cloud9を含めてVS Code、IntelliJ IDEAなどの開発ツールで使用できます。個人のデベロッパーは、メールアドレスとAWS ビルダーIDを登録することで無料で利用できます。
CodeWhispererには有料のCodeWhisperer Professional Tierもあります。無料版との違いは、コードセキュリティスキャンを実行できる回数が月
50回から500回に増えることとIAM Identity Centerでアカウントを管理できることです。
Amazon CodeWhispererの有効化
これからCloud9の環境はすでに構築されていると想定して、CodeWhispererの設定を有効にしていきます。
Cloud9でCodeWhispererを有効にするには、「IAMロールの一時認証情報を利用する方法」と「アクセスキーを利用する方法」の2つがあります。
アクセスキーが漏洩して不正に利用されるリスクなどを考えると、IAMロールで設定するほうが好ましいと思います。
ただ、Cloud9の EC2 インスタンスをプライベートサブネットに起動するとき、EC2インスタンスから一時認証情報を使用して、AWS エンティティ (IAM ユーザーなど) を代理してAWSサービスへのアクセスを許可できないので、こちらの場合はアクセスキーを使う必要があります。
今回はEC2インスタンスをパブリックサブネットに配置しましたので、以下のポリシーを追加したIAMロールをインスタンスにアタッチすることでCodeWhispererが有効になります。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CodeWhispererPermissions",
"Effect": "Allow",
"Action": [
"codewhisperer:GenerateRecommendations"
],
"Resource": "*"
}
]
}
CodeWhispererを使ってみる
Cloud9上でCodeWhispererが有効になりましたので、実際にコーディングを支援してくれるのを試してみたいと思います。自動的なコード生成を実行するには、ショートカットを利用するのが便利です。Macの場合、Option+C
Windowsの場合、Alt+Cです。例として、円周率を計算するPythonのコードを生成してみましょう。
calc_piという関数名だけ定義してからCodeWhispererを実行することで、関数名から推測して実際に円周率を計算するコードが生成されています。
まとめ
今回はAWS Cloud9の環境でAIコーディング支援サービスのAmazon CodeWhispererを有効にして、自動的なコード生成を試してみました。
私たちも日々生成AIで開発が効率化されるのを実感していますので、スクールで学んでいる中高生がこれからどのようにAIを活用するのか、そして、どのような作品が生まれてくるのかとても楽しみです。