Visual Studio IDE で Amazon Q Developerを活用する - サーバーワークスエンジニアブログ

Visual Studio IDE で Amazon Q Developerを活用する

記事タイトルとURLをコピーする

はじめに

Visual Studio IDE内での Amazon Q Developerの一般提供が2024年7月に開始されましたので試してみました。

aws.amazon.com

Visual Studio IDEの開発者でAmazon Q Developerの活用検討されている方、Visual Studio IDEでの開発効率の向上を検討されている方、 Visual Studioは使ってないけどAmazon Q Developerに興味ある方など、ご参考になれば幸いです。

Amazon Q Developerとは

AWSの生成AIであるAmazon Qを利用した、ソフトウェア開発のためのAIコーディングアシスタントです。
今回ご紹介するVisual Studio IDE以外にも、JetBrains、Visual Studio Code、コマンドライン、AWS マネジメントコンソール上でも利用可能です。

aws.amazon.com

弊社ブログにAmazon QおよびAmazon Q Developerについての概要がございます。
また、Visual Studio CodeでのAmazon Q Developer活用記事もございますので、あわせてご確認いただければと思います。

blog.serverworks.co.jp

blog.serverworks.co.jp

チャットの回数などに制限はありますが、無償で利用開始することができます。
ただし後述の注意点の通り、組織での利用については、サービス規約をご確認の上ご検討ください。 組織での活用にフォーカスしたAmazon Q Developer Proというサービスもあります。こちらは2024年7月時点で19USD/月となっております。

aws.amazon.com

利用準備

ではインストールしていきましょう。
まずは、Visual Studio IDEにて、[拡張機能]→[拡張機能の管理]からAWS Toolkit with Amazon Qを検索し、インストールします。

Amazon Qを利用できるようにします。
[拡張機能]→[AWS Toolkit]→[Getting Started]からAmazon Qを選択、[Sign up or Sign in]をクリックします。

クリック後、AWS IAM Identity Center または AWS Builder IDにて認証を行います。
こちらのAWS公式ドキュメントを参考にしてください。

認証が完了しました。

ここまで、AWS Builder IDの新規作成から始めても、15分もあれば完了します。

利用方法

さっそく使ってみましょう。
一般的な生成AIの使い方であるチャットインターフェースは、[表示]→[Amazon Q Chat]から表示できます。

Amazon QはAWSの知識を持っており、ソースコード以外の一般的な質問にも答えてくれます。
AWSについての質問をしてみました。問題なく回答してくれます。


ここから本題です。コード開発のアシスタントをしてもらいましょう。
今回はDBにレコードを追加するだけの簡単なコードのアシスタントをしてもらいました。

コードを選択し、右クリックメニューの[Amazon Q]にて機能を呼び出すことができます。

各機能の簡単な説明です。

  • Explain 選択したコードの説明をしてくれます。複雑なコードの理解が必要な場合や、作成したコードが意図通り作成できているかを確認する目的で活用できそうです。
  • Refactor コードの再構築を提案してくれます。
  • Fix コードの修正を提案してくれます。意図通りに動かない、原因不明のexceptionが発生するなどあれば、まず聞いてみるという使い方ができそうです。
  • Optimize コードの最適化を提案してくれます。
  • Send To Prompt 選択したコードをAmazon Qに渡します。上記以外の相談があれば、こちらを使ってコードをチャットに渡します。

ためしに、RefactorとOptimizeを依頼してみました。

まずはRefactorです。
Refactorではトランザクションの単一化や、目的別にメソッドやクラスに分けること、ORMツールの利用などを提案されました。

次はOptimizeです。
Refactorと同じコードのOptimizeを依頼したところ、ラウンドトリップの低減方法、非同期メソッドを使って並列実行を行うことなどを提案されました。
また、コードだけではなくデータベースのインデックスの最適化についても言及がありました。

Optimizeは処理速度重視、Refactorは可読性重視でコード提案するものと考えて問題なさそうです。

今回は簡単なサンプルコードを使ったので、実行結果がコード改善の提案程度したが、もっと長く複雑な処理を読み込ませると、コードの処理内容からコーディング意図を読み取ってくれたうえで、改善コードを提案してくれます。

注意点

AWSのサービス条件、50.13に以下の記載があります。

aws.amazon.com

Amazon Qによって処理されたAIコンテンツ(「Amazon Qコンテンツ」)を以下に記載するサービス改善のために使用する場合があります。現在、本第50.13条はAmazon Q Developer Free Tierにのみ適用されますが、サービス開始に伴い、当社は随時Amazon Qの機能を追加する場合があります。本第50.13条は、Amazon Q BusinessまたはAmazon Q Developer Proには適用されません。

(注)サービス条件は英語版と日本語翻訳版の間に差異がある場合、英語版が優先されます。ご利用を検討する際は英語版もあわせてご確認ください。

無料枠では処理したAIコンテンツはサービス改善のために利用するとのことですので、組織の機密コードなどを扱う場合はAmazon Q Developer Proのご利用を検討ください。

さいごに

今回、Visual Studio IDE内での Amazon Q Developerの利用方法をご紹介しました。

生成AIの登場に伴い、ソフトウェア開発方法がさらに進化しました。
こういったサービスは、Visual Studio IDEだけでもGitHub CopilotやIntelliCodeなど、新たなものがどんどん登場しています。
開発効率が劇的に向上するサービスだと思いますので、利用可能な範囲でまずは試してみてはいかがでしょうか。

最後までお読みいただきありがとうございました。