ベースのプロンプトのGeminiによるレビュー
レビュー依頼文
まず、下記のプロンプトを作成してAntiGravityに渡す前にGemini(高速モード)にレビューしてもらった。
下記要件で、AntiGravityに簡単なスマホアプリを作成させようと思います。要件に不足があれば教えてください。```計算問題を作成して読み上げるAndroidアプリを開発するプロジェクトを手伝ってほしい。端末はスマホです。タブレットは対象にしません。言語とUIはKotlin + Composeでお願いします。・子供向けなので1桁の数字+1桁の数字の足し算の問題を作成して「にたすごは?」とか「いちたすさんは?」と日本語で読み上げるものです。指定した時間間隔ごとに1問ずつ出題します。・問題の組み合わせは10×10の100通りありますが、このうち0+0は除外してください。・UIには①出題時間間隔を設定するラジオボタンと②開始ボタンと③クリアボタンと④正解の表示欄 をつけてください。・出題時間間隔は5秒または10秒で設定できるようにしてください。規定値は5秒です。・開始ボタンを押したら出題を開始します。同時に開始ボタンを「一時停止」表示に変え、クリアボタンをデアクティブにしてください。・一時停止ボタンを押したら出題を止めてください。同時に一時停止ボタンを「再開」表示に変え、クリアボタンをアクティブにしてください。・再開ボタンを押したら出題を再開してください。同時に再開ボタンを「一時停止」ボタンに変え、クリアボタンをデアクティブにしてください。・正解の表示欄には「2 + 5 = 7」、「1 + 3 = 4」という形で一行ごとに表示してください。鍵括弧は不要です。長くなった時にスワイプでスクロールできるようにしてください。・クリアボタンは初期状態と一時停止中に使用することができます。押したら正解の表示欄をクリアしてください。ユーザーへの確認問い合わせは不要です。```
Geminiの回答
ご提示いただいた要件は、シンプルな計算問題アプリとしてはよくまとまっています。特にUIの挙動(ボタンの状態変化)や機能の範囲(1桁+1桁、0+0除外、時間間隔設定)について明確に定義されています。
しかし、このアプリを実際に「子供に使わせる」という観点や、開発を依頼する際の仕様の厳密さという観点から見ると、いくつか不足している、または明確化すべき要件があります。
🧐 必須で追加・明確化すべき要件
1. 💡 ユーザーの回答に関する要件の欠落
このアプリは「出題」と「正解の表示」のみが定義されており、ユーザーがどのように回答を入力し、アプリがそれをどう判定するかについての要件が完全に抜けています。
-
回答入力方法: ユーザーはどのように回答(例: 7)を入力しますか?
-
テンキー(
EditText)を設けて入力させるのか? -
回答候補のボタン(例: 0〜18)を設けるのか?
-
-
正誤判定: ユーザーが入力した回答に対して、アプリは正解・不正解をどのように判定し、ユーザーにフィードバックしますか?
-
「ピンポン!」や「ブー」といった音でのフィードバックが必要か?
-
正解の場合、新しい問題に移るまでの待機時間が必要か?
-
-
回答表示: 正解表示欄に、ユーザーが入力した回答(例: $\text{2 + 5 = **7**}$)と正誤の情報を表示する必要があるか?(例: $\text{2 + 5 = 7 (O)}$ や $\text{2 + 5 = 6 (X)}$ など)
2. 🔢 問題の出題順序に関する要件の欠落
問題が100通り中99通りあることは明確ですが、どの順序で出題するかが未定義です。
-
順序: ランダムに出題しますか? それとも、1+1, 1+2, ... 9+9 のように順番に出題し、一周したらまた繰り返しますか?
3. 🔊 読み上げに関する要件の明確化
「にたすごは?」や「いちたすさんは?」という例示はありますが、Text-to-Speech (TTS) の仕様について明確にしておくべきです。
-
声の仕様: 子供向けに女性または子供の声を選択できますか?(標準のTTS音声で十分か?)
-
読み上げの速度・音量: 調整機能は必要ですか?
📝 推奨される追加要件(利便性・品質向上)
4. 📈 統計情報の表示
子供のモチベーション維持や学習効果の測定のために重要です。
-
統計項目:
-
正解数 / 不正解数
-
正答率
-
挑戦回数
-
-
クリアボタンの挙動: クリアボタンを押した際に、この統計情報も同時にリセットするかどうか。
5. 📵 アプリのライフサイクルの考慮
アプリがバックグラウンドに移った場合や、着信があった場合の挙動を定義する必要があります。
-
バックグラウンド/着信: 出題を一時停止しますか?それとも継続しますか?(通常は一時停止すべきです)
6. 🖼️ UI/UXに関する要件
子供向けアプリとして見た目の魅力や使いやすさに関する要件を加えます。
-
デザイン: 子供向けにカラフルでわかりやすいUIデザインにしてください。
-
フィードバック: 正解/不正解時に、単なる音だけでなく簡単なアニメーション(例: 花丸、バツ印)を表示しますか?
まとめると、最も重要なのは「ユーザーがどうやって答えるか」という回答に関するフローと、「問題をランダムにするか順番にするか」という出題順序の明確化です。
🌟 次のステップ
上記の回答入力・判定に関する要件と、問題の出題順序に関する要件を明確にしていただけますか?
プロンプトの修正結果
下記のとおり修正した。考慮漏れの部分と名前のつけ忘れを追加した。
計算問題を作成して読み上げるAndroidアプリを開発するプロジェクトを手伝ってほしい。端末はスマホです。タブレットは対象にしません。言語とUIはKotlin + Composeでお願いします。あとあなたとのやりとりは日本語でしたいです。アプリケーションの名称はQuizMakerにします。com.yasumu.quizmaker で作ってください。・子供向けなので1桁の数字+1桁の数字の足し算の問題を作成して「にたすごは?」とか「いちたすさんは?」と日本語で読み上げるものです。指定した時間間隔ごとに1問ずつ出題します。・問題の出題方法はランダムです。同じ問題が連続で出題されてもかまいません。・音声読み上げは聞きやすい女性の声にしてください。・問題の組み合わせは10×10の100通りありますが、このうち0+0は除外してください。・UIには①出題時間間隔を設定するラジオボタンと②開始ボタンと③クリアボタンと④正解の表示欄 をつけてください。・出題時間間隔は5秒または10秒で設定できるようにしてください。規定値は5秒です。・開始ボタンを押したら出題を開始します。同時に開始ボタンを「一時停止」表示に変え、クリアボタンをデアクティブにしてください。・一時停止ボタンを押したら出題を止めてください。同時に一時停止ボタンを「再開」表示に変え、クリアボタンをアクティブにしてください。・再開ボタンを押したら出題を再開してください。同時に再開ボタンを「一時停止」ボタンに変え、クリアボタンをデアクティブにしてください。・正解の表示欄には「2 + 5 = 7」、「1 + 3 = 4」という形で一行ごとに表示してください。鍵括弧は不要です。長くなった時にスワイプでスクロールできるようにしてください。・クリアボタンは初期状態と一時停止中に使用することができます。押したら正解の表示欄をクリアしてください。ユーザーへの確認問い合わせは不要です。・子供に問題を出題はしますが、子供は入力せず声で回答するので入力の受付や、答え合わせは不要です。正解率の算出などの統計機能も不要です。・アプリがバックグラウンドに移った場合や、着信があった場合は一時停止の状態にしてください。スマホの回転などをしても履歴が飛ばないようにしてください。