Retrieval-Augmented Generation (RAG) is often described as a simple pipeline:
Query → Retrieve documents → Send context to an LLM → Generate answer
In production, however, retrieval is rarely that simple.
The retriever can return irrelevant documents. Important information may be buried in the middle of a document. A query may be too vague for semantic search. Retrieved chunks may lose their surrounding context. And sometimes the model does not need retrieval at all.
The quality of a RAG system therefore depends heavily on how information is retrieved, filtered, ranked, compressed, and presented to the model.






