为何直接问大模型不够准
你有没有过这样的经历:让大模型回答一个具体的新闻细节,它却一本正经地编出一段。
可当你把同样的关键词敲进搜索框,跳出来的每一条都带着来源和时间戳——真实、可靠、可复核。
同一个问题,两种答案。一个像凭记忆背书,一个像翻着资料作答。
我曾问它上周某家公司新产品的定价,它答得煞有介事,一查却完全对不上。大模型并非不想答准——它的知识在训练结束的那一刻就被冻结了,之后的世界,它再也看不见。
它像一个从不带参考书进考场的优等生,全凭记忆答题:记得住的是常识,记不住的是那些不断变化的细节。

RAG 如何为大模型挂上知识
问题不在于大模型”笨”,而在于它的知识被”冻”住了。
参数里的世界,定格在训练完成的那一刻。此后发生的新闻、新发表的论文、你公司内部的技术文档——它一概不知,而且它甚至不知道自己”不知道”。
RAG(Retrieval-Augmented Generation,检索增强生成) 要解决的,正是这道裂缝——把模型的记忆和外部的实时信息重新”缝”到一起。
打个比方,RAG 像一位图书管理员:你提问时,它先去书库(知识库)里翻出几段最相关的资料,再把这些原文和你的问题一并递给模型,让它”看着资料回答”,而不是凭空回忆。
撇开繁琐的技术细节,核心就三步:
1. 建索引:把你的文档切块、转成向量,存进向量数据库。
2. 召回:来了问题,同样转成向量,在库里快速比对,取出最相关的 Top-K 个片段。
3. 增强生成:把这些片段和问题拼成新的提示词,交给大模型生成答案。
关键全在第二步的”相关”二字。它能找到对的内容,不是因为”读懂”了文字,而是靠数学算出了语义上的远近。

三步拆解:向量化、索引、召回
我们在搜索框里敲下问题,几乎瞬间就能拿到相关结果。可这套”找资料”的机制究竟是怎么转起来的?翻遍技术文档后我发现,从头到尾就三件事。
第一件,向量化。 原始文档没法直接拿来比对,得先切块、再转成数字。Embedding 模型会把每段文字压缩成一串浮点数,语义相近的段落,数字也彼此靠近。整个第一步就是:先按几百字分块,再做 Embedding,最后为这些向量建好索引。
第二件,索引,它决定速度。 Facebook AI 开源的 FAISS 支持近似最近邻搜索(ANN),不必像全量比对那样慢到不可接受——靠倒排文件(IVF)加乘积量化(PQ),它能把十亿级向量的检索压回毫秒级。
第三件,Top-K召回,它决定答案质量。 K 太大,噪声就被一起喂给模型;K 太小,关键信息又会漏掉。常规取 3~8 个块,但最好随知识密度动态调整这个窗口。
不过,再精确的向量也有软肋。上面这一整套都依赖映射质量和切分方式,而用户的提问措辞往往和文档原话对不上——这正是重排器登场的地方。在把结果交给大模型之前,用一个轻量的交叉编码器,从 10~20 个候选块里挑出真正最相关的部分。

RAG 工程落地的三个权衡
我们做了个 RAG demo——向量检索 + 大模型生成,效果惊艳。可一上生产,就翻车了。
有个用户问「去年 Q3 的营收」,向量检索把语义相近的合同条款一股脑全捞了上来:数字是有了,却全是错的。向量擅长理解”意思”,却不擅长精确匹配”数字”。踩了这个坑我才明白:落地不是把流程跑通就行,而是每一步都在做取舍。
第一道坎:混合检索。
只靠纯向量检索,就像凭感觉认人——认得出”那个穿蓝衣服的”,却认不出身份证号。所以在生产环境里,我基本都会再加一路 BM25(关键词匹配),两路结果合并、去重。语义负责找相关,关键词负责钉精确,互补才稳。
第二道坎:重排。
Top-K 召回回来的文档,排序其实只是”差不多”,不能直接塞给大模型。起初我图省事,按相关性分数截取前 5 条,结果答案文不对题。后来接上 Rerank 模型,把 Top-50 的候选重新精排,效果立刻两样。
| 策略 | 代价 | 收益 |
|---|---|---|
| Top-K 直出 | 快 | 相关度粗糙 |
| Rerank 重排 | 慢几十毫秒 | 答案精准度大幅提升 |
第三道坎:幻觉与延迟的互相拉扯。
想压住幻觉,就得喂给模型更多参考资料,上下文随之变长;可上下文一长,首字延迟又飙上去。我的做法是:把 temperature 压到 0.2,让它少自由发挥;同时把 max_tokens 的上限钉死。多轮问答时,还会让 Agent 先复述一遍查到的数字、再给结论——免得它把旧数据和新数据搅在一起。

边界与未来:RAG会走向何方
RAG 不是银弹。它真正管用的场景其实很窄:知识频繁变动、答案需要能溯源。
要是只问一个常识问题,上下文塞得下,就别上 RAG。多一道检索是成本,不是装饰。
更值得盯住的是两个方向。多模态把检索从文字扩到图像和音频——你问”这张截图里的报错是什么意思”,它检索的是画面,而不是字符。Agent 则让 RAG 退回成工具链上的一环:模型自己判断什么时候该去查资料,而不是每次都机械地先检索、再生成。
RAG 这个词会慢慢淡出,但检索与生成这道命题不会。别追着风口跑——低头看看手上的任务,卡在哪一步,就用哪一步的工具。
愿智能越走越远时,仍朝着可信赖的方向生长