6.4 KiB
Eval Drift — Guardrails and Fix Pattern
🧭 Quick Return to Map
You are in a sub-page of RAG.
To reorient, go back here:
- RAG — retrieval-augmented generation and knowledge grounding
- WFGY Global Fix Map — main Emergency Room, 300+ structured fixes
- WFGY Problem Map 1.0 — 16 reproducible failure modes
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.
Evaluation disclaimer (RAG drift)
Drift signals here are measured inside specific RAG pipelines and datasets.
They are debugging indicators, not proof that a system will stay stable in all real workloads.
When evaluation metrics swing unpredictably across runs (precision, recall, ΔS, coverage) even though the data and index appear unchanged.
This signals eval drift: your evaluation harness is not structurally stable.
Open these first
- Recovery overview: RAG Architecture & Recovery
- Retrieval knobs: Retrieval Playbook
- Eval acceptance rules: Eval — Quality & Readiness Gates
- Precision & recall contract: Eval RAG Precision/Recall
- Ordering control: Bootstrap Ordering
- Pre-deploy safety: Predeploy Collapse
Core acceptance
- ΔS(question, retrieved) ≤ 0.45 across 3 paraphrases
- Coverage ≥ 0.70 per target section
- λ convergent on 2 seeds, stable across runs
- Variance of metrics ≤ 0.05 across replays
Typical symptoms → exact fix
| Symptom | Likely cause | Open this |
|---|---|---|
| Precision/recall varies ±0.20 each run | eval harness non-deterministic | Eval Precision/Recall |
| Identical queries give different metrics | bootstrap not fenced | Bootstrap Ordering |
| Eval metrics collapse on fresh deploy | index not fully warmed | Predeploy Collapse |
| Coverage < 0.50 despite gold answers | embedding or chunk drift | Embedding ≠ Semantic, Chunking Checklist |
Fix in 60 seconds
-
Lock seeds
Fix random seeds at retrieval, reranker, and eval harness layers. -
Fence bootstrap
RequireVECTOR_READY==trueand index hash match before eval begins. -
Replay 3 paraphrases
Eval the same question with 3 paraphrases. Require ΔS variance < 0.05. -
Cross-seed check
Run two seeds. λ must remain convergent across both. -
Regression gate
Ship only if coverage ≥ 0.70 and precision/recall stable within 0.05.
Copy-paste eval harness snippet
def eval_guardrails(question, retrieved, gold):
ds_qr = deltaS(question, retrieved)
ds_rg = deltaS(retrieved, gold)
assert ds_qr <= 0.45, "ΔS drift detected"
assert coverage(retrieved, gold) >= 0.70, "Coverage too low"
assert lambda_state(retrieved) in {"→","←","<>"} , "λ divergent"
return {
"ΔS_qr": ds_qr,
"ΔS_rg": ds_rg,
"coverage": coverage(retrieved, gold),
"λ": lambda_state(retrieved)
}
Diagnostic probes
- Re-run variance test: run eval 5 times, log precision/recall. Stddev >0.05 → unstable harness.
- Anchor comparison: compare ΔS to gold anchor vs decoy. If both similar, re-embed.
- Deploy warm-up: log
VECTOR_READYand index hash before eval.
🔗 Quick-Start Downloads (60 sec)
| Tool | Link | 3-Step Setup |
|---|---|---|
| WFGY 1.0 PDF | Engine Paper | 1️⃣ Download · 2️⃣ Upload to your LLM · 3️⃣ Ask “Answer using WFGY + ” |
| TXT OS (plain-text OS) | TXTOS.txt | 1️⃣ Download · 2️⃣ Paste into any LLM chat · 3️⃣ Type “hello world” — OS boots instantly |
Explore More
| Module | Description | Link |
|---|---|---|
| WFGY Core | Canonical framework entry point | View |
| Problem Map | Diagnostic map and navigation hub | View |
| Tension Universe Experiments | MVP experiment field | View |
| Recognition | Where WFGY is referenced or adopted | View |
| AI Guide | Anti-hallucination reading protocol for tools | View |
If this repository helps, starring it improves discovery for other builders.