Amazon CodeWhispererを試してみた


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

Amazon CodeWhispererとは

Amazon CodeWhispererは、オープンソースリポジトリ、Amazon内部リポジトリ、APIドキュメント、フォーラムなどから収集した数十億行のコードを基にした機械学習から、プログラマーが書き始めたコードの続きや、コメントの内容からコードを提案してくれるサービスです。

CodeWhispererはAWSサービス用のコードを生成するための最も高速で正確で安全な方法であり、誰でも無料で利用できるという。

導入方法のビデオ

https://aws.amazon.com/jp/codewhisperer/resources/#Getting_started

VS Codeで試してみる

やりたいことをコメントに入力すると、Enterキーを押下しソースコードを提示される
file

defを入力すると下記は提案されたソースコードです。

def start_ec2(ec2_id):
    ec2 = boto3.resource('ec2')
    ec2.Instance(ec2_id).start()

S3 bucket を作成する

# S3 bucket を作成する
def create_bucket(bucket_name):
    s3 = boto3.resource('s3')
    s3.create_bucket(Bucket=bucket_name)
    print(f'S3 bucket {bucket_name} created.')
    return

Lambdaの設定方法

Lambda コンソールでは、CodeWhisperer は Python と Node.js のみをサポートしています。
現時点では、サポートしているリージョンは米国東部 (バージニア北部) (us-east-1)のみです。

先ず、Lambdaのcodewhisperer:GenerateRecommendations のアクセス許可の追加が必要です。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CodeWhispererPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}

Lambda で Amazon CodeWhisperer を有効にする

CodeWhisperer code suggestionsを選択します。これにより、CodeWhisperer サービスがすぐにアクティブになり、このオプションの横にチェック マークが表示されます。無効にするには、このオプションをもう一度選択します。
file

試してみる、できました。

file

コード候補を有効にして操作するには、次のキーボード ショートカットを使用します。

コード候補を手動でフェッチする: Option+C (macOS)、Alt+C (Windows)
提案を受け入れる: Tab
提案を拒否する: ESC、Backspace、任意の方向にスクロールするか、入力を続けると、提案が自動的に消えます。

最後に

簡単ですが、CodeWhispererを試してみました。
以上です。
どなたかの参考になれば幸いです〜。

Last modified: 2023-04-16

Author