はじめに
2025年4月より、ついにAmazon Q Developerが日本語へ対応しました。
https://aws.amazon.com/jp/blogs/news/amazon-q-developer-global-capabilities/
また、AWSより「Amazon Q CLI でゲームを作ろう」キャンペーンが開催されたため、チャレンジしてみることにしました。
Amazon Q Developerとは、AWSが提供する生成AIを活用した開発者向けのAIアシスタントツールです。
自然言語で利用できるため、例えば日本語で「テトリスゲーム作って」と入力すると、コードを生成して必要なファイルを作成し、ゲームが遊べる状態を提供してくれます。
試してみる
まずはAmazon Q Developerを試してみます。
q chat
上記のコマンドを入力すると、開始できます。
ファミコン感があって良いですね。
データセンター業務のゲームをつくる
さて、ゲームを作ってみましょう。
せっかくなので、データセンターを体験できる楽しいゲームを作ってみようと思います。
以下のように日本語でAmazon Q Developerに指示を与えます。
pygameを利用してゲームを作成します。データセンターでサーバーを監視するゲームを作ってください。ファイルは全てローカルに保存してください。構成ファイルはひとつのフォルダの中にまとめてください。データセンターには様々なサーバ、ネットワーク機器、ストレージなどが設置されており、一定の数ごとに部屋で区切られています。部屋の通過には権限のついたカードが必要です。各種機器は正常動作は緑ランプが点灯していますが、異常時は赤色点滅になります。システム運用管理者が楽しいと思えるゲームを作ってください。
細かい要件、部屋の数や、権限の種類、プレイ内容は伝えていません。
このように、ディレクトリの作成から開始してくれます。
変更前には "Allow this action? Use 't' to trust..."というように、確認があります。安心安全ですね。
このようにソースコードを書いてくれます。
ゲームの名称、色の種類、フォント、対象機器など、指示内容をベースに考えてくれています。
細かい指定がない場合にもベースを作ってくれるので便利ですね。
ゲームの完成
ゲームが完成しました!
このように説明書を表示してくれます。わかりやすいです。
起動すると文字化けしていました...。
文字化けを治すように、自然言語で指示します。
今度は正しく表示されました!
早速データセンター業務を開始してみます。
6つの部屋があり、色が変わった機器に駆けつけ、修理を行います。
お仕事のようでリアルですね。
上部には、制限時間とスコアなどが表示されています。
このあたりもAmazon Q Developerが自動的に設定してくれたようです。
バージョンアップ
ゲーム性がシンプルなので、要素を追加してみます。
また、デザインがあまりに簡素なので、改良してみましょう。
機能の追加
機能追加をしてゲームをリアルで面白くしましょう。機器が長い時間修理されないと他の色に変わるようにして判別できるようにします。その状態になるとプレイヤーは怒ったユーザーに追われ、接触すると謝罪を行います。その間は動きがスローになります。機器を修理すると相手は戻ります。
デザインの改良
ゲームのデザインをモダンでパステルカラーのいい感じにしてください。また、データセンターのデザインをもっとリアルにしてください。サーバ、ネットワーク機器などそれぞれのアイコンにしてください。主人公は人間のゲーム的なデザインにしてください。床もデータセンターのようにして、部屋の出入り口はカードをかざすタッチセンサーをおいてください。ところどころに監視カメラを置いてください。
色々なファイルを修正してくれています。
さて、改良版が完成しました!
待ち時間はおよそ5分です。
かなりデザインが良くなっていますね!
若干表示が重なったり変なオブジェクトがありますが、概ね大丈夫そうです。
データセンターの感じもよく出ていて、楽しくプレイできそうです。
また、機器の修復が遅くなると、怒ったユーザーが現れます。
接触するとSorry!と謝罪を行なっています。
最後はリザルト画面がでます。
ソースコードは、指示通りひとつのディレクトリにまとめてありました。
READMEまで作成してくれています。
まとめ
さて、今回はAmazon Q Developerのみでデータセンターのゲームを作ってみました。
大きく指示を与えたのは2回、細かい指示を追加で何度か出していますが、すべて日本語です。
ソースコードは一切修正しておらず、すべてAmazon Q Developerが修正しています。
ゲームの作成自体はおよそ10分で完成しました。
完成度としては80点くらいですが、人間によるコーディングゼロでここまで完成できるのは驚きです。
ポイントとしては要件を正しくプロンプトでまとめて伝えることだと思います。そして作成されたプロトタイプをもとに、改良のプロンプトで対話を重ね、より完成度を高めていくプロセスになります。
人間同士の仕事のコミュニケーションのようですね。
また、まずはAmazon Q Developerでソースコードを作成し、最後にコーディングを人が行ったり、細かい部分を修正してもいいかもしれません。
モックアップや、MVPを作る際にはAmazon Q Developerを活用することで、かなり効果があるのではないでしょうか。
今後のアップデートや他サービスとの組み合わせ、ナレッジの増加などにより、実際にビジネスで活用できるシーンは広まるのではと思います。
そんな可能性を感じさせてくれる体験でした。