はじめに
CLIでAmazon Qを利用する際に、日本語が使用可能になりました。(2025/4)
それをきっかけとして、Amazon Qがどこまでできるのかを確認するために、AutoCompleteにあるtranslate機能を試しました。
Command Line: Autocomplete Translating natural language to bash
事前準備
Install the Amazon Q command line (WSL環境、zip利用)
%~ $ curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"
%~ $ unzip q.zip
%~ $ ./q/install.sh
%~ $ PATH=$PATH:~/.local/bin
version 確認(v1.9 As of 2025/04/29)
%~ $ q --version
q 1.9.0
Create Builder ID
認証はAWS Builderを利用するため、Builder IDを作成
https://profile.aws.amazon.com/
q login
%~ $ q login
? Select login method ›
❯ Use for Free with Builder ID
Use with Pro license
q translate
AWS CLI
q translate s3一覧を表示
defaultでExecute commandが選択されているので、Enter keyを押下すると、生成されたaws s3 lsコマンドが実行されます。AWS認証情報が設定済みの場合、bucket 一覧が表示されます。
少し複雑な指示
q translate 各s3の名前、bucketサイズを表示
%~ $ q translate 各s3の名前、bucketサイズを表示
Shell · aws s3 ls --summarize --human-readable | grep -v Total | awk '{print $3,$4}' | sort -n
sizeが出力されず、bucket名のみが出力される
q translate show name and total size of each s3 bucket
- 英語でやってみたが、今回はbucket名が出力されなかった
%~ $ q translate show name and total size of each s3 bucket
Shell · aws s3 ls | awk '{print $3}' | while read bucket; do aws s3 ls s3://$bucket --recursive --human-readable --summarize | awk '{print $3, $4}' | awk '{s+=$1} END {print bucket, s/1024/1024/1024 " GB"}'; done
言語と関係なく、CLIコマンドが正しく生成できない場合ある
Dockerコマンド
%~ $ q translate 停止中のcontainer名称を表示
Shell · docker ps --format "{{.Names}}"
%~ $ q translate 停止中のcontainer一覧を表示
Shell · docker ps -a
%~ $ q translate show stopped containers
Shell · docker ps -a | grep Exited
「停止中」の単語が理解されない
感想
- q translateを活用すれば、CLIやDockerコマンドを覚えなくても済むと考えましたが、言語と関わらず、理想的な形になるまではもう少し待つべき
- 一般的なChatbotと同様に、Prompt Engineeringも重要