マガジン

「まず質問して」と頼むと、良い質問が来るか

遊びをつくる

執筆にClaudeを使用しています。

一枚の紙の四つの欄に、画面、操作、目的、終わり方を絵で整理する机。
記事のテーマをもとに制作したAI生成の写真風イメージ。

ブラウザゲームをAIに作らせるとき、「落ちものパズルを作って」とだけ頼む場面を考えてみます。AIは何も聞かずに、盤の大きさも、操作方法も、終わり方も自分で決めて、動くものを返してきます。決められた部分が好みと合っていれば当たりですが、合っていなければ修正の往復が始まります。 そこで一行を足します。「まず質問して」です。確認してから作ってくれるなら、手戻りは減りそうです。ただ、返ってくる質問が「どんなゲームにしたいですか?」のような漠然としたものだったり、読めば分かることを聞くものだったりすると、手間が増えるだけです。この記事で確かめるのは、この一行が「良い質問」を引き出すのか、それとも「質問の形をした儀式」を増やすだけなのかです。 結果は書きません。以下は、自分の環境と自分の依頼文で答えを出すための実験の設計書です。

この記事の目次
  1. 「良い質問」を先に定義しておく
  2. 三つの条件を並べる
  3. 準備と手順
  4. 何を・どの単位で記録するか
  5. 結果の読み方
  6. 起こりやすい誤り
  7. 次の行動

「良い質問」を先に定義しておく

実験で最も崩れやすいのは、質問の良し悪しを後から気分で判定することです。先に基準を決めます。ここでは、ゲーム制作の質問を次の5種類に分けます。

  • 分岐、定義:答えによって、出来上がる仕様が実際に変わる、判定の問い:答えが逆だったら、仕様書の一文が書き換わるか
  • 既定で足りる、定義:聞かなくても無難な標準が決められる、判定の問い:「どちらでもいい」と答えられても困らないか
  • 制約違反、定義:投稿先やブラウザでは実現できない前提を含む、判定の問い:作る場所の条件に反していないか
  • 答えられない、定義:依頼者が判断材料を持たない専門的な問い、判定の問い:初心者の依頼者が即答できるか
  • 重複、定義:すでに依頼文で述べた内容を聞き直している、判定の問い:依頼文に答えが書いてあるか

「分岐」だけが良い質問です。たとえば「ブロックは何個の形を使いますか」は、答えで操作感も難度も変わるので分岐に入り得ます。一方「色は使いますか」は、ほとんどの場合「既定で足りる」に入ります。同じ質問でも依頼文によってラベルが変わるので、判定は質問単体ではなく、依頼文とセットで行います。

アソバースに投稿することを想定するなら、制約違反の基準も具体的にできます。公開仕様では、入口は直下のindex.htmlで、素材は相対パスで読み込み、サーバー用コードやサービスワーカーは対象外です。たとえば「データベースにランキングを保存しますか」という質問は、この前提では実現できない方向へ話を広げるので、制約違反に数えます。ゲーム内スコアの共通ランキングは、現在のアソバースでは提供されていません。

三つの条件を並べる

比較するのは、指示の強さを変えた三つの条件です。依頼文の本体は全条件で同一にし、末尾の一文だけを変えます。

  • 条件A(指示なし):依頼文のみ。
  • 条件B(一行):依頼文の末尾に「まず質問してください。」を足す。
  • 条件C(制約つき):「作り始める前に、質問は3つまで。答えによって仕様が変わるものだけを聞き、聞かなくても決められることは既定案として書いてください。」を足す。

条件Cは、一行の限界を埋める案として置いています。「質問してよい」と「何を質問すべきか」は別の指示だからです。仮説として、Bは質問の数を増やすだけで質を保証しない、Cは数と質の両方を絞れる、という予想を立てられます。ただし、これは予想です。実際の結果は自分の環境で確かめます。

依頼文は、曖昧さの違う3本を用意します。

  1. 曖昧:「リズムゲームを作りたいです。」
  2. 中程度:「スマホのブラウザで遊べる、1回1分くらいの落ちものパズルを作りたいです。」
  3. 具体:「3×3の盤で、数字を小さい順に並べるスライドパズルを、タップ操作だけで作ってください。一手戻す機能つきで、単一のHTMLファイルにまとめてください。」

具体な依頼で質問が増えるなら、それは過剰確認のサインです。曖昧な依頼で質問がゼロなら、一行が効いていません。曖昧さを3段階にするのは、この両方向を観察するためです。

準備と手順

準備するものは次のとおりです。

  • 同じAIのチャット画面(またはAPI)。毎回、新しい会話で始められること。
  • 記録表(表計算ソフトで十分です)。
  • 「回答台本」。これが実験の要です。

回答台本は、質問が来たときにどう答えるかを、実施の前に決めておくルールです。たとえば次のように決めます。

  • 聞かれたことだけに、1文で答える。
  • 聞かれなかったことは、後から付け足さない。
  • 判断がつかない質問には「おまかせします」と答える。
  • 答えの方針を、頭の中に「理想のゲーム像」として1つ固定しておく(書き出しておく)。

理想像を書き出しておくと、回答のたびに気分で変わるのを防げます。ここが揺れると、質問の質を測っているのか自分の気まぐれを測っているのか、区別がつかなくなります。

手順は次のとおりです。

  1. 3本の依頼文×3条件=9通りの組み合わせを作ります。
  2. 各組み合わせで、新しい会話を開き、依頼文を送ります。同じ会話の中で条件を切り替えてはいけません。前の質問と回答が文脈に残るためです。
  3. AIの最初の返答を、そのまま記録します。質問が来たら回答台本に従って答え、AIが「作ります」と言うか、最初の成果物を出すまで続けます。
  4. 質問が来ずにいきなり成果物が出た場合は、そこで終了し、「質問ゼロ」と記録します。
  5. 各組み合わせを3回ずつ繰り返します。合計27セッションです。

