RAGAI 系统技术理解产品思考

从"能用"到"好用":我如何理解 RAG 系统的优化闭环

从最初把 RAG 当作"数据外挂"的浅层认知,到理解检索精度、数据质量、反馈闭环三条优化主线——以及为什么用薯条工厂来类比 RAG Pipeline 意外地准确。

6 分钟

最开始,我对 RAG 的理解很浅

我最初认为 RAG(检索增强生成)不过是把一堆数据"外挂"在 LLM 上,当作另一种形式的 Prompt 塞进去。听起来很直觉,但这个理解几乎完全错了。

真正开始自己动手 Vibe Coding 之后,我才慢慢意识到:RAG 并非简单的数据外挂,而是有着一套细致的算法体系在支撑它。

如果让我现在重新解释 RAG,我会说: 它是一种把大量数据通过向量特征进行精细筛选,最终将最精简、最相关的信息提供给 LLM 的技术。关键词不是"外挂",而是"筛选"。

核心问题只有三个字:查不准

用过 RAG 的人都会遇到同一个困境——系统"能跑",但答案总是差那么一口气。追根溯源,问题几乎都可以归结为一句话:查不准

而"查不准"这件事,又可以拆解成三个方向:

  • 用来查的数据太差太杂 — 垃圾进,垃圾出
  • 进行查的行为太粗太略 — 检索策略过于简单
  • 得到答案后没有反馈 — 系统不知道自己对不对

这三个方向,也恰好对应了三条优化 RAG 的主线。

优化方向一:从数据入手

数据是 RAG 的地基。地基不稳,上面建什么都白搭。

数据清洗是第一步:过滤掉噪声信息、去除重复内容、统一格式。很多人跳过这步,直接把原始文档塞进向量库,然后疑惑为什么检索结果一塌糊涂。

Chunking(分块) 是第二步,也是最容易被低估的一步。分块策略直接决定了每个向量所承载的语义是否完整。块太大,语义模糊;块太小,上下文断裂。好的 Chunking 要保证每一块都是语义上自洽的单元,让向量能准确捕捉它的含义。

优化方向二:从检索入手

数据准备好了,检索策略同样关键。

混合检索(Hybrid Search) 是目前最实用的方案:把 BM25(字面关键词匹配)和 Embedding(语义向量匹配)结合起来用。两者各有优势——BM25 擅长精确词汇匹配,Embedding 擅长理解同义表达。单用任何一种都会有盲区,结合起来才能覆盖更多真实查询场景。

Rerank(重排序) 是检索链路里让我觉得最巧妙的一环。Rerank 模型通过注意力机制对候选结果打分排序——它反向借用了注意力机制的逻辑:不是通过输入预测输出,而是通过输出来判断输入是否匹配。

我以前只想到注意力机制能够根据输入预测下一个 Token,却没想到它还能被这样反向使用——通过"答案"来判断"问题和候选文档"是否搭配。这个角度让我对注意力机制的理解又深了一层。

优化方向三:从反馈入手

系统上线之后,最容易被忽视的恰恰是反馈闭环。

Evaluation(评估) 不只是跑一个准确率指标那么简单。更有价值的信号往往藏在用户行为里:追问率高不高?用户有没有在得到答案之后立刻换了个说法重新问?这些行为信号能告诉你检索到的内容是否真正满足了用户需求。

没有反馈,RAG 就是一个单向管道。有了反馈,它才能持续进化。

为什么叫 Pipeline?薯条工厂告诉你答案

RAG 常被描述为一个 Pipeline(管道),这个比喻其实比看起来要准确得多。

让我用薯条工厂打个比方:

土豆进入工厂,首先被切分成条状(Chunking),然后按照大小相似性进行匹配分类(向量化),再通过孔洞筛选确保形状一致(Rerank 过滤),最后把形状最好的几根送进名为 LLM 的油锅,炸出最符合用户口味的薯条。

整个过程:原始数据 → 清洗切分 → 向量检索 → 重排筛选 → 精准喂给 LLM → 生成回答。

每个环节都不是装饰,跳过任何一步,出来的薯条都会难吃。

最后,感谢注意力机制

写到这里,我忍不住要说一句:RAG 能运转,底层离不开注意力机制(Attention Mechanism)的支撑——无论是向量 Embedding 的质量,还是 Rerank 模型的打分逻辑,都和它密切相关。

注意力机制的本质是预测,但正是这种预测造就了现代 AI 的核心魅力:把人类历史中最复杂的语言文字,转化为机器可以理解和运算的数字向量

这种转化,是让 AI 真正"像人"的起点。