Self-Ask Prompting
Self-ask prompting is a reasoning pattern in which the model explicitly asks itself follow-up questions before answering a composite question. The prompt instructs the model to decide whether the question needs sub-questions; if so, ask and answer them first, then compose the final answer from those sub-answers.
It bridges multi-hop questions that the model might otherwise collapse into a single shallow response. Self-ask pairs well with a search or retrieval tool — each sub-question can trigger its own retrieval — producing answers that cite grounded intermediate facts rather than hallucinated leaps. It is less useful for atomic questions where sub-questioning only adds latency.
Origin: Introduced by Press et al. in "Measuring and Narrowing the Compositionality Gap in Language Models" (2022), motivated by the finding that LLMs often know each fact in a multi-hop question but fail to chain them.
How it works
- 1
The prompt explicitly asks the model to decide whether a follow-up question is needed before answering directly.
- 2
If yes, the model emits a sub-question in a fixed format — typically "Follow up:" — answers it, and repeats until no further sub-questions are needed.
- 3
Each sub-question can optionally be routed through a retrieval tool or search API, grounding intermediate answers in external sources.
- 4
A final "So the answer is:" step composes the sub-answers into the final response, making the reasoning chain auditable.
Example
Asked "Who was president of the country that hosted the 1992 Summer Olympics when that country joined the EU?", a self-ask prompt emits: "Sub-question 1: What country hosted the 1992 Summer Olympics? Answer: Spain. Sub-question 2: When did Spain join the EU? Answer: 1986. Sub-question 3: Who was president of Spain in 1986? Answer: Felipe González (as Prime Minister)." The final answer names Felipe González and clarifies the head-of-government role, with each sub-question optionally backed by a search call.
Frequently asked questions
What is Self-Ask Prompting?
- Self-ask prompting is a reasoning pattern in which the model explicitly asks itself follow-up questions before answering a composite question. The prompt instructs the model to decide whether the question needs sub-questions; if so, ask and answer them first, then compose the final answer from those sub-answers.
How does Self-Ask Prompting work?
- The prompt explicitly asks the model to decide whether a follow-up question is needed before answering directly. If yes, the model emits a sub-question in a fixed format — typically "Follow up:" — answers it, and repeats until no further sub-questions are needed. Each sub-question can optionally be routed through a retrieval tool or search API, grounding intermediate answers in external sources. A final "So the answer is:" step composes the sub-answers into the final response, making the reasoning chain auditable.
Can you give an example of Self-Ask Prompting?
- Asked "Who was president of the country that hosted the 1992 Summer Olympics when that country joined the EU?", a self-ask prompt emits: "Sub-question 1: What country hosted the 1992 Summer Olympics? Answer: Spain. Sub-question 2: When did Spain join the EU? Answer: 1986. Sub-question 3: Who was president of Spain in 1986? Answer: Felipe González (as Prime Minister)." The final answer names Felipe González and clarifies the head-of-government role, with each sub-question optionally backed by a search call.
Not to be confused with
- Chain of thought
- Linear, free-form reasoning ("Let's think step by step"). Self-ask is more structured — it formats reasoning as explicit Q&A pairs, which makes tool integration cleaner.
- ReAct
- Interleaves Thought / Action / Observation steps with arbitrary tool calls. Self-ask is narrower — the only "action" is asking a sub-question, optionally backed by search.
Put this into practice
Build polished, copy-ready prompts in under 60 seconds with SurePrompts.
Try SurePrompts