27セッションが多いと感じる場合は、依頼文を曖昧と具体の2本に絞り、18セッションにしても構いません。ただし、2本にすると「中間でどうなるか」が見えなくなります。この点は絞るときに承知しておきます。

何を・どの単位で記録するか

1セッションを1行として、次の項目を記録します。

  • 依頼文の番号(1〜3)、記録の単位:固定
  • 条件(A/B/C)、記録の単位:固定
  • 回数(1〜3)、記録の単位:セッションごと
  • 質問の総数、記録の単位:質問文の個数(疑問符の数ではなく、独立した問いの数)
  • 分岐の数、記録の単位:質問ごとに前掲のラベルを付けて集計
  • 既定で足りる/制約違反/答えられない/重複の数、記録の単位:同上
  • 質問が来るまでの往復数、記録の単位:最初の成果物までの往復の数
  • 回答の反映、記録の単位:下で説明
  • 修正の要否、記録の単位:成果物を見て、自分の理想像との差を修正指示したくなったか(はい/いいえ)

質問が「1つの文に2つの問い」を含む場合は、2個と数えます。「盤の大きさと、操作方法は?」は2問です。数え方を最初に決め、27行を通して守ります。

「回答の反映」は、質問が儀式かどうかを見分ける項目です。回答台本に沿って答えたあと、最初の成果物にその回答が実際に表れているかを、質問ごとに確認します。たとえば「操作はタップのみ」と答えたのにキーボード操作が実装されていれば、反映漏れです。反映されていない質問は、ラベルが分岐でも、効果としては空振りです。

ラベル付けは、可能なら時間を置いて2回行います。1回目は実施直後、2回目は数日後に、セッションの順序をばらして付け直します。2回の判定が食い違う質問は、基準があいまいな質問です。その数も記録します。

結果の読み方

集計では、条件ごと・依頼文ごとに、次の2つの値を見ます。

  • 質問の総数の平均(3回分)
  • 質問のうち「分岐」が占める割合

そのうえで、次のように読みます。

  • Bで質問の総数が増え、分岐の割合が上がらない:一行は、質問の「量」を増やしただけです。Cのように質問の条件を書く必要があると判断できます。
  • Bで分岐の割合も上がっている:一行で足りる可能性があります。ただし、3回のばらつきを必ず確かめます。
  • Cで質問が3つ以内に収まり、分岐の割合が最も高い:「何を聞くか」まで指定する価値があります。ただし、聞くべきだった論点が3つに入りきらずに落ちていないかを、修正の要否の項目で確かめます。
  • 具体な依頼(3)で、BやCの質問が多い:すでに書いてある内容を聞き直している疑いがあります。「重複」の数を見ます。
  • 曖昧な依頼(1)で、Bでも質問がゼロ:一行の指示が、実質的に効いていません。AIや画面の設定によっては、作業を優先する傾向が強い場合があります。条件Cの文面で再確認します。
  • 分岐の質問が多いのに、修正の要否が「はい」ばかり:質問は妥当でも、成果物に反映されていないか、そもそも聞くべき論点が別にあった可能性があります。反映漏れの数と見比べます。
  • 同じ組み合わせの3回で、質問の数や内容が大きくばらつく:1回の結果では判断できません。ばらつきが大きいこと自体が、この指示の限界を示す材料になります。

ここで大事なのは、「質問が良かった」の判断を、成果物の満足度ではなく、ラベルと反映の記録に基づいて下すことです。質問が良くても、その後の実装が悪いことはあります。質問の効果と実装の質は、別々に見ます。

起こりやすい誤り

  • 回答台本が揺れる:2回目以降に、前回の回答を覚えていて、聞かれていないことまで答えてしまいます。台本を印刷するか、別ウィンドウに常に表示しておきます。
  • 同じ会話で続ける:条件を切り替えるたびに新しい会話に変えないと、前のやりとりが文脈に残り、質問の傾向が引き継がれます。
  • 質問の数を成績にする:質問が多いほど丁寧に見えますが、このリストで評価するのは分岐の割合と反映です。
  • ラベルを後知恵で付ける:成果物を見たあとで「あの質問は大事だった」と判定したくなります。ラベルは、質問を見た直後に付けます。
  • 依頼文に答えを混ぜる:具体な依頼文を作るとき、つい詳しく書き足してしまい、質問の余地がなくなります。依頼文は事前に固定し、実施中に手を入れません。
  • AIの版や設定が途中で変わる:実験の途中でモデルや設定を切り替えると、条件の差なのかモデルの差なのか分かりません。27セッションは、できるだけ同じ日にまとめます。
  • この実験の結論を一般化しすぎる:得られるのは、あなたの依頼文、あなたの回答台本、そのAIでの傾向です。他のAIや他のジャンルへは、そのまま当てはめません。

次の行動

まず、曖昧な依頼文と具体的な依頼文の2本、条件AとBとCの3つで、1回ずつ試します。質問が返ってきたら、5種類のラベルを付けるところまで進めてください。それだけでも、自分の依頼の癖で、どの種類の質問が多いかが見えてきます。そのうえで本格的に3回ずつ回すかを決めます。

質問の質が使える水準と分かった条件の文面は、ゲームの下書きを頼むときの定型文として手元に残しておくと、作る場面でそのまま使えます。