0
0

Amazon CodeWhispererの導入とリファレンス機能の確認

Last updated at Posted at 2024-01-09

はじめに

本記事では、2023年4月にリリースされたAmazon CodeWhispererの導入と、他の類似サービスにはない、特徴の一つでもあるCode Referenceの機能を試してみた結果を記載しています。
目次は以下の通りです。

目次

Amazon CodeWhispererとは

Amazon CodeWhispererとは、AIコーディング支援サービスです。
類似するサービスとしては、GitHub Copilotが挙げられます。
GitHub Copilotとの相違点としては、

  • 個人利用であれば、無料で利用可能
  • リファレンス機能が使える
  • 1ユーザー1か月あたり、50回セキュリティスキャンが行える

といった箇所が挙げられます。
リファレンス機能については後ほど詳細を説明します。

操作方法

まずは導入後の操作方法について確認します。
以下ののユーザーガイドを参照しています。
ユーザーアクション - コードウィスパラー (amazon.com)

キーボードによる操作方法は以下になります。

アクション キーボードショートカット
手動でコードの提案を表示する
(ショートカット使わず自動でも出てくる)
MacOS: Option + C
Windows: Alt + C
提案を受け入れる Tab
次の提案を表示する 右矢印
前の提案を表示する 左矢印
提案を拒否する Esc、Backspace、または入力し続けて提案と文字の不一致が起きると提案が消える
(Backspaceは入力した最後の文字が消えてしまうので使いづらい)

Visual Studio Codeでの導入手順

公開されている動画を参照して導入しました。

手順は以下の通りです。

AWS Toolkitをインストール

  1. 左のExtensionタブでAWS Toolkitを検索
  2. Installボタンをクリック
    スクリーンショット 2023-06-13 135159.png

ユーザー登録

  1. 左にAWSアイコンがでてくるので、クリック

  2. DEVELOPER TOOLSのCodeWhispererを開き、Startをクリック
    スクリーンショット 2023-06-13 135303.png

  3. 上にAWSとの接続方法選択が出てくるので、一番上の”Use a personal email to sign in with AWS Builder ID”を選択する
    スクリーンショット 2023-06-13 140437.png

  4. “Copy Code and Proceed”を選択すると、AWS Builder IDを作成するのに必要なコードがコピーされ、ID作成画面へ遷移する
    スクリーンショット 2023-06-13 140450.png

  5. 先ほどコピーしたコードを入力する
    スクリーンショット 2023-06-13 140514.png

  6. IDに登録するメールアドレスを入力する
    スクリーンショット 2023-06-13 140605.png

  7. User Nameを入力する
    スクリーンショット 2023-06-13 140631.png

  8. 登録したメールアドレスに、認証コードが届くのでコピーする
    スクリーンショット 2023-06-16 102031.png

  9. 認証コードを貼り付ける
    スクリーンショット 2023-06-16 101820.png

  10. パスワードを登録する
    スクリーンショット 2023-06-16 102240.png

  11. Allowをクリック
    スクリーンショット 2023-06-16 102447.png

  12. ユーザーの紐づけ完了
    スクリーンショット 2023-06-16 102634.png

  13. VS Code上にAWS Builder IDを使うか選択する画面が出てくるので、Yesを選択
    スクリーンショット 2023-06-13 145615.png

  14. 左のCodeWhispererがStartしたことを確認する
    スクリーンショット 2023-06-16 103052.png

Lambdaでの導入手順

対象のLambdaにCodeWhispererの権限を付与

  1. ポリシーを作成する
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CodeWhispererPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}

スクリーンショット 2023-06-14 132019.png
2. Lambda関数作成時に作成したロールにアタッチ

Lambda関数からCodeWhispererを有効化

  1. コンソールのコードタブを開く
  2. Toolを表示
  3. Amazon CodeWhisperer Code Suggestionsをクリック
    スクリーンショット 2023-06-14 133334.png
  4. Preferenceを開く
    スクリーンショット 2023-06-14 133550.png
  5. USER SETTINGS>LANGUAGE>Hints&WarningsでAmazon CodeWhisperer Code Suggestionsが有効化されていることを確認
    スクリーンショット 2023-06-14 133611.png

Code Reference

Code Referenceとは、CodeWhispererが提案するコードが、オープンソースの特定のトレーニングデータに類似している可能性があるかどうかを検出する機能となります。
つまり、コードを使用する前に、提案されているコードが他のコンテキストでどのように使用されているのかを知ることができます。また、リファレンスはログ記録されます。
参考:Amazon CodeWhisperer のよくある質問-CodeWhispererのリファレンストラッカーとは何ですか?

実際にどのようにログが表示されるのかをVisual Studio Codeで確認しました。

AWS ToolkitのCodeWhispererの項目の中の、"Open Code Reference Log"を選択します。
スクリーンショット 2023-06-16 103052.png
すると、開いていたファイルの下にCode Reference Logのタブが出てきます。
スクリーンショット 2023-06-16 111207.png
こちらから参照できるようです。
試しに# Create S3 Bucketと入力して、CodeWhispererの提案を実行しましたが、リファレンスログは出てきませんでした。
スクリーンショット 2023-07-28 105544.png

今回の提案内容はオープンソースからのトレーニングデータではなく、CodeWhisperer自体が所有している提案内容だったと推測はできますが、リファレンスログ機能については使っていくうちに出会うことになるのでしょうか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0