Query decomposition is a technique that breaks a complex multi-part question into simpler sub‑queries, which are then processed sequentially or in parallel, improving retrieval accuracy by tackling each sub‑question individually.
Complex questions often require information from multiple sources or involve several conditions. Query decomposition splits the original question into smaller, more manageable sub‑queries. These sub‑queries can be executed sequentially (using the answer from one sub‑query to inform the next) or in parallel (aggregating independent answers). The approach mimics how a human would break down a complex problem, leading to more precise retrieval and better final answers.[reference:4][reference:5]
Sequential Decomposition: Sub‑questions are processed one after another, with each answer informing the next. Suitable for logical workflows.
Parallel Decomposition: Independent sub‑questions are processed simultaneously, reducing latency. Ideal for factual comparisons.
Agent-based Decomposition: Use a LangGraph agent to dynamically decide the decomposition and execution plan.
Self‑ask with Search: The LLM recursively asks itself sub‑questions and searches for answers until the original question is resolved.