Amazon Q CLIでAWSサービスのソリティアを作成した話


はじめまして。
tommyと申します。

普段はAWSを利用した業務に携わっています。
昔、アメブロやデコログを仲間内でちょこちょこ書いていたことはありますが、技術系の記事を書くのは初めてなので、温かな目で見守っていただければと思います。

さて、そんなこんなで、6/9(月)にオフラインで行われた「JAWS-UG横浜 #85 Build Games with Amazon Q CLI」に参加してきました。

内容は端的に言うと、Q CLIを用いてゲームを作成するというものでした。
以下キャンペーンに基づいたものとなります。

https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt

https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/

## 前提
Windowsを利用しているので、WSL上にQ CLIをインストールしました。
また、昨今のAIツールがひしめく中で、Amazon Qはチャット機能やコードレビュー等でたまに使う程度なので、無料枠を利用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/c483cb57-ad4e-423c-b3d6-ac8187712906.png)

https://community.aws/content/2v5PptEEYT2y0lRmZbFQtECA66M/the-essential-guide-to-installing-amazon-q-developer-cli-on-windows

## さっそくやってみた
何を作ろうかと考えましたが、あまり浮かばなかったことと、まずはお試しということで、懐かしきマインスリーパーを作成してみました。

##### ①プロンプトを入力します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/1c5cbb51-eee3-446b-9a40-ec8ec2dffde3.png)

##### ②コードが作成され、許可してよいかの問いがあるので、問題なければ「y」と入力し許可する
※「t」と入力すると以降も全て許可することが可能

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/1ae8a1fc-968e-4a66-9f80-686f57822642.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/c5546783-bd25-499a-8b40-ca5483974ee1.png)

##### ③完成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/fc6a60b5-f53d-4968-9439-e0d42ec79b10.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/aba09aae-8b3b-4d2f-afa2-3e6451c09158.png)

簡単ですね。

##### ④遊んでみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/705f307d-575f-4462-8083-05f6b498e813.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/be2553c0-f762-4eba-8f8e-5b74fd7e13bd.png)

ちょっとしたプロンプトにも関わらず、いい感じの仕上がりですね。
難易度変更も可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/87a5552a-6d91-4a99-ac1d-ea5deff11074.png)


## 別のゲーム作成
途中途中で、イベント参加者の方がこんなもの作成しましたという形で報告をしてくれました。
みなさんAWSに絡めた内容だったので、次のゲームを作成してみました。
（プロンプトの日本語が少しおかしいですね）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/ac9e0c48-4758-49ef-92a7-9d30680663bc.png)

（日本語が少しおかしいことの他に）ここであることに気づきます。
ソリティアでは、トランプを使ったゲームなので、ダイヤ・ハート・スペード・クローバーというジャンル分けがされています。
その指示してないや。と思ったのですが、どうなることやらということで、一旦作成まで待ってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/ea18e96c-5ff1-4355-9a65-76858ed01834.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/204bc59b-67db-48e8-a3ee-837aaf4e00d1.png)

完成しました。

危惧していたジャンル分けも、遊び方で説明されているようですね。

遊んでみます。
さて、どうでしょうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/bfbc851a-681b-4cd5-9975-53bd32f1b859.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4109046/861c0433-692d-4ece-98cd-ec1a6d3e7f85.png)


おぉ、思ったよりいいものができてますね。
少し触ってみましたが、ゲームとしては成立しています。

ただ、以下が気になりました。
・アイコンの大きさがバラバラ
・アイコンとAWSサービス名が一致していない（ジャンル別の代表サービスになってる）
・伏せカードが見づらい
等々...


とはいえ、1発目の出来としては、なかなか良いのではないでしょうか。


この後に数回、アイコンサイズの統一や、公式のアイコン資料を読ませて修正してもらうように指示したのですが、なかなか意図したものにならなかったので、断念しました。

ただ、プロンプトの工夫や、あと何回かラリーすれば改善の余地はかなりあるのではと思います。


## まとめ
Amazon Q CLIで、簡単にゲーム作成できました。
Amazon Qは最近あまり使ってませんでしたが、日本語対応したりMCPのサポート等、随時アップデートもされているので、他のAIツールと取捨選択しつつ利用していければと思いました。

ちなみに、Tシャツキャンペーンはアジア圏が対象となっていますが、6/9時点で日本は2位のSubmit数のようです。

期間としては6/20までと、残りわずかですが、もしみなさんの周りの方でまだやってないよ。という方がいらしたら、ご紹介してみてください。