Naive-RAG-First
Anti-pattern: reach for naive RAG before checking whether the knowledge actually needs retrieval.
Problem
When the knowledge lives in a structured store, semantic retrieval over embeddings is the wrong shape: the agent gets approximate, stale passages where a typed SQL query or a single API call would return an exact, fresh answer. The team pays embedding pipeline cost, vector store cost, and re-indexing cost on every update, and quality drops compared to the simpler design because retrieval is solving the wrong problem. Naive RAG also adds an entire failure surface — chunking, embedding drift, recall holes — that a typed tool call simply does not have.
Solution
Don't reach for RAG first. Check whether the knowledge lives in a tool (database, API, search service), a scoped system prompt, or a small inlined document. Only adopt RAG when those genuinely do not work. See tool-use, naive-rag for when it does.
When to use
- Cite this entry when RAG is proposed as the first answer to any knowledge gap.
- You are already here if a vector pipeline serves content that would fit in the system prompt or behind one API call.
- Adopt naive-rag only after tool-use, scoped prompts, and inlined documents have genuinely failed.
Open the full interactive page →
Diagram, neighbourhood map, code examples, related patterns and full provenance.