Compare Classic RAG with Agentic RAG in LangChain4j 1.18: retrieve-once versus a graded loop, plus router, tools, plan, and self-RAG. Java owns whether the evidence is sufficient.
Classic RAG
Embed, take top-k, stuff the prompt, generate. Works for FAQ. Fails quietly.
Agentic RAG
Retrieval is a decision. The graded loop is one graph, not the only one.
Other graphs
Router, tools, plan-plus-parallel, and self-RAG, each with a LangChain4j 1.18 snippet. Same valve. Different hops.
Grade
A GradeVerdict record owns sufficient. The model only proposes relevance.
When
Stay classic for FAQ. Pay for the loop when a miss is expensive.
Litmus
If you cannot name the exit, you have a more expensive stuff-the-prompt.