Self-ask reasoning prompt builder
Some questions can’t be answered in one hop. “Which country has the larger population: the home country of the inventor of the telephone, or its neighbour?” needs several sub-facts chained together. The self-ask technique makes the model do this explicitly: it generates follow-up sub-questions, answers each, and only then composes the final answer. This builder produces a clean self-ask prompt scaffold from your question, a sub-question budget, a search mode, and an output format.
How it works
You provide a complex question and configure three controls. The sub-question budget caps how many follow-ups the model may pose, keeping decomposition focused. The search-enabled flag tells the model whether to ground each intermediate answer in retrieved sources or reason it from knowledge. The output format decides how the final answer is presented. The builder assembles a prompt that lays out the self-ask loop — “Are follow-up questions needed? If so, ask one, answer it, repeat — then give the final answer” — complete with a worked structure the model fills in. You copy it and run it in any capable assistant.
How self-ask differs from chain-of-thought
Chain-of-thought asks the model to “think step by step” in free prose. Self-ask imposes a stricter, inspectable structure: each step is a named sub-question with its own answer. That structure makes errors easier to spot — you can see exactly which hop went wrong — and it integrates cleanly with search tools, since each sub-question is effectively a query. For multi-hop factual questions, self-ask tends to beat unstructured reasoning.
Tips and notes
- Reserve it for multi-hop questions. For single-fact lookups it just adds overhead.
- Match search mode to your tools. Only enable search if the assistant can truly retrieve; otherwise it fabricates citations.
- Cap the budget. Three to five sub-questions keeps the chain tight and cheap.
- Read the sub-questions. They reveal the model’s assumptions and are the fastest place to catch a wrong turn.