Why does RAG fail when my question doesn't match the wording of the source document?
RAG retrieval works by embedding the question and comparing it to embedded chunks of the corpus, and embedding similarity tracks meaning loosely, not exact wording. A chunk that answers the question in different words, a synonym, a different verb, an abbreviation the corpus never spells out, can sit far enough from the question’s embedding that it never makes the top results, even though it holds the right answer. This is a retrieval failure, not a generation one: the model never saw the chunk, so no amount of prompting fixes it. Keyword search doesn’t share the weakness, since it matches literal terms, which is why production systems that hit this problem usually add a keyword pass alongside the vector one and merge the two rankings rather than trusting embeddings alone. If an answer consistently misses information you know is in the corpus, check what the retrieved chunks actually were before assuming the model reasoned badly.