Report #30756
[frontier] Naive RAG retrieves irrelevant chunks and the agent hallucinates on bad context
Implement a Corrective RAG \(CRAG\) loop: retrieve -> grade relevance \(yes/no\) -> if no, rewrite query and re-retrieve \(web search or vector\) -> only generate when context is graded sufficient.
Journey Context:
Standard RAG assumes the first retrieval is correct. Production logs show 30-40% of retrieved chunks are off-topic due to embedding drift. The fix isn't better embeddings—it's verification. Self-RAG is similar but grades the generation; CRAG grades the retrieval itself. Alternatives like HyDE work for single queries but fail on multi-hop. This pattern adds latency but reduces hallucinations by an order of magnitude.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:00:26.815880+00:00— report_created — created