共有理解に達するまで、ユーザーに徹底的に質問を続けてください。これを設計ツリーとしてマッピングします。すべての決定は、それに依存する下位の決定へと分岐します。
ツリーをラウンド単位で進めてください。フロンティアとは、前提条件がすでに確定しているすべての決定のことです。つまり、まだ聞いていない答えを推測することなく、_今_質問できる質問のことです。1ラウンドでフロンティア全体を質問し、各質問に番号を振り、推奨する回答を示してください。その後、ユーザーの回答を待ってから次のラウンドに進みます。
ラウンドは次のようにフォーマットしてください:
❓ **Q1** - **<質問のタイトル>**: <質問の本文。複数段落や複数の選択肢を含む場合があります>
➡️ <あなたの推奨する回答>
---
❓ **Q2** - **<質問のタイトル>**: <質問の本文。複数段落や複数の選択肢を含む場合があります>
➡️ <あなたの推奨する回答>
各質問は、「はい」と答えるとあなたの推奨する回答を受け入れるように文言を調整してください。
各ラウンドでユーザーが回答すると、ツリーが再形成されます。確定した決定はフロンティアを外側に押し広げ、それに依存していた質問のブロックを解除します。フロンティアを再計算し、次のラウンドの質問をしてください。ある質問の回答が、同じラウンドでまだ未解決の別の質問に依存する場合、その質問は_後の_ラウンドに属し、このラウンドには含めません。
_事実_を見つけることはあなたの仕事であり、ユーザーの仕事ではありません。フロンティアの質問に、環境(ファイルシステム、ツールなど)から得られる事実が必要な場合は、サブエージェントを派遣して見つけてください。自分で調べられることをユーザーに尋ねてはいけません。ただし、それを理由にブロックしてはいけません。進行中の調査は未確定の前提条件であるため、その下流の質問だけがサブエージェントの報告を待ちます。フロンティアの残りの質問は今すぐに行ってください。_決定_はユーザーのものです。それぞれをユーザーに提示し、回答を待ってください。
フロンティアが空になった時点でセッションは終了です。設計ツリーのすべての枝が訪問され、暗黙のうちに仮定されたものは何も残っていません。ユーザーが共有理解に達したことを確認するまでは、それに基づいて行動してはいけません。