Home/Guides/What should your agent do when every re…
Guide · 6 min read

What should your agent do when every retriever tool comes back empty?

Agentic RAG has a hole: no defined behavior when retrieval fails. The Retrieve-Check-Route pattern closes it.

Quick answer

Add a relevance check after the agent's tool calls and a conditional edge that routes on the result: if retrieved context is relevant, generate from it; if every tool returned empty or low-relevance results, route to a base-LLM parametric answer or a controlled no-answer — never a silent failure or a hallucination.

An agentic RAG system reasons over a set of retriever tools and decides which to call. It is built to retrieve-then-generate. But there is a hole in that design: what happens when every tool returns nothing useful?

Without an explicit answer, one of three bad things happens. The agent returns nothing (or raises), discarding the base model's own knowledge. Or it fabricates a context and passes it along as if it were retrieved — a confident, ungrounded answer with no signal that no real documents were used. Or, with no relevance check, it injects the lowest-scoring chunks anyway and blends retrieved noise into the generation.

Why agentic failure is ambiguous

In a single-store pipeline, an empty result is unambiguous: the store had nothing. In an agentic system the agent chose the tools, so a failure could mean a bad query, the wrong tool, or a genuinely out-of-corpus question. That ambiguity is why the fallback has to live at the agent's decision layer, not bolted on after a single retriever.

Retrieve-Check-Route

The pattern adds two pieces to the graph:

The win is that out-of-corpus queries stop being a silent crash or a fabricated answer. The agent makes an honest decision and the user gets either a flagged best-effort answer or a clean no-answer.

Frequently asked questions

Why not just return the top chunk even if its score is low?
Because a low-relevance chunk injected into the prompt produces an answer that is confidently wrong and grounded in unrelated text — the worst outcome, since it looks authoritative. A relevance check prevents that pass-through.
How is this different from single-store relevance fallback?
Here the agent itself chose the tools, so failure is ambiguous (bad query, wrong tool, or out-of-corpus). The fallback must be defined at the agent's decision layer. For a single non-agentic store, use rag-relevance-fallback.
Should the fallback answer from the model or refuse?
Either, but make it explicit and labeled. A parametric fallback should signal that no documents were used; a controlled no-answer should say the corpus didn't cover the question. The point is to replace silent failure with an intentional choice.

Related skill

RAG

Agentic RAG Fallback

Designs a Retrieve-Check-Route fallback pattern for agentic (multi-tool) RAG systems so that when every retriever tool…

Turn this guide into a skill your agent can run

Stop re-explaining the same workflow. Loreto packages it as a Claude Code skill from any source.