从朴素到智能:RAG 为什么需要 Agent 化——Agentic RAG 系列之一

一句话价值:大模型会思考,但不知道你公司内部的文档;RAG 就是"喂资料"的办法。但最朴素的 RAG 是条死板的流水线------不管问题多简单,都硬走一遍检索生成。本文用五个"卡壳的瞬间",讲清楚为什么固定流程不够用,以及"智能 RAG"到底在智能什么。


先看一个现实的坑

公司内部的 Agent,基本都要接 RAG。为什么?因为 LLM 能推理,但它的知识截止在训练数据,不知道你公司内部的规章、文档、产品资料。要让它基于内部资料回答,就得在提问时把相关资料"喂"进去------这就是 RAG(Retrieval-Augmented Generation,检索增强生成)。

最朴素的 RAG 是一条固定的三件套流水线:

flowchart LR A[用户问题] --> B[向量检索 top-k] B --> C[拼接成 prompt] C --> D[LLM 生成答案]

用 LangGraph 写出来,就是两个写死 next 的节点(这正是 naive-rag.mjs 的实现骨架):

js 复制代码
const graph = new StateGraph(GraphState)
  .addNode("retrieve", retrieveNode)   // 检索:相似度 top-k
  .addNode("generate", generateNode)   // 生成:拼接 prompt 给 LLM
  .addEdge(START, "retrieve")
  .addEdge("retrieve", "generate")     // next 写死:永远先检索后生成
  .addEdge("generate", END)
  .compile()

这玩意能跑,但问题也很快暴露------下面五个场景,每一个都会让它"卡壳"。


五个"不够用"的瞬间

1. 简单问题也在浪费资源

用户问 1 + 1 = ?,它照样去向量库里检索一遍、拼 prompt、再生成。检索、拼接、额外的 token,全都是浪费。 复杂问题需要检索,简单问题根本不需要------但固定流程没有"跳过检索"的开关。

2. 检索错了没人纠

流程里没有"评估"这一步:检索回来的内容到底准不准、够不够,没人判断。检索错了就错了,LLM 只能基于一堆不相关的片段硬编,编错了也没人拦。

3. 多步推理做不了

问一句:「《天龙八部》四大恶人排行第二的是谁?此人之子在身世揭晓前,其生父在武林中的公开身份是什么?」

这个问题要先查 A(四大恶人老二是谁),拿到中间结果,再查 B(他儿子的生父身份)。固定流程只会检索一次,把"最终答案"当"单条证据"去搜,永远搜不到------因为答案散在多段、需要拼接推理。

4. 纯语义检索会"认错人"

「高血糖」和「低血糖」,语义上极其相近,向量相似度很高;但它们恰恰是相反的概念。纯语义检索分不清这种"专业术语、精确实体",容易把「低血糖该吃什么」匹配到「高血糖」的片段上去。这种场景,关键词匹配(BM25、like 查询)反而更准。

5. 本地库没有就干瞪眼

知识库里没有的内容,固定流程只会硬着头皮用不相关的片段生成------LLM 就开始"一本正经地胡说八道"。它不会想到"去联网搜一下补上",因为没有这个工具,也没有这个决策。


升级路线图:从"固定"到"智能"

这五个坑,指向同一个根因:流程是写死的。要解决它们,不是把检索做得更准(那是另一回事),而是让流程本身"会思考、会判断、会纠错"。

于是 RAG 有了三层演进:

Naive RAG Advanced RAG Agentic RAG
流程 固定三件套 仍是固定流水线,但检索前后加了优化 图/Agent 让流程可决策、可循环
是否检索 永远检索 永远检索(简单问题也照走) 路由判断:简单问题直接答
检索几次 一次 一次(但质量更高) 多步:先查 A 再查 B
有没有纠错 无 无 自我评估,不够就再来

一句话概括这条主线:

把"死板的检索生成流水线",升级成"可思考、可判断、可纠错的智能 RAG 架构"。

而这背后真正的分水岭,不是"加了什么组件",而是"控制权交给了谁"------本文先立全局,后续三篇分别展开 Advanced 的优化、Agentic 的本质、以及怎么落地设计。


本篇小结

  1. RAG 解决的是"LLM 不知道内部资料",最朴素的做法是固定三件套:检索 → 拼接 → 生成。
  2. 固定流程在五个场景会卡壳:简单问题浪费资源、无纠错、多步推理做不了、纯语义检索认错人、本地没有不会联网。
  3. 五个坑指向同一根因:流程写死,没有决策。
  4. 升级路线分三层:Naive(固定)→ Advanced(优化但固定)→ Agentic(可决策可循环)。
  5. 真正的分水岭是"控制权交给谁",下一篇先讲 Advanced RAG 到底优化了什么、以及它为什么仍不够。

系列预告

  • 下一篇:Advanced RAG 做对了什么------查询改写、HyDE、混合检索、重排,把固定流水线打磨到极致,但天花板在哪。
  • 之后:Agentic RAG 不是"加个路由" (控制权易主的本质)、架构师视角的四层设计(怎么落地)。
相关推荐
码林拾遗WJ5 小时前
你的 Prompt 没有测试覆盖:聊聊 LLM 应用的评估集工程
llm·prompt·评估
虫无涯12 小时前
大模型联动 CodeQL + Coverity 完整落地方案
人工智能·python·大模型·llm·codeql·coverity
Yuzhiyuxia13 小时前
【RAG面试系列】工程落地
llm·rag
桃西西呀14 小时前
LangChain 之三:模型与消息抽象
人工智能·langchain·llm
桃西西呀15 小时前
LangChain 之二:组合原语深拆
人工智能·llm·ai编程
slacker-kian17 小时前
BeeAI 实战:从简单对话到 Agent 的驯服之路
ai·llm·agent·qwen·beeai
吃饱了得干活1 天前
Agent 的决策与规划:ReAct、Plan-and-Execute、Reflexion 与 Tree of Thoughts
人工智能·llm·agent
CoderJia程序员甲1 天前
GitHub 热榜项目 - 周榜(2026-09-26)
ai·大模型·llm·github
熊猫钓鱼>_>2 天前
MetaAI深度研究研究报告
ai·meta·大模型·llm·agent·web·metaai
老A的AI实验室2 天前
赛博月刊 #2026年9月
大数据·人工智能·深度学习·ai·llm