Naive RAG vs. Agentic RAG, clearly explained (with visuals):

- It retrieves once and generates once. If the context isn't enough, it cannot dynamically search for more info.
- It cannot reason through complex queries.
- The system can't modify its strategy based on the problem.
The following visual depicts how it differs from naive RAG.
The core idea is to introduce agentic behaviors at each stage of RAG.
Step 3-8) An agent decides if it needs more context.
↳ If not, the rewritten query is sent to the LLM.
↳ If yes, an agent finds the best external source to fetch context, to pass it to the LLM.
Step 10-12) An agent checks if the answer is relevant.
↳ If yes, return the response.
↳ If not, go back to Step 1.
This continues for a few iterations until we get a response or the system admits it cannot answer the query.
That said, the diagram shows one of the many blueprints an agentic RAG system may possess.
You can adapt it according to your specific use case.
Find me → @_avichawla
Every day, I share tutorials and insights on DS, ML, LLMs, and RAGs.
