【AWS】GitHubとAmazonQDeveloperが統合されたから試してみた【AmazonQ】

## はじめに
GitHub での Amazon Q Developer 統合 (プレビュー) が利用可能になりました。この記事ではどんなことができるのか、個人のGitHubで試した結果を紹介します。

https://aws.amazon.com/jp/about-aws/whats-new/2025/05/amazon-q-developer-integration-github-preview-available/


# GitHubでAmazon Q Developerを動くようにする
## GitHubマーケットプレイスからアプリをインストールしてリポジトリを選択する
 GitHubマーケットプレイスからアプリをインストールします。
 URLはこちら
 
https://github.com/apps/amazon-q-developer

 GitHubの「Settings」の画面の左メニューから「Applications」を選択し、画面にAmazon Q Developerが表示されていれば準備はOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/68d121f5-ae27-4dea-b677-f261e4194660.png)

Amazon Q Developerを動かすリポジトリを変更したい場合はConfigureから設定を変更する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/85ffc667-b7c9-4ee2-b051-784185a70a66.png)


# Amazon Q Developerでできること
## 機能開発(issueをAmazonQ Developerさんに解決)してもらう
ヘッダメニューの「Issues」からissueを登録するが、その際に「Amazon Q development agent」のラベルを追加するとAmazon Q Developerに対応してもらうissueになる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/8c19ca43-a63a-47c6-95e9-fd4f9e4c9994.png)

(さすがに無理だろうと内心思いながら)APIGatewayとLambdaを利用したAPIをつくってくださいとお願いしてみた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/91474b05-c866-4ab1-bf30-d73fd0ae05a0.png)

Amazon Q Developerが動作中のログには終わったらプルリクエスト出すねと書いてある

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/84e66789-717b-45c9-b419-20bfeef2f8fe.png)

5分ほどで完了を知らせるコメントになった
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/174a0917-3776-45ff-8220-ba8d81235d08.png)

プルリクエストの中身を見てみると、ちゃんとPythonとCloudFormationテンプレート、ついでにReadmeファイルも作ってくれた
Lambdaのコードも見てみましたが、エラー処理もされていて見事なものでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/d4d88b9a-0270-45ad-ab62-6386dd2ade55.png)

ログを見てみると、何やら自分でレビューとかをしてくれているらしい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/ee0f8c7c-330c-4ef2-a92b-d99906a6f6c7.png)

正直、このままマージしてもよいが、コメントで注文を出してみる
今回はCloudFormationテンプレートのタイムアウト値とメモリサイズに注文を出してみました(あいまいな指示だけど大丈夫かな？)
レビューコメントを記載したら「start a review」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/dbb623c3-72d5-4712-a207-dabe1fd03a68.png)
コメントを記載したらレビュー終了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/ec3eac40-1092-4c2e-a74c-4bc4fc2c14d8.png)

Amazon Qさんが再び考え始めてくれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/920feca1-f335-4775-9bf5-e903f8a8139e.png)

今度は3分ほどで完了(指示の難易度によってシンキングタイムは変わるらしい)、セルフレビューもしっかりしてくれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/37fb169b-0fcd-40fb-b0e6-39c6257056e3.png)

しっかり修正されている。
Lambdaのメモリサイズの最小値が128なので、誤った指示は無視してくれるらしい(賢すぎる！)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/017b3108-eeb0-4f19-960c-166fb76031c5.png)


## その他にできること
### コードのバージョン変換もしてくれるらしい
今回のお試しでは扱わないが、issueラベルで「Amazon Q transform agent」というものがある
Java 8 または Java 11 から Java 17 にアップデートするようなこともしてくれるらしい。
こちらも今度いろいろ試してみたい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/8c19ca43-a63a-47c6-95e9-fd4f9e4c9994.png)


## さいごに感想
すごすぎ。AmazonQさん賢すぎ。革命的。間違った指示を無視してくれるのは神すぎ。
無料で使えるのありがたすぎ。AmazonQDeveloperさんは開発者の相棒。