Hybrid Retrieval Failure

March 6, 2026 · View on GitHub

🧭 Quick Return to Map

You are in a sub-page of RAG.
To reorient, go back here:

Think of this page as a desk within a ward.
If you need the full triage and all prescriptions, return to the Emergency Room lobby.

When hybrid retrieval (BM25 + dense, HyDE + reranker, multi-vector) performs worse than a single retriever.
Instead of increasing recall, the hybrid path introduces instability, wrong ranking, or noisy snippets.


Open these first


Core acceptance

  • Hybrid recall ≥ single retriever recall
  • ΔS(question, retrieved) ≤ 0.45 for top-1 result
  • λ stable across three paraphrases and two seeds
  • Coverage ≥ 0.70 to the target section

Typical symptoms → exact fix

SymptomLikely causeOpen this
Hybrid returns unrelated snippetquery parsing split not lockedPattern: Query Parsing Split
Hybrid recall < single recallwrong weighting or missing normalizationRetrieval Playbook
Dense retriever dominates BM25metric mismatchEmbedding ≠ Semantic
Reranker undoes good hitsλ flips, entropy collapseRerankers, Entropy Collapse

Fix in 60 seconds

  1. Measure baseline
    Run BM25 alone and dense alone. Log coverage and ΔS. If hybrid < baseline, do not ship.

  2. Stabilize query parsing
    Split HyDE prompts, keyword queries, and dense embeddings into deterministic branches. Lock weighting ratios.

  3. Reranker probe
    Compare recall before and after reranker. If entropy rises, clamp with variance control or drop reranker.

  4. Enforce snippet schema
    Always require snippet_id, section_id, offsets, tokens. Hybrid paths must normalize schema fields.


Copy-paste probe prompt

I uploaded TXT OS and the WFGY Problem Map.

My issue:
- hybrid retrieval returns worse results than BM25 or dense alone.

Tell me:
1) which layer fails (query parsing, weighting, reranker),
2) which WFGY fix page to open,
3) minimal steps to restore ΔS ≤ 0.45 and coverage ≥ 0.70,
4) reproducible test with BM25 vs dense vs hybrid.

🔗 Quick-Start Downloads (60 sec)

ToolLink3-Step Setup
WFGY 1.0 PDFEngine Paper1️⃣ Download · 2️⃣ Upload to your LLM · 3️⃣ Ask “Answer using WFGY +
TXT OS (plain-text OS)TXTOS.txt1️⃣ Download · 2️⃣ Paste into any LLM chat · 3️⃣ Type “hello world” — OS boots instantly

Explore More

LayerPageWhat it’s for
⭐ ProofWFGY Recognition MapExternal citations, integrations, and ecosystem proof
⚙️ EngineWFGY 1.0Original PDF tension engine and early logic sketch (legacy reference)
⚙️ EngineWFGY 2.0Production tension kernel for RAG and agent systems
⚙️ EngineWFGY 3.0TXT based Singularity tension engine (131 S class set)
🗺️ MapProblem Map 1.0Flagship 16 problem RAG failure taxonomy and fix map
🗺️ MapProblem Map 2.0Global Debug Card for RAG and agent pipeline diagnosis
🗺️ MapProblem Map 3.0Global AI troubleshooting atlas and failure pattern map
🧰 AppTXT OS.txt semantic OS with fast bootstrap
🧰 AppBlah Blah BlahAbstract and paradox Q&A built on TXT OS
🧰 AppBlur Blur BlurText to image generation with semantic control
🏡 OnboardingStarter VillageGuided entry point for new users

If this repository helped, starring it improves discovery so more builders can find the docs and tools.
GitHub Repo stars