self-ask
**Self-Ask** is a prompting strategy where the language model **explicitly generates and answers its own sub-questions** before arriving at a final answer — breaking complex multi-hop questions into a chain of simpler factual queries that the model (or an external search tool) can answer individually.
**How Self-Ask Works**
1. **Initial Question**: The model receives a complex question requiring multi-step reasoning.
2. **Sub-Question Generation**: Instead of answering directly, the model asks itself: "Are there any follow-up questions I need to answer first?"
3. **Sub-Answer**: The model answers each sub-question (or retrieves the answer from a search engine).
4. **Iteration**: If the sub-answer reveals more needed information, the model generates additional sub-questions.
5. **Final Answer**: Once all sub-questions are resolved, the model synthesizes a final answer from the accumulated intermediate answers.
**Self-Ask Example**
```
Question: Was the founder of Tesla born in the
same country as the inventor of dynamite?
Are follow-up questions needed? Yes.
Follow-up: Who founded Tesla?
Answer: Elon Musk.
Follow-up: Where was Elon Musk born?
Answer: South Africa.
Follow-up: Who invented dynamite?
Answer: Alfred Nobel.
Follow-up: Where was Alfred Nobel born?
Answer: Sweden.
Follow-up: Are South Africa and Sweden the
same country?
Answer: No.
Final Answer: No, the founder of Tesla (Elon Musk,
born in South Africa) was not born in the same
country as the inventor of dynamite (Alfred Nobel,
born in Sweden).
```
**Self-Ask vs. Chain-of-Thought**
- **Chain-of-Thought (CoT)**: Produces a continuous reasoning narrative — "First... then... therefore..."
- **Self-Ask**: Structures reasoning as explicit question-answer pairs — each sub-question isolates one factual lookup.
- **Advantage of Self-Ask**: The explicit Q&A format makes it easy to **plug in external tools** (search engines, databases) to answer sub-questions with verified facts rather than relying on the model's parametric memory.
**Self-Ask + Search (Retrieval Augmented)**
- In the augmented version, after the model generates each sub-question, an **external search engine** retrieves the answer.
- This dramatically reduces hallucination — factual sub-questions are answered with retrieved evidence rather than the model's potentially outdated or incorrect knowledge.
- This approach is a form of **retrieval-augmented generation (RAG)** where the model controls what to retrieve through self-generated queries.
**When to Use Self-Ask**
- **Multi-Hop Questions**: Questions requiring information from multiple facts combined — "Is X related to Y through Z?"
- **Compositional Reasoning**: Questions where the answer depends on combining several independent pieces of information.
- **Fact-Intensive Tasks**: When accuracy of individual facts matters more than creative reasoning.
- **Tool-Augmented LLMs**: When the model can call external APIs or search — Self-Ask provides a natural framework for deciding what to look up.
**Benefits**
- **Transparency**: The reasoning is fully decomposed into verifiable steps — each sub-question and answer can be independently checked.
- **Accuracy**: By isolating factual lookups, Self-Ask reduces errors from conflating multiple reasoning steps.
- **Tool Integration**: The Q&A format naturally interfaces with search engines, databases, and APIs.
Self-Ask is a **powerful structured reasoning technique** — it transforms complex questions into manageable chains of simple lookups, making multi-hop reasoning more accurate, transparent, and verifiable.