一句话价值:大模型会思考,但不知道你公司内部的文档;RAG 就是"喂资料"的办法。但最朴素的 RAG 是条死板的流水线------不管问题多简单,都硬走一遍检索生成。本文用五个"卡壳的瞬间",讲清楚为什么固定流程不够用,以及"智能 RAG"到底在智能什么。
先看一个现实的坑
公司内部的 Agent,基本都要接 RAG。为什么?因为 LLM 能推理,但它的知识截止在训练数据,不知道你公司内部的规章、文档、产品资料。要让它基于内部资料回答,就得在提问时把相关资料"喂"进去------这就是 RAG(Retrieval-Augmented Generation,检索增强生成)。
最朴素的 RAG 是一条固定的三件套流水线:
用 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 的本质、以及怎么落地设计。
本篇小结
- RAG 解决的是"LLM 不知道内部资料",最朴素的做法是固定三件套:检索 → 拼接 → 生成。
- 固定流程在五个场景会卡壳:简单问题浪费资源、无纠错、多步推理做不了、纯语义检索认错人、本地没有不会联网。
- 五个坑指向同一根因:流程写死,没有决策。
- 升级路线分三层:Naive(固定)→ Advanced(优化但固定)→ Agentic(可决策可循环)。
- 真正的分水岭是"控制权交给谁",下一篇先讲 Advanced RAG 到底优化了什么、以及它为什么仍不够。
系列预告
- 下一篇:Advanced RAG 做对了什么------查询改写、HyDE、混合检索、重排,把固定流水线打磨到极致,但天花板在哪。
- 之后:Agentic RAG 不是"加个路由" (控制权易主的本质)、架构师视角的四层设计(怎么落地)。