Beyond Retrieval Failure: Understanding Why LLMs Miss Evidence in Multi-Hop RAG
Organizations: Zhejiang University Hangzhou, China · Shanghai AI Laboratory Shanghai, China · Fudan University Shanghai, China · Sun Yat-sen University Guangzhou, China ·
Abstract
Multi-hop retrieval-augmented generation (RAG) requires an agent to retrieve evidence for a sequence of dependent sub-questions. When a wrong answer lacks a required passage, the passage may be inaccessible to the retriever, or the agent may have failed to issue a query that would retrieve it. Standard retrieval evaluations conflate these two causes. We study how much apparent retrieval failure is instead caused by search drift: the search no longer tracks an unanswered sub-question. Holding the retriever, corpus, and generation model fixed, we introduce ExecutionRAG, a training-free requirement register that records open sub-questions and their supporting evidence. The register changes search guidance but not evidence access, so each gold passage it recovers certifies that the passage was reachable by the original retriever. On 1,000 MuSiQue questions, the number of wrong answers with unretrieved required evidence falls from 382 to 234 with all-MiniLM-L6-v2 and from 383 to 274 with Qwen3-Embedding-0.6B. These counts correspond to 69% to 44% and 66% to 48% of each system's wrong answers, respectively. Crucially, evidence recovery does not produce a proportional reduction in total error: premature resolutions and abstentions increase as missing-evidence failures decrease. The central finding is therefore a shift in the remaining bottleneck, from guiding search toward required evidence to verifying that the retrieved evidence is sufficient.
Figures & tables
| Method | Contain-Match | LLM-Evaluation | ||||
|---|---|---|---|---|---|---|
| Hotpot | 2Wiki | MuSiQue | Hotpot | 2Wiki | MuSiQue | |
| Direct Zero-shot LLM Inference | ||||||
| GPT-4o-mini ( OpenAI, 2024 ) | 30.4 | 29.0 | 7.8 | 34.2 | 28.6 | 10.1 |
| Vanilla Retrieval-Augmented Generation | ||||||
| Retrieval (Top-3) | 52.1 | 45.1 | 23.4 | 55.1 | 43.1 | 27.1 |
| Retrieval (Top-5) | 54.6 | 46.6 | 25.6 | 56.8 | 45.3 | 29.0 |
| Method | LLM-Acc | Contain-Acc |
|---|---|---|
| ExecutionRAG | 50.2 | 49.1 |
| w/o Register Init. | 48.7 | 46.2 |
| w/o Progress Register | 48.3 | 48.5 |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| 2-hop | 518 | 57.7 | 56.8 |
| 3-hop | 316 | 44.0 | 50.6 |
| 4-hop | 166 | 31.9 | 28.9 |
| Overall | 1,000 | 49.1 | 50.2 |
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| Bridge | 811 | 74.8 | 78.1 |
| Comparison | 189 | 86.2 | 87.3 |
| Overall | 1,000 | 77.0 | 79.8 |
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| Compositional | 413 | 63.5 | 66.7 |
| Comparison | 244 | 84.4 | 88.1 |
| Bridge-Comparison | 235 | 89.2 | 85.6 |
| Inference | 108 | 49.1 | 48.1 |
| Overall | 1,000 | 73.0 | 74.3 |
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| 2-hop | 518 | 50.0 | 51.0 |
| 3-hop | 316 | 39.6 | 40.2 |
| 4-hop | 166 | 24.7 | 22.3 |
| Overall | 1,000 | 42.5 | 42.8 |
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| Bridge | 811 | 73.9 | 78.2 |
| Comparison | 189 | 83.6 | 87.8 |
| Overall | 1,000 | 75.7 | 80.0 |
| Category | N | Contain Acc (%) | LLM Acc (%) |
|---|---|---|---|
| Compositional | 413 | 52.8 | 55.2 |
| Comparison | 244 | 82.8 | 90.2 |
| Bridge-Comparison | 235 | 88.1 | 75.7 |
| Inference | 108 | 50.0 | 52.8 |
| Overall | 1,000 | 68.1 | 68.3 |
| Dataset | Method | LLM Acc | Cont Acc | Tokens/Q | Cost/Q |
|---|---|---|---|---|---|
| MuSiQue | A-RAG | 44.9 | 42.0 | 5,015 | $0.0034 |
| Ours | 50.2 | 49.1 | 7,161 | $0.0064 | |
| HotpotQA | A-RAG | 78.6 | 77.3 | 2,860 | $0.0016 |
| Ours | 79.8 | 77.0 | 3,373 | $0.0033 | |
| 2Wiki | A-RAG | 59.8 | 66.7 | 3,992 | $0.0027 |
| Ours | 74.3 | 73.0 | 3,966 | $0.0039 |
| Dataset | Variant | LLM | Cont | Tokens/Q | Cost/Q |
|---|---|---|---|---|---|
| MuSiQue | Full | 50.2 | 49.1 | 7,161 | $0.0064 |
| w/o Bootstrap | 48.7 | 46.2 | 5,962 | $0.0047 | |
| w/o Progress Register | 48.3 | 48.5 | 6,378 | $0.0042 |
| all-MiniLM-L6-v2 | Qwen3-Embed-0.6B | ||||||
|---|---|---|---|---|---|---|---|
| Dataset | Method | LLM | Tok/Q | Cost/Q | LLM | Tok/Q | Cost/Q |
| MuSiQue | A-RAG | 44.9 | 5,015 | .0034 | 42.3 | 5,217 | .0040 |
| Ours | 50.2 | 7,161 | .0064 | 42.8 | 6,060 | .0083 | |
| HotpotQA | A-RAG | 78.6 | 2,860 | .0016 | 76.4 | 3,533 | .0026 |
| Ours | 79.8 | 3,373 | .0033 | 80.0 | 3,568 | .0052 | |
| 2Wiki | A-RAG | 59.8 | 3,992 | .0027 | 55.2 | 4,311 | .0034 |
| A-RAG | ExecutionRAG | |||
|---|---|---|---|---|
| Category | Count | % | Count | % |
| Total failures | 551 | 100.0 | 533 | 100.0 |
| Judge Error | 81 | 14.7 | 91 | 17.1 |
| Gave Up | 36 | 6.5 | 70 | 13.1 |
| Reasoning Error | 52 | 9.4 | 138 | 25.9 |
| Missing Evidence | 382 | 69.3 | 234 | 43.9 |
| Hop | Method | Judge | Gave Up | Reasoning | Missing |
|---|---|---|---|---|---|
| 2-hop | A-RAG | 15.7 | 7.5 | 15.0 | 61.8 |
| ExecutionRAG | 18.6 | 14.2 | 30.1 | 37.2 | |
| 3-hop | A-RAG | 15.8 | 4.8 | 6.1 | 73.3 |
| ExecutionRAG | 17.7 | 14.3 | 24.0 | 44.0 | |
| 4-hop | A-RAG | 10.9 | 6.7 | 1.7 | 80.7 |
| ExecutionRAG | 13.6 | 9.8 | 21.2 | 55.3 |
| A-RAG | ExecutionRAG | |||
|---|---|---|---|---|
| Category | Count | % | Count | % |
| Total failures | 577 | 100.0 | 572 | 100.0 |
| Judge Error | 80 | 13.9 | 78 | 13.6 |
| Gave Up | 69 | 12.0 | 99 | 17.3 |
| Reasoning Error | 45 | 7.8 | 121 | 21.2 |
| Missing Evidence | 383 | 66.4 | 274 | 47.9 |
| Hop | Method | Judge | Gave Up | Reasoning | Missing |
|---|---|---|---|---|---|
| 2-hop | A-RAG | 16.1 | 13.9 | 12.5 | 57.5 |
| ExecutionRAG | 16.9 | 17.7 | 25.2 | 40.2 | |
| 3-hop | A-RAG | 11.4 | 9.1 | 5.7 | 73.9 |
| ExecutionRAG | 14.3 | 15.3 | 17.5 | 52.9 | |
| 4-hop | A-RAG | 12.5 | 11.7 | 0.8 | 75.0 |
| ExecutionRAG | 6.2 | 19.4 | 18.6 | 55.8 |
| ExecutionRAG (2 loops, 1 chunk) | A-RAG (5 loops, 2 chunks) |
|---|---|
| Warm-up: Initial evidence correctly identifies Frederick Douglass as the publisher. The question is decomposed into two requirements: | Loop 1: keyword_search for “The North Star, publisher, married.” A top result mentions William Cooper Nell , who wrote for The North Star but was not its publisher. |
| req_0 : “identify the relevant marriage relation of Frederick Douglass” active | Loop 2: read_chunk(126) — William Cooper Nell biography; no answer found. |
| req_1 : “identify Frederick Douglass’s wife” pending | |
| Loop 1: Retrieved chunk 127 containing Douglass biography and spouse information. | Loop 3: keyword_search for “William Cooper Nell, married, wife.” The search trajectory is now anchored on the wrong entity. |
| State update: | Loop 4: Reads another irrelevant marriage-related chunk. |
| req_0 : remains active |
| ExecutionRAG (6 loops, 3 chunks) | A-RAG (13 loops, 19 chunks) |
|---|---|
| Warm-up: The question is decomposed into a dependency chain: | Loop 1: Parallel searches for “Vilaiyaadu Mankatha + music company + headquarters” and “feast + city + day.” The latter is issued before the relevant city has been identified. |
| req_2 : “identify the company larger than Sony Music” pending | |
| req_1 : “identify the headquarters city of that company” pending | |
| req_0 : “identify the feast day associated with that city” active | Loops 2–3: Reads multiple generic “feast/city” chunks, none linked to the music-company chain. |
| Loops 1–2: keyword_search (“Vilaiyaadu Mankatha, record label”); read_chunk(18,17) . Chunk 18 resolves two links at once: Sony Music Universal Music Group Santa Monica. | Loops 4–6: Repeated searches for “largest music company, Sony Music, headquarters,” with re-reading of overlapping evidence and no explicit record of intermediate progress. |
| State update (delta): | Loop 7: Eventually reads the key chunk, but only after substantial context has already been consumed by unrelated evidence. |
| ExecutionRAG (6 loops, 3 chunks) | A-RAG (3 loops, 3 chunks) |
|---|---|
| Warm-up: Initial evidence identifies Beyoncé Knowles as being from Texas, but incorrectly assumes that Houston is also the birthplace of the performer of Ah Via Musicom . The initial requirement is therefore: | Loop 1: Parallel searches for “Ah Via Musicom, performer, birthplace” and “capital, state, Knowles.” Both retrieve relevant but not yet integrated evidence. |
| req_0 : “determine when Houston became the capital of Texas” active | Loop 2: Reads the relevant chunks identifying Eric Johnson and Texas, but does not revisit whether Houston is actually the correct city. |
| Loops 1–2: keyword_search (“Ah Via Musicom, performer, birthplace”) and keyword_search (“capital, state, Knowles”). read_chunk(630,123) . | Loop 3 (closure): Produces a final answer based on an incorrect chain, conflating related Texas dates. |
| State update (loop 2): The retrieved evidence contradicts the current requirement premise: Houston is not the capital of Texas, whereas Austin is. | |
| req_0 : active retired | |
| Evidence: “Houston is not the capital of Texas; Austin is the capital. Austin became the capital of the Republic of Texas in 1839.” |
| Default QA Agent System Prompt |
|---|
| You are a question-answering assistant with access to a document corpus through available tools. |
| Your goal is to answer questions accurately by finding and analyzing relevant information from the provided documents. |
| Available Tools |
| • keyword_search : Find chunks by exact keyword matching |
| • semantic_search : Find chunks by semantic similarity |
| • read_chunk : Read the full content of a specific chunk |
| Seed-Grounded Requirement Initialization Prompt |
|---|
| Question: {query} |
| Available seed evidence: |
| {info_summary} |
| Analyze the question and seed evidence, then output a JSON object with the following fields: |
| • "evidence_summary" : concise summary of what is already known from the seed evidence. Preserve specific facts, names, dates, and numbers. |
| • "requirement_register" : a dictionary mapping req_id to {"text": str, "status": "pending"|"active", "evidence_notes": str} . Each item should represent a concrete information requirement needed to answer the question. Exactly one requirement should be marked "active" ; the others should be "pending" . |
| Requirement-State Injection |
|---|
| ## Current Requirement State |
| The following answer requirements have been identified: |
| {requirement_register} |
| Use this state to decide what to search for next. Focus on unresolved requirements, preserve the evidence already gathered, and avoid repeating searches that do not advance the state. You may receive [Progress] messages describing requirement-state changes after new evidence is read. |
| Requirement Register Update Prompt |
|---|
| Question: {query} |
| Current requirement register: |
| {requirement_register} |
| Newly retrieved information: |
| {new_evidence} |
| Update the requirement register based on the new information. Output a JSON object with the following field: |
| Force Final Answer Prompt |
| You have reached the budget limit. You MUST now provide a final answer based on the information gathered so far. Do NOT call any more tools. If the evidence is sufficient, answer directly. If the evidence is still incomplete, provide the best bounded answer you can and clearly state the remaining uncertainty. |
Retrieval-Augmented Generation
Retrieval-augmented generation connects language models to external knowledge so answers can use current, domain-specific evidence.
See all 792 papers