🍒

Amazon QはVSCodeの拡張機能から使うのが良さそう

2023/11/29に公開

Amazon QのVSCode拡張のはなし

Amazon Qが発表されましたね。ChatGPT的なやつ。
クラメソさんの記事を貼っておきます。
https://dev.classmethod.jp/articles/reinvent2023-updata-amazon-q/

個人的には、日本語にも対応してないしChatGPTで十分では?と思いました。

そう思ったのですが、、、
VSCodeを開いたらAmazon Qの拡張が来てる!!ので試してみました。

単独の拡張機能ではなくAWS Toolkitの中に入っています。
https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-toolkit-vscode

使用するにはAWS Builder IDでログインが必要です。通常のAWSアカウントとは別の開発者向けのIDで、CodeWhispererやCodeCatalystを使ったことがある人以外は持っていないかもしれません。その場合は新規作成しましょう。

使い勝手はCopilot Chatとあまり変わらない感じです。コードを選択して、解説やリファクタやバグ修正をしてくれます。普通にチャットすることもできます。

それでは、早速AWS CDKのコードをリファクタしてもらいました。
コードを選択して右クリックメニューで、それっぽいボタンを押します。

チャットで返してくれたコードを適用すると、

エラーじゃないですか。。。上手くいきませんでした!!
Copilot Chatで修正しようとしたら更に壊滅的に破壊されたので、他と比べて性能が悪いわけではないと擁護しておきます。

記事映えする内容にならなかったですが、しばらく使っていく方針にしたいと思います。というのも、、、

  • CodeWhispererはCopilotと競合するけど、Amazon Qは競合しない
  • Copilot Chatとも併用できる

つまり、あって邪魔にはならず、使えるAIの選択肢が増えるので導入するデメリットは無いです。たぶん。
しばらく使ってみて、いい感じorやっぱり微妙などがあれば追記したいと思います。

追記

VSCode拡張とは別の場所でもAmazon Qを使ってみました。

Amazon QとAWS Chatbotが連携できるらしいのでslackから使ってみた

Chatbotと連携できるということは、つまりslackと連携できるということです。

公式
https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-chatbot-q-conversations-teams-slack/

クラメソさんの記事
https://dev.classmethod.jp/articles/amazon-q-in-chatbot/

やり方は、クラメソさんの記事そのままなのでそちらを参照してください。

結果

考察?

slack経由で問い掛けると、回答は返ってくるのですが単純にドキュメントを貼り付けているだけのように見えます。クラメソさんも書いていますが、コンソールで問いかけた場合は、より具体的な回答を返してくれます。
slack経由では、何を聞いてもドキュメント貼り付けor理解できませんの二択でした。クラメソさんの記事にはResource Exploreへの言及がありましたが、設定しても挙動は変わりませんでした。
これだけだと正直微妙な機能に思えます。Amazon Q連携というよりAWSのドキュメントをソースにしたKendra連携ではないでしょうか。。。?
現時点ではニュースリリース以外の公式ドキュメントが見つけられなかったので、これだけの機能なのか設定が足りてないのか判断できませんでした。何かご存知の方がいれば教えてください。

やっぱりAmazon QはVSCodeの拡張機能から使うのが良さそうです。(タイトル回収)

追記の追記

SlackからAmazon Qをちゃんと使えました!!!

やり方はこちらのドキュメントに記載がありました。
https://docs.aws.amazon.com/chatbot/latest/adminguide/asking-questions.html

AWS ChatbotからAmazon Qへの権限が足りていませんでした。
設定が必要なのは2箇所です。

  1. AWS Chatbotに紐づけているIAMロール

  1. AWS Chatbotのチャネルガードレールポリシー

これら2箇所にAmazonQFullAccessを追加することで、SlackからもAmazon Qを使用できました。

Amazon QがCodeCatalystでも使えるらしい

issueを書くと、AmazonQがコードを修正してプルリクを出してくれるすごい機能です。別の記事にしました。
https://zenn.dev/ncdc/articles/ea97ff927d3f59

NCDCエンジニアブログ

Discussion