Amazon Q DeveloperがGAになりました

2024.05.07

NTT東日本の中村です。

昨年からプレビューで公開されていたAmazon QのDeveloper機能がGAとなりましたので、挙動を確認してみました。

Amazon Qとは

AWSの生成AIの機能です。 ビジネスアプリケーションに組み込むこともできますし、マネジメントコンソール内でのプロンプトによるユーザの支援や、Amazon Connectのコンタクトセンター機能や、Amazon QuickSightのデータ可視化の支援などの機能が用意されており、AWSサービスの基盤に用意されているサービスと言えます。

Amazon Q Developerとは

主にサービスを開発者するために用意されたAmazon Qのプランです。一般の利用者が触れることのない、マネジメントコンソール上でのアクセスや、IDEの拡張機能を通して、Amazon Qの機能にアクセスすることができます。

無料のコード支援機能が発表されています

Amazon Q Developerには、IDEと連携し、コード支援を行う機能が用意されています。 従来は「Amazon CodeWhispererサービスの追加機能」という形で提供されていましたが、CodeWhispererの名前がAmazon Q Developerに変更されました。

また、2つの機能について、無料で使用できることがアナウンスされています。

  • ソフトウェア開発機能(コード補完や提案、生成。機能開発と呼ばれていたもの)
  • コード変換機能(プレビュー版でも用意されていた、Javaの言語バージョン更新機能)

これらの機能は、元々は月額19USDの費用が発生する、CodeWhispere Professional Tierプランで利用出来る機能として用意されていましたが、その制限が無くなりました。

これはAmazon Q Developer Agentとして紹介されており、拡張機能により利用できます。
VSCodeでも、拡張機能を確認できました。

その他FAQ等は、こちらのリンクが参考になります。

ソフトウェア開発機能を試してみた

ソフトウェア開発機能とは、提示したプロンプトを元に、AmazonQが現在開いているプロジェクト内のソース群を、生成したコードにより置き換えてくれる機能です。 コードだけ生成したり、1ファイルだけの変更ではなく、複数ファイルの連携を考えながら修正候補を提示します。

ちなみに、これをIssueベースで利用できるようにしているのが、Amazon QのCodeCatalystとの統合機能で、Issueを読み取ってPull-Requestまで出す、というものでした。

以前、CodeCatalyst経由ではありますが、プレビュー版のAmazonQのソフトウェア開発機能は、以前調査を行いました。一般的なReactのアプリケーションに対して、15通りのプロンプトを用意して、コード生成のクオリティをチェックしていました。

正式版の挙動が気になり、動作をチェックしてみます。

従来通り、AmazonQの拡張機能から、「/dev」と入力することで、ソフトウェア開発機能にアクセスします。 Gyazo

プレビュー版の調査で使用したプロンプトを投げてみます。 内容は、Create-Rect-Appの最初の状態のものに、天気コンポーネントを設置し、表示まで行ってほしい、というものでした。

一部省略しますが、Amazon Qからの設計方針の提案があり、必要であればプロンプトで再修正を依頼します。

Gyazo

問題ないようであれば、generate codeを押します。

ツリー表記で、コード修正の提案が表示されます。 この画面はRe:Inventでは発表されていたものの、ようやく一般ユーザが触れるようになり、ついに来たなぁ・・・という感じです。

App.tsxです。

Weather.tsxを生成してくれました。

package.jsonの生成が無いようなので、再度生成を依頼します。
プレビュー版ではCodeCatalystでしかソフトウェア開発機能が使えず、再生成も1度だけだったので、何度も生成できるのは実用的でありがたいですね。

package.jsonです。書式エラー(不要なclosing tag)が出ていますが、後ほど直す事にします。ちなみにこれはプレビュー版でも発生していました。
立ち位置がコード支援であり、 最後の一押しは開発者が・・・というコンセプトなので、現状は許容範囲かな、という認識です。

Gyazo

提案コードを受け入れると、gitのChangesに表示されます。 IDEでは、開発者がここから修正を加え、Pull-Requestを行う、という流れになります。

openWeatherMapのAPIキーを設定すると、東京の天気も表示されました。いい感じです!

まとめ

Amazon QのDeveloper機能がGAとなり、一部のコード支援機能が無料で利用できることが発表されました。
IDE経由では、コードの補完や、コード群を提案・修正するソフトウェア開発機能が利用でき、開発者の後押しに繋がる素晴らしい機能だと思います。