この記事は、ニフティグループ Advent Calendar 2023 15日目の記事です。
はじめに
こんにちは SREチームの @rubihikoです。
CodeWhispererですが、最近コマンドラインツールにも対応したので試してみたいと思います。
CodeWhispererは2つのTierで提供されており、今回は個人利用の方法について試します。
詳しい料金体系はこちらを確認してください。
https://aws.amazon.com/jp/codewhisperer/pricing/
Amazon CodeWhispererについて
https://aws.amazon.com/jp/codewhisperer/
IDE とコマンドラインのための AI 搭載生産性向上ツール
Amazon CodeWhisperer は、コメントと既存のコードに基づいて、スニペットから完全な関数まで、さまざまなコードの提案を IDE 上でリアルタイムで生成します。また、コマンドラインでの CLI 補完や自然言語から bash への翻訳もサポートしています。
CLIのセットアップ
- https://docs.aws.amazon.com/codewhisperer/latest/userguide/command-line.html
インストール
こちらからダウンロードしてインストールします
- https://docs.aws.amazon.com/codewhisperer/latest/userguide/command-line-getting-started-installing.html
認証情報の設定
個人で利用する場合は、Builder IDで認証を行います
※Builder IDの取得はこちらから
- https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html
あとは指示にした以外インストールを完了させます。
以下の項目を有効にしてください。
- shell integrations
- Enable accessibility
サポートされているコマンドライン環境
現時点では以下が対応しています
- Operating systems: macOS
- Shells: bash, zsh, fish
- Terminal emulators: iTerm2, macOS terminal, Hyper, Alacritty, Kitty, wezTerm
- IDEs: VS Code terminal, Jetbrains terminals (except Fleet)
- CLIs: 500+ of the most popular CLIs such as git, aws, docker, npm, yarn
補完機能
AWS CLIはもちろんですが、gitやdockerなどのコマンドにも対応しています
自然言語からコマンドを生成
以下のコマンドで自然言語からコマンドを生成することができます
cw ai
cw ai prompt
# promt
#
で呼び出さないよう無効にすることもできます
ファイルをs3にコピーする
1 2 |
aws s3 cp $FILENAME s3://$BUCKET_NAME/$FILENAME |
起動中のEC2インスタンスの一覧を取得する
1 2 |
aws ec2 describe-instances --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,State:State.Name,PublicIP:PublicIpAddress,PrivateIP:PrivateIpAddress}' --output table |
問題なければそのまま実行できますし、修正も可能です。
危険なコマンドの場合は警告が出ます
感想
いかがでしょうか。 今回はCLIにフォーカスして試してみましたが、自然言語からコマンドを生成できるのはかなり便利に感じます。 よく使うものであれば、そのまま alias に登録してしまうのも良いかもしれません。 また、個人で利用する分には無料なもの嬉しいポイントです。