
Retrieval-augmented generation is well understood in research settings. In production the failure modes compound quietly: stale indexes, embedding drift, context poisoning and latency cliffs. These are the safeguards we put in place before a retrieval system ships.
Stale indexes
A retrieval system is only as current as its index. When source documents change and the index does not, the model answers confidently from yesterday’s truth. We treat index freshness as a contract with an owner and a measurable lag, not as a background job.
Embedding drift
Swapping or upgrading an embedding model changes the geometry of the whole store. Mixed generations of vectors degrade recall without raising an error. Version the embedding model alongside the index and re-embed deliberately, with the evaluation suite as the gate.
Context poisoning
Retrieved text is untrusted input. A single document carrying instructions can steer a model that treats context as authority. Separate instructions from retrieved content, honour document permissions at query time, and keep citations so a reader can see exactly which passage produced which sentence.
Latency cliffs
Retrieval, reranking and generation each add latency, and the total is rarely linear under load. Set a budget per stage, measure it in production, and decide in advance what the system does when a stage runs over.
Citations are the product
In our own product each finding is explained with the evidence it was computed from one click away, with markers for how certain the system is. We build client retrieval systems the same way: grounded answers with citations and permissions honoured, and an evaluation suite the client keeps.
Sources
- Lewis et al., “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”, NeurIPS 2020.
- MIT NANDA, “The GenAI Divide: State of AI in Business 2025”.