A single retrieval pass answers 'what is X' well. It fails on 'what changed between X and the update after it', because no single chunk contains both facts — the answer requires two lookups chained together.

Decompose, then retrieve twice

Have the model first break the question into sub-questions, retrieve for each separately, then answer using the combined context. This costs an extra LLM call but fixes a whole class of otherwise-unanswerable questions.

  1. Detect whether a question is likely multi-hop (comparisons, 'before/after', chained references).
  2. Decompose into 2–3 sub-questions with a cheap, fast model call.
  3. Retrieve separately for each sub-question, then merge contexts before the final answer.

Not every question needs this — it roughly doubles latency and cost, so gate it behind a cheap classifier rather than running it on every query. See query rewriting and HyDE for retrieval for a lighter-weight first step.

Pranjul Rathour, GenAI Engineer from Kanpur, India. Open to GenAI roles, hackathon judging, mentorship sessions and guest talks at any campus: pranjulrathour41@gmail.com.