同步request_user_input选项流程

This commit is contained in:
wxm
2026-05-19 02:07:34 -07:00
parent e46f78f94b
commit 9629f8b8ef
6 changed files with 64 additions and 73 deletions

View File

@@ -13,10 +13,12 @@ Codex structured input requirements:
short questions conversationally and wait for the user's reply.
- Ask 1-3 short questions per call.
- Each question must have `header` (12 or fewer characters), `id` in snake_case,
a one-sentence `question`, and 2-3 mutually exclusive options.
a one-sentence `question`, and 2-5 mutually exclusive options.
- Each option must have a 1-5 word `label` and one short `description`.
- Put the recommended option first and suffix its label with `(Recommended)`.
- Do not add an explicit Other option; the Codex app supplies the free-form path.
- Use the full meaningful choice set when it fits within five options. Do not
split engine, platform, or tradeoff choices merely to force three options.
- Use a free-form/custom option when the decision benefits from custom input.
- For open-ended values such as exact game descriptions or custom constraints,
ask conversationally instead of forcing a multiple-choice form.
@@ -84,10 +86,7 @@ If no engine is specified, run an interactive engine selection process:
**Question 1 — Prior experience** (ask this first, always, via Codex `request_user_input`):
- Prompt: "Have you worked in any of these engines before?"
- Because Codex choice inputs support 2-3 options per question, split this into
one or two questions:
- First ask `I know one engine` / `I know several` / `No prior engine experience`.
- If they know one engine, ask which: `Godot` / `Unity` / `Unreal Engine 5`.
- Options: `Godot` / `Unity` / `Unreal Engine 5` / `I know several` / `No prior engine experience`
- If they pick a specific engine → recommend that engine. Prior experience outweighs all other factors. Confirm with them and skip the matrix.
- If "None" or "Multiple" → continue to the questions below.
@@ -95,9 +94,7 @@ If no engine is specified, run an interactive engine selection process:
**Question 2 — Target platform** (ask this second, always, via Codex `request_user_input` — platform eliminates or heavily weights engines before any other factor):
- Prompt: "What platforms are you targeting for this game?"
- Split into 2-3 options per call when needed. For example, ask:
`PC or console` / `Mobile` / `Web or mixed`, then ask a follow-up if the
answer needs more precision.
- Options: `PC` / `Mobile` / `Console` / `Web` / `Multiple platforms`
- Platform rules that feed directly into the recommendation:
- Mobile → Unity strongly preferred; Unreal is a poor fit; Godot is viable for simple mobile
- Console → Unity or Unreal; Godot console support requires third-party publishers or significant extra work
@@ -153,11 +150,11 @@ Do NOT use a simple scoring matrix that eliminates engines. Instead, reason thro
3. Name the best alternative and when to choose it instead
4. Explicitly state: "This is a starting point, not a verdict — you can always switch engines between projects."
5. Use Codex `request_user_input` to confirm: "Does this recommendation feel right, or would you like to explore a different engine?"
- Keep the first call to 2-3 options, e.g. `[Primary engine] (Recommended)` / `[Alternative engine]` / `Explore further`.
- If the user wants the third engine or a custom route, handle that as a follow-up conversationally.
- Include the primary engine, best alternative, remaining third engine when relevant, and `Explore further` when the tradeoffs need discussion.
- Keep the recommendation first and mark it with `(Recommended)`.
**If the user picks "Explore further":**
Use Codex `request_user_input` with concept-specific deep-dive topics. Always generate these options from the user's actual concept — do not use generic options. Split topics across multiple calls if more than three options are useful. Always include at minimum:
Use Codex `request_user_input` with concept-specific deep-dive topics. Always generate these options from the user's actual concept — do not use generic options. Use up to five options. Always include at minimum:
- The primary engine's specific limitations for this concept (e.g., "How far can Godot 3D actually go for [genre]?")
- The alternative engine's specific tradeoffs for this concept
- Language choice impact on this concept's technical challenges