Patralekh Satyam
Menu
Generative AI in production

RAG Did Not Fail, Our Mental Model Did

Treating RAG as a single pattern is like calling every vehicle transport and assuming a bicycle, a delivery truck and a cargo ship can all do the same job.

Patralekh Satyam15 December 20253 min readAlso on LinkedIn
In brief

Patralekh Satyam explains why the simple chunk, embed, retrieve, generate model of retrieval-augmented generation breaks down in production, and why RAG has split into four distinct problem spaces: enterprise knowledge control where traceability and human oversight matter (RAGFlow), multimodal understanding across images, tables and equations (RAG-Anything), speed-first prototyping (LightRAG), and research-grade evaluation of which approach works (FlashRAG). His conclusion: RAG is no longer a tool selection problem but a problem classification problem.

When large language models first showed up, RAG felt like a quiet breakthrough. Instead of retraining models every time our data changed, we could simply give the model access to our documents and let it "read before answering." For many teams, this was the moment LLMs started feeling useful beyond demos.

Back then, RAG followed a simple mental model. You chunked the data, created embeddings, retrieved the top results, and generated an answer. That approach worked well in the early days, and I even explained this phase in one of my YouTube videos while comparing RAG with fine-tuning and prompt engineering. It was the right solution for the right time.

The trouble started when teams moved from experiments to production. I saw this clearly with a team that built an internal knowledge assistant using a basic RAG pipeline. In demos, it looked great. Once employees started using it daily, confidence dropped fast. The answers sounded fluent, but no one could tell where they came from, and when the system got things wrong, there was no easy way to trace or fix the issue. The problem was not embeddings or prompts. They had picked the wrong class of RAG system for an enterprise knowledge problem.

This is where the analogy breaks down for many teams. Treating RAG as a single pattern is like calling every vehicle "transport" and assuming a bicycle, a delivery truck, and a cargo ship can all do the same job. On slides, they look similar. In the real world, they are built for very different purposes.

RAG today is no longer a single pattern. Over the last year, it has quietly split into four distinct problem spaces: enterprise knowledge control, multimodal understanding, speed-first prototyping, and research-grade evaluation. This is why the advice "just build a RAG pipeline" increasingly fails teams that are trying to build real systems. Different problems may look identical in architecture diagrams, but they behave very differently once users and data enter the picture.

If you look at the open-source ecosystem through this lens, the diversity starts to make sense. Each serious RAG framework is optimizing for a different class of problem.

RAGFlow fits teams that care deeply about governance, traceability, and human oversight. This is the system you reach for when answers need to be explainable and auditable, not just fast. It is well suited for enterprise knowledge workflows where knowing the source of truth matters as much as the answer itself.

RAG-Anything is designed for situations where knowledge is not just text. If your documents include images, tables, diagrams, or equations, and those elements matter to understanding, this approach is far more effective. It reflects the reality of domains like engineering, research, and compliance, where meaning is spread across multiple formats.

LightRAG is built for speed and iteration. It is the right choice when you want to experiment quickly, validate ideas, and still go beyond a naive vector search. For early product iterations or fast-moving teams, this balance between simplicity and structure is often exactly what is needed.

FlashRAG serves a very different purpose. It is for teams asking a deeper question: which RAG approach actually works for this type of problem? Instead of shipping features, it focuses on evaluation, comparison, and reasoning, making it especially useful in research and method selection.

The real takeaway is simple but important. RAG is no longer a tool selection problem. It is a problem classification problem. If you choose the wrong class of RAG system, no amount of prompt tuning or embedding optimization will fix the outcome. I have seen this happen more times than I would like.

I am curious to hear from others: what kind of RAG problem are you actually trying to solve right now?