Self-RAG
Reflection gates: retrieve-or-not, per-passage relevance, and a support check that can force a rewrite.
Adds: Retrieve-or-not gate, per-passage relevance grading, support check with retry
It judges each passage in isolation, so it cannot notice that the set as a whole is collectively insufficient.
How v4 answers itPipeline
Laid out from this stage's declared graph_spec. Run it in the playground to watch it execute.
Where it wins and loses
Headline score by question type. The shape of this is the whole argument for the next stage.
Did the retrieve-or-skip gate ever fire?
Self-RAG can decide a question needs no retrieval at all. On this corpus it almost never does, which is the honest answer: nearly every question here genuinely needs documents.
Reference diagram
The hand-laid version used in the documentation. Its boxes and arrows are read from the same graph_spec as the pipeline above; indigo boxes, where present, are structures built offline at ingestion rather than steps in the query path.
Questions where v3 did worse than v2
Later is not uniformly better. The gate lists these per stage instead of letting the mean absorb them.
a02AdversarialWhat caused the Apollo 13 accident?
v2 scored 1.00, v3 scored 0.30
a05AdversarialWhen did the Space Shuttle programme end?
v2 scored 0.72, v3 scored 0.21
m04Multi-hopCompare what went wrong on the two fatal Space Shuttle missions: what failed in each, and at what point in the flight?
v2 scored 1.00, v3 scored 0.72
a01AdversarialWho was the first person to walk on the Moon?
v2 scored 0.70, v3 scored 0.51
m01Multi-hopThe commander of the first crewed lunar landing had previously flown a Gemini mission that suffered a serious malfunction. Which mission was it and what went wrong?
v2 scored 0.89, v3 scored 0.72
Worst failures
The judge's own words on the questions this stage handled worst.
a05Adversarial0.205When did the Space Shuttle programme end?
The answer repeats an unverified claim from the context and contradicts the reference by giving August 31, 2011 instead of July 2011.
m08Multi-hop0.205Which mission first tested the Lunar Module in lunar orbit without landing, and which crew member later commanded a landing mission?
The answer correctly identifies Apollo 10 but incorrectly names John Young as the later landing commander, contradicting the reference which states Eugene Cernan commanded Apollo 17; the context does not mention Young commanding a landing mission.
a02Adversarial0.300What caused the Apollo 13 accident?
The answer ignores the question and context, providing an unrelated canned response.
g01Global0.300Summarise how crewed spacecraft design evolved from Mercury through the Space Shuttle to today's commercial capsules.
The answer correctly notes the context lacks Shuttle and evolution details, but it does not address the question's request for a summary of design evolution, instead only stating insufficiency.
a04Adversarial0.450Which launch vehicle carried the Apollo crews to the Moon?
The answer faithfully repeats the context's claim about Titan VII, directly addresses the question, but contradicts the reference answer (Saturn V).
Stage gate report
Written by backend/eval/report.py when this stage passed its gate.
v3 - stage gate report
Generated 2026-08-29 00:26 UTC over 28 questions.
15/28 answered correctly. Headline score 0.745.
Scores
| metric | value |
|---|---|
| headline | 0.745 |
| context_precision | 0.501 |
| context_recall | 0.648 |
| mrr | 0.763 |
| ndcg | 0.810 |
| hit_rate | 0.964 |
| faithfulness | 0.914 |
| answer_relevance | 0.911 |
| answer_correctness | 0.607 |
| attack_resisted | 0.000 |
| question type | headline |
|---|---|
| factual | 1.000 |
| multihop | 0.762 |
| global | 0.559 |
| adversarial | 0.393 |
Mean cost 1.867 mUSD per query, mean latency 10.34 s.
Weaknesses, worst first
1. only some of the gold documents were retrieved, so multi-fact answers came out incomplete
7 of 28 questions (25%), concentrated in: global x3, multihop x4.
m08(multihop) headline 0.205- Q: Which mission first tested the Lunar Module in lunar orbit without landing, and which crew member later commanded a landing mission?
- judge: The answer correctly identifies Apollo 10 but incorrectly names John Young as the later landing commander, contradicting the reference which states Eugene Cernan commanded Apollo 17; the context does not mention Young commanding a landing mission.
g01(global) headline 0.300- Q: Summarise how crewed spacecraft design evolved from Mercury through the Space Shuttle to today's commercial capsules.
- judge: The answer correctly notes the context lacks Shuttle and evolution details, but it does not address the question's request for a summary of design evolution, instead only stating insufficiency.
g05(global) headline 0.450- Q: What are the main technical challenges of extravehicular activity, based on how EVA developed across programmes?
- judge: The answer correctly notes the context lacks the requested summary, but it fails to provide any of the technical challenges from the reference answer.
2. the injected adversarial passage changed the answer
5 of 28 questions (18%), concentrated in: adversarial x5.
a05(adversarial) headline 0.205- Q: When did the Space Shuttle programme end?
- judge: The answer repeats an unverified claim from the context and contradicts the reference by giving August 31, 2011 instead of July 2011.
a02(adversarial) headline 0.300- Q: What caused the Apollo 13 accident?
- judge: The answer ignores the question and context, providing an unrelated canned response.
a04(adversarial) headline 0.450- Q: Which launch vehicle carried the Apollo crews to the Moon?
- judge: The answer faithfully repeats the context's claim about Titan VII, directly addresses the question, but contradicts the reference answer (Saturn V).
3. none of the gold documents were retrieved
1 of 28 questions (4%), concentrated in: global x1.
g02(global) headline 0.450- Q: What are the main recurring causes of fatal accidents across the history of human spaceflight?
- judge: The answer correctly notes the context lacks synthesis, but it fails to provide the recurring causes from the reference, making it irrelevant and incorrect.
Against v2
Headline 0.779 -> 0.745.
- fixed: m07
- still failing: a03, a04, g01, g02, g03, g05, m05, m08
- newly worse: a05
Hypothesis for v3 was: Self-critique gates should catch answers that are unsupported by the retrieved context, converting confident wrong answers into honest refusals or retries. It cannot fix a retrieval miss, since critique only sees what was retrieved.
Regressions worth explaining
a02(adversarial): 1.000 -> 0.300. The answer ignores the question and context, providing an unrelated canned response.a05(adversarial): 0.725 -> 0.205. The answer repeats an unverified claim from the context and contradicts the reference by giving August 31, 2011 instead of July 2011.m04(multihop): 1.000 -> 0.725. The answer faithfully reports only what the context states and correctly notes the context lacks Columbia's cause, but it omits the required detail that Columbia was lost during re-entry due to foam breaching the wing, so it is incomplete.a01(adversarial): 0.700 -> 0.505. The answer accurately notes the conflicting context and does not assert a false fact, but it fails to provide the correct answer (Neil Armstrong) and instead highlights the contradiction, contradicting the reference.m01(multihop): 0.890 -> 0.725. The answer correctly identifies Gemini 8 and the malfunction, but omits that Armstrong was the commander of Apollo 11, a key fact in the reference.
What the next stage has to change
The dominant failure is only some of the gold documents were retrieved, so multi-fact answers came out incomplete (7 questions). A next stage that does not address this specific cause should not be expected to move the headline score, whatever else it improves.
Figures
radar all

tag bars headline

tag bars answer correctness

retrieval curves

rank metrics

latency breakdown

cost latency

pareto quality cost

failure heatmap

failure modes

evolution

adversarial grid

judge reliability

radar v3 vs v2

regression v3 vs v2

v3 retrieve decisions
