Developer Productivity室の @uncle__ko です。

AWS re:Invent 2023にてAmazon Qが発表されました。かなり多くのサービスや機能があったので軽くまとめてみました。

What is Amazon Q?

Amazon QはAmazon Bedrock上に構築されているフルマネージド型の生成 AI を活用したエンタープライズ チャット アシスタントです。Amazon Kendra や、Amazon S3、Microsoft SharePoint、Salesforce などのその他のサポートされているデータソースと統合されてます。また、Amazon Q は Amazon Bedrock 上に構築されているため、ユーザーは Amazon Bedrock に実装された制御を最大限に活用して、安全性、セキュリティ、AIの責任ある使用を強化できます。

種類

  • Amazon Q in the console
    • AWSコンソールの中でQが使える
    • Troubleshoot console errors with Amazon Q
    • Chat with AWS Support
  • Amazon Q in IDEs
    • Amazon Q は Visual Studio Code or Intellijの IDE において、AWS Toolkit の一部として利用可能
    • AWSに関する質問・コードに関する一般的な質問・特定コードの説明やバグ修正やリファクタリング・ワークスペース全体の情報を元にした実装計画の生成・コード言語バージョンの更新など、ソフトウェア開発プロセスを支援
    • 利用可能な機能は、認証方法と Amazon CodeWhisperer のライセンスによって異なる
  • Amazon Q (For Business Use)
  • Amazon Q in AWS Chatbot
  • Amazon Q in Amazon CodeCatalyst
    • 課題を割り当てることができる生成的なAIアシスタント。Amazon Qに課題が割り当てられると、そのタイトルと説明に基づいて課題を分析し、指定されたリポジトリ内のコードをレビューする。アプローチを作成することができれば、プルリクエストでユーザーが評価できるようなドラフトソリューションを作成
    • 詳細 : Tutorial: Using CodeCatalyst GenAI features to speed up your development work - Amazon CodeCatalyst
  • Amazon Q in Amazon Connect
    • Amazon Q in Connectは生成AIを活用したオペレーターのAIアシスタント機能
    • 「コンテンツの検索」で通話前・通話中・通話後に限らず、設定したデータソースからAmazon Q(生成AI)を利用して自然言語で検索・回答を得ることが可能
    • 「リアルタイムの推奨事項」で通話中・チャット中の会話をリアルタイムで文字起こしして、その内容をAmazon Q(生成AI)で自動検索して回答を得ることが可能
  • Amazon Q in Amazon QuickSight
    • BI支援ツールのようなイメージ
      • Bizの人がほしいデータをNLでグラフ化出来る
    • NL to Business Graph
    • 詳細 : Amazon QuickSight Q
  • Amazon Q in Reachability Analyzer
    • Amazon Qにネットワーク接続の問題の解決を依頼すると、Amazon VPC Reachability Analyzerと連携して接続をチェックし、ネットワーク構成を検査し、潜在的な問題を特定、その後、Amazon Qは問題の解決方法やさらなる診断方法についてガイダンスを提供。Amazon QとReachability Analyzerの会話機能を一緒に使用することで、ネットワーク接続の問題を素早く修正する直感的な方法が生まれる
    • 詳細 : Amazon Q network troubleshooting - Amazon Virtual Private Cloud

料金

Amazon Q Business(1ユーザー×1ヶ月あたり20ドル)と Amazon Q Builder(1ユーザー×1ヶ月あたり25ドル)の2種類あります。

Amazon Q Businessは一般のビジネスパーソン向け、Amazon Q Builderは一般のビジネスパーソンに加えて開発者やITプロフェッショナル向けのようです。

Security

Amazon Qのセキュリティについては下記をご覧ください

Security in Amazon Q - Amazon Q
Configure Amazon Q to meet your security and compliance objectives, and learn how to use other AWS services that help you to secure your Amazon Q resources.

Monitoring

CloudTrailによる、Amazon Qの利用状況を監視。CloudTrailのログ監視内容の詳細は下記

Logging Amazon Q API calls using AWS CloudTrail - Amazon Q
Learn about logging Amazon Q with AWS CloudTrail.

Supported Regions for Amazon Q

Asia Pacific (Tokyo)もサポートされてます。

詳細は下記をご覧ください。

Supported Regions for Amazon Q - Amazon Q
Learn about the supported Regions for Amazon Q.

個人的に気になる機能

  • geature-dev
    • 現在のプロジェクトのコンテキストを使用して、どのようなコード変更を行う必要があるかを含む詳細な実装計画を生成する機能。コンテキストにはワークスペース全体の情報を利用するため実装に沿った実装計画を生成可能
Amazon Q feature development - Amazon Q
Develop code features with Amazon Q​
  • Code Transformation
    • ファイルのコード言語バージョンを更新できる機能。例えば、Java 8 および Java 11 コードを Java 17 コードにアップグレードなど。
Amazon Q Code Transformation - Amazon Q
Transform code with Amazon Q​

軽く触ってみる

Amazon Q in the consoleで簡単な質問をしてみました

このような感じで問題なく答えてくれます。

しかしChatGPTとChatする気分で下記のように聞くと...

ちょっと悲しい気持ちになりました。

基本的にはDocumentなどに書かれている内容であれば適切に答えてくれるのだと思います。

また、Amazon Q in IDEsを使ってコードの解説をお願いしてみました。下記がAmazon Qの回答です。

同じプログラムをGitHub Copilotにも解説してもらいました。

GitHub Copilotのほうがステップごとに解説されていて可読性は高いように見えます。Amazon Qはとてもシンプルな回答ですね。

さいごに

AWSのコンソールのあらゆる箇所にAmazon Qが出てくる未来が見えるくらい沢山の機能がありました。

ネットワークのトラブルシューティングなどは、うまく使いこなすことで生産性がとてもあがりそうな気がしますし、AWSを使って開発しているエンジニアは、Amazon Qをうまく活用すれば生産性が上がりそうですね。

ぜひAmazon Qを活用してみてください。