[プレビュー] Amazon Q Developer と GitHub の統合機能「Amazon Q Developer for GitHub」を使ってみた
いわさです。
今朝アナウンスありましたが、GitHub に Amazon Q Developer を統合する機能がプレビューリリースされました。
イメージとしては GitHub Copilot Workspace + GitHub Copilot Code Review の Amazon Q Developer 版、あるいは GitLab Duo + Amazon Q Developer に近い感じでしょうか。
本日時点ではイシューを Amazon Q Developer に割り当てることでプルリクエストの自動作成(機能開発。/dev 相当)と、ユーザーが作成したプルリクエストの自動レビュー(/review 相当)、あとは本日試していないのですがコード変換(/transform
相当)が GitHub 上で使えます。
何と呼んだら良いのか初め迷ったのですが、本ブログでは以下の公式ドキュメントの表記「Amazon Q Developer for GitHub」でいきたいと思います。
Amazon Q Developer for GitHub の有効化
有効化の方法ですが、Amazon Q Developer の GitHub アプリをインストールするだけです。
以下の Amazon Q Developer for GitHub アプリにアクセスし、インストール操作を行います。
インストールプロセス中に組織を選択することができます。
GitHub 組織へのインストールももちろん可能ですが、組織のオーナーやリポジトリ管理者ではない場合、管理者に通知を送信してアプリインストールをリクエストする形になります。
今回は個人のほうへインストールをしてみました。
個別にリポジトリを選択することもできますし、すべてのリポジトリを選択することもできます。
また、この設定はのちほど GitHub アプリの設定からの変更が可能です。
インストール後はこんな感じですね。
「機能開発」を使ってみる
GitHub に Amazon Q Developer をインストール出来たので早速使ってみましょう。
私が普段お世話になっている「機能開発」を使ってみたいと思います。
これ何かというと、イシューを作成すると Amazon Q Developer がコードを生成してプルリクエストの作成まで行ってくれるというものです。
利用方法ですが、イシューのタイトルと説明欄が Q Developer への指示内容・コンテキストになるので、できるだけ詳しくイシューを記載します。
そして、Amazon Q Developer アプリをインストールしたリポジトリでは Amazon Q Developer に関するラベルが設定できるようになっていますので、イシューにこのラベルを設定してやる感じです。
イシュー作成後に Amazon Q Developer エージェントによって、コード生成しとるでというコメントが追加されていました。しばらく待ってみましょう。
5~6分後くらいに、コメントが更新されプルリクエストがレビューしてもらえるようになったよと教えてくれました。どれどれ。
プルリクエストの変更内容を確認してみます。
今回 Amplify Gen2 クイックスタートの Todo アプリをベースに機能開発を行いました。
Todo のコンテンツに情報を追加したかったのですが、次のように期待どおりデータスキーマに情報が追加されています。
ただ、ユーザーインターフェースへの入力項目も追加してほしかったのですが、それは実装されていませんでした。
プルリクエスト内でフィードバックしてみましょう。
すると、Q Developer がまたコード生成タイムに入りました。
また、しばらく待つとプルリクエストのコードが更新されていました。
これもちょっと期待していない変更だったので、指示の仕方が良くなかったのかもしれません。
ただ、イシュー内容に沿ったプルリクエストを作成、ユーザーによるレビューフィードバックに沿った再修正もしてくれる動きをしていました。すごい。
「レビュー」を使ってみる
先ほどは Amazon Q Developer がコードを作成しユーザーがレビューしていましたが、Amazon Q Developer がレビューもしてくれます。
デフォルトで有効になっていまして、ユーザーがプルリクエストを作成すると Amazon Q Developer エージェントがコードレビューしてくれます。
こちらも試してみましょう。次のようなプルリクエストを作成してみました。
作成後に Q Developer が自動でコードレビューをしてくれました。
少し待つとコードレビューの結果問題がなかったよと教えてくれました。
アクセスキーをハードコーディングしたコードでも「問題なし!ヨシ!」となっていたので、レビュー指摘を受けることが出来なかったのですが、ちょっとこのあたりはもう少しいろいろ試したり、気付いた点はフィードバックしたいと思います。
無料制限の解除
Amazon Q Developer エージェントはデフォルトは無料で利用ができますが、各機能は使用回数の制限があります。
AWS アカウントを連携することでこの使用制限を増やすことができるみたいです。
こちらは AWS マネジメントコンソールから行うことが出来ます。
Amazon Q Developer for GitHub のメニューが追加されているので、アプリケーションの登録を行います。
GitHub アカウントでの認可操作を行って登録します。
なお、ここで機能の有効・無効を切り替えることができるみたいで、本日時点ではコードレビューについては無効化が可能でした。(デフォルトは有効)
ただ、これどのように使用制限が解除されるのかとか、料金周りが全然情報が見当たらなかったです。
既存の Amazon Q Developer Pro アカウントと紐づけしているようでもないみたいですし。プレビュー期間ということもありいずれ情報が出てくるのだろうか。
使用制限関係の公式ドキュメントはこちらです。
さいごに
本日は Amazon Q Developer と GitHub の統合機能「Amazon Q Developer for GitHub」を使ってみました。
イシュー作っただけでプルリクエスト勝手に作ってくれるのはかはなり良いですね。
IDE とかの機能開発と違ってエージェントとのやり取りの履歴が残せたり、結果を待たなくていいですね。GitHub のメールを受信したタイミングで確認しに行けば良い感じです。
日本語のイシューも認識してくれていたっぽいので、Q Developer のコード生成精度次第ではすぐにでも使えそうだなと思いました。