Same LLM, same data, same agent architecture, and yet different results.
The difference is often the engineering stack: Prompt → Context → Harness → Loop → Graph
The important question: which runtime decisions should architecture constrain at design time?
Corrective RAG
Proposes Corrective Retrieval Augmented Generation (CRAG) to improve the robustness of generation in a RAG system.
The core idea of this paper is to implement a self-correct component for the retriever and improve the utilization of retrieved documents for augmenting generation.
The retrieval evaluator helps to assess the overall quality of retrieved documents given a query. Think of this as a step to improve the reliability of the retrieved documents.
Using web search and optimized knowledge utilization operations can improve automatic self-correction and efficient utilization of retrieved documents. This work also implements an algorithm that eliminates redundant context found in retrieved documents.
The paper has all the experimental results but I really like the idea of using the self-correct components as there are a lot of ways the retriever can go wrong. I think this work offers a promising approach to keep refining and enhancing RAG systems to produce more reliable results.