どうも、最近AIという言葉に食傷気味な寺内です。
Github Copilot が発表されてからそろそろ一年となりました。コーディング支援AIが開発の助けになるのは確かですが、プログラマが不要になるなんてことはもちろんありません。
AWSを使っているのであれば、コーディング支援サービスであるAmazon CodeWhisperer も使っていきたいところです。
Amazon CodeWhisperer については、GA前の時点で以下の記事でご紹介しております。
Amazon CodeWhisperer を使うときの利用者IDパターン
さて、このAmazon CodeWhisperer は、一般GAされたとはいえ、使い始めるためのID登録がわりと面倒です。使うための条件を見てみましょう。
上記のGetting Startedによると、以下の3つの使い方があります。
1. CodeWhisperer for professional developers
VS Code とJetBrains の中でAmazon CodeWhisperer を組織的に使うには、この使い方となります。この場合、AWS Organization と IAM Identity Center を使いID管理をする必要があります。
2. CodeWhisperer for individual developers
個人開発でVS Code とJetBrains の中でAmazon CodeWhisperer を使うには、この使い方となります。この場合、AWS Builder ID を無料で取得しそのIDを使用します。
3. CodeWhisperer within the IDE
AWS のサービス内の以下のIDE を使うときに、Amazon CodeWhisperer を有効化し使うことができます。
- Amazon SageMaker Studio
- JupyterLab
- AWS Glue Studio
- AWS Lambda
- AWS Cloud9
最も簡単にコーディング支援を体験することができますのでオススメです。
ここではAWS Cloud9 でAmazon CodeWhisperer を使ってみましょう。
まずはCloud9 のIDE環境を起動しておきます。
IAMロールでAmazon CodeWhisperer の権限設定
Cloud9 でAmazon CodeWhisperer を使用するには、以下のドキュメントにあるように利用権限ポリシーを付与します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CodeWhispererPermissions",
"Effect": "Allow",
"Action": ["codewhisperer:GenerateRecommendations"],
"Resource": "*"
}
]
}
このポリシーは、IAMユーザに付与してください。
Cloud9 の環境を作成したばかりの状態では、AWS APIを呼び出すときのアクセスキーは、STSを使って生成されたAWS マネージド一時認証情報が使用されます。その認証情報は、Cloud9 内のファイルシステムで ~/.aws/credentials
のファイルの中を見ることで確認できます。この認証情報は5分に一度自動で更新されます。
この一時認証情報機能をOFFにし、クレデンシャルファイルに自分で使うアクセスキーを設定します。
一時認証情報機能をOFFにするには、Cloud9 のPreference で以下のように AWS managed temporary credentials をOFFにします。
その上で、以下の2つのファイルに使用するIAMユーザのアクセスキーとシークレットキー、使用リージョンなどを記載してください。
- ~/.aws/config
- ~/.aws/credentials
ファイルの書き方は以下のページを参照してください。
正常に認証情報を記載できたかの確認は、ターミナル上でaws cli が使えるかで確認することができます。 aws s3 ls
と入れて、S3バケットリストが得られれば成功です。
もしdefault 以外のprofile を指定してアクセスキーを選択する場合は、以下のようにCloud9 の画面左端下にprofile を選択する箇所がありますので、そこで指定しておいてください。
Amazon CodeWhisperer の有効化
次にCloud9 でAmazon CodeWhisperer を有効化します。
Cloud9 の画面左端下に CodeWhisperer の有効化チェックマークがあります。
初期では以下のように切断されていますので、そこをクリックして有効化してください。
Amazon CodeWhisperer の使い方
いよいよエディタ画面にコードを書いていきます。
Windowsであれば書いている途中で Alt+c
、MacOSなら Option + c
を押すと、CodeWhisperer が反応し続きのコードをサジェスチョンしてくれます。
サジェスチョンを受け入れて、そのコードを採用するなら TAB
を押します。
採用しないなら ESC
を押します。
出力されたコードはしっかり読み解き、自分が意図したものであるかどうかはしっかり判断しましょう。
料金
AWSサービスのインコンソールでAmazon CodeWhisperer を使用するのは無料です。
おわりに
普段インフラエンジニアをやっていると、あまりコードを書く機会は少ないかもしれません。
いざコード書こうとなったとき、「アレ、Python のif 分で値の一致を判定するのは = はひとつだっけふたつだっけ?」みたいな、ちょっとしたことが思い出せないことがあります。毎日書いていればそんなことないのに、時々しかやらないからこその面倒さです。
Javascript とPython を行ったり来たりしているときもありますね。
そんなときに、こうしてサジェスチョンしてくれるのはとても助かります。