RAG 不是技术潮流,是大模型几个硬伤的工程修补
幻觉、知识截止、不知道私有数据、不可追溯——大模型四个结构性缺陷被工业界用一种机制接住。RAG 不是潮流,是补丁。
一家公司的客服系统接到一个用户问题:你们昨天发布的退货新政是什么?模型一本正经地回答了一段听起来很合理、但内容完全不存在的退货规则。事后查证,新政策确实是昨天发的,模型完全没见过——但它也不会承认自己不知道,它选择编一个。
读完这段如果有共鸣,那 RAG 对你来说不是新名词。Lewis 等人在 2020 年提出 RAG 时,论文里要解决的其实是另一对问题:模型把知识压在参数里以后,没办法说"这句话出自哪里",也没办法在不重训的情况下加新知识。后来这套机制被工业界拿去用,发现它还顺手补上了大模型另外两个被广泛诟病的缺陷——幻觉、和"不可能知道你公司内部数据"。四个硬伤,一种机制,凑成了今天大家说的 RAG。
把 RAG 当"潮流"或者"框架选型",会错过它真正的位置。它是对大模型几个结构性问题的针对性工程修补。下面按硬伤逐个拆开看。
硬伤一:幻觉,模型会编
2023 年 6 月,纽约南区联邦地区法院审理 Mata 诉 Avianca 案。原告律师 Steven Schwartz 在提交的法律意见里引用了 6 个判例支持立论。法官查证后发现,这 6 个判例都不存在——是 ChatGPT 编造的。Schwartz 因此被法院依 Rule 11 处罚 5000 美元,事件被各大媒体报道,成为大模型在专业场景"翻车"最广为人知的案例。
这件事不是孤例,是大模型最常见的失败模式之一。Vectara 在 2023 年 11 月开源了 Hughes Hallucination Evaluation Model(HHEM),方法是给模型一篇文章、要求它只用原文内容写摘要,再统计摘要里有多少句子是原文不支持的。第一批结果里 GPT-4 大约 3% 摘要句子带幻觉,GPT-3.5 和 Llama-2-70B 更高。换言之,即使把原始资料原封不动给到模型,它仍然有几个百分点的概率往答案里掺自己想出来的事实。
RAG 怎么补这一档:先检索后回答。模型不在"它记得什么"的范围里生成,而在"刚刚拉出来的几段文档"的范围里生成。回答出错的概率不会归零——Vectara 的 3% 就是在源文档已经摆在面前的设定下测的——但比让模型凭参数自由发挥要稳定得多。更重要的是,回答可以和原文做事后比对,幻觉至少变成了可检测的、有边界的失败模式。
硬伤二:知识截止,模型不知道今天
GPT-4 在 2023 年 3 月发布时,训练数据截止 2021 年 9 月——距发布快两年。同年 11 月的 GPT-4 Turbo 把截止时间推到 2023 年 4 月,仍然落后半年以上。Claude 2 在 2023 年 7 月发布,数据截止在 2023 年初。这是所有大模型的共有约束:训练是一个一次性事件,参数固定下来之后,世界继续发生但模型不知道。
"重训一遍"听上去是最直接的解法。Sam Altman 在 2023 年的公开演讲里提到,GPT-4 的训练成本"超过一亿美元"。这个量级的代价没有任何团队能为每周一次的知识刷新承担。即使是开源 7B–70B 模型,一次完整微调也在十万到百万美元的算力区间,远超"加一篇新文档"的工程预算。
RAG 怎么补这一档:把最新文档放在调用时的上下文里,而不是放进模型权重。索引可以每晚更新、每小时更新、甚至实时更新——成本是几次 embedding 调用加一次向量库写入,不是一亿美元。模型参数永远停在它训练那天,但它在每次调用时拿到的资料可以是今天上午十点的。
硬伤三:私有数据,模型不可能知道你公司
模型训练用的是公开互联网。你公司内部的合规手册、产品 wiki、客户合同、上周开会的会议纪要,没有一份进了 GPT-4 或 Claude 的训练集。这不是"模型还不够大"造成的,是物理事实——这些数据它没机会看到。
"那我们就微调一个自己的模型"是工程师的下一反应。这条路 2023–2024 年被反复验证过:能调风格、能调格式、不能稳定地塞事实。Ovadia 等人 2023 年 12 月在 arXiv 上挂出 "Fine-Tuning or Retrieval?"(2312.05934),结论很直接——在事实知识注入上,RAG 全面领先无监督微调,无论是模型原本就见过的知识还是全新知识。2024 年 3 月 Soudani 等人的后续研究在长尾事实上得出同样结论:RAG 大幅领先微调。两篇论文还都提到 catastrophic forgetting 这个伴生风险——给模型塞新事实的同时,它可能丢掉别的能力。
RAG 怎么补这一档:私有数据不进模型权重,只在调用时进上下文。模型保持通用,私有数据保持私有;新增一份合同就是新增一条索引记录,不是新增一次训练任务。
硬伤四:不可追溯,回答没有出处
法务、医疗、金融、合规——这些场景对"答案出自哪里"有硬要求。Mata 案之所以被处罚,本质上不是律师用了 AI,而是他提交的内容没有可核实的出处。这个问题不完全在于"大模型笨",更多是大模型的输出方式本身——它把答案融合在自然语言里,没有声明哪一句话依据哪份资料。
2023 年 2 月 7 日上线的 Bing Chat 是第一个把"带引用"做成默认体验的消费级 LLM 产品——回答里每个事实点后面挂一个链接,可以跳到来源页面。同年 9 月,Morgan Stanley 和 OpenAI 合作部署的 AI @ Morgan Stanley Assistant 对全体投顾上线,检索范围是公司约 10 万份内部研究文档;这套系统的合规价值不在于回答更聪明,而在于每个回答都能指回原始研究报告。
RAG 怎么补这一档:检索到的文档片段本身就是引用来源。模型在生成回答时同时知道它依据的是哪一段,工程层把这段元信息渲染到 UI 上即可。这件事用 prompt 工程和模型自我反思都做不稳——必须有外部检索这一步显式存在。
一张对应表
把四个硬伤和 RAG 的补法摆在一起:
| 硬伤 | 表现 | RAG 的补法 |
|---|---|---|
| 幻觉 | 编造听起来合理但不存在的事实 | 把生成约束在"刚检索出来的文档"范围内 |
| 知识截止 | 训练截止后的事一概不知道,但仍会回答 | 索引可以每天刷新,调用时把最新文档塞进上下文 |
| 私有数据 | 没见过你公司内部任何资料 | 私有数据不进模型权重,只在调用时进上下文 |
| 不可追溯 | 回答不带出处,无法核实 | 检索到的文档片段本身就是引用来源 |
下面这张图把"直接调模型"和"加上 RAG"两条路径放在一起对照。
图 1:有无 RAG 的对照
flowchart TD
subgraph 直接调用大模型
Q1[用户问题] --> M1[模型从参数里取知识]
M1 --> A1[回答<br/>可能编造<br/>停在训练截止日<br/>不知道私有数据<br/>无出处]
end
subgraph 加上 RAG
Q2[用户问题] --> R[检索]
D[文档库 / 索引<br/>可每日刷新] -.检索源.-> R
R --> P[文档片段进上下文]
Q2 --> P
P --> M2[模型基于检索内容生成]
M2 --> A2[回答<br/>有事实边界<br/>包含最新内容<br/>覆盖私有数据<br/>带出处]
end
顺带的反方:长上下文为什么没干掉 RAG
2023–2024 期间最像 RAG 替代品的方案是把上下文窗口做大。Anthropic 在 2023 年 7 月的 Claude 2 给到 100K token,11 月的 Claude 2.1 给到 200K。Google 在 2024 年 2 月的 Gemini 1.5 Pro 给到 100 万 token。一时间业内出现一种说法:上下文够大就不需要 RAG 了,把所有文档塞进去模型自己挑。
实际效果没有这么浪漫。Greg Kamradt 当时做的 needle-in-haystack 测试发现 Claude 2.1 在 ~90K token 之后召回明显下降——文档藏得深,模型未必看得见。Anthropic 在 Claude 2.1 公告里也承认了这一点。成本上,每次调用塞 200K 甚至 1M token,比检索出 5K 相关片段贵几十到几百倍——这种代价没人能在生产环境里每个请求都付。Google DeepMind 在 EMNLP 2024 发表的 "Retrieval Augmented Generation or Long-Context LLMs?" 给出了一个比较温和的结论:算力足够时长上下文质量略胜,但 RAG 的成本优势决定了它仍然是工业默认;论文给出的 Self-Route 是一种二者结合的折中。
更根本的一点是:上下文再大,也解决不了"新数据要从哪里来"的问题。索引一份文档库的工作量不会因为上下文从 200K 涨到 1M 就消失。长上下文是一个能力,不是一个替代方案。
RAG 也不是万能补丁
实事求是,下面几件事 RAG 没法解决:
- 多步推理和规划质量。RAG 提供事实,不提供思考。如果底层模型不擅长长链条推理,给它再准的资料也接不上。
- 没有可检索文档的任务。创意写作、全新数学证明、面向未知问题的策略设计——没有任何检索源能为这类任务提供素材。
- 检索范围内的幻觉。Vectara 的 3% 是在"原文已经摆在面前"的设定下测的——模型仍然会读错、归错、错配。
- 检索本身做不好。生产环境里 RAG 上线后表现差,绝大多数原因不在生成端,而在检索端:切片太碎、embedding 不匹配、rerank 不够、权限混乱。这一段工程量比写 prompt 大得多,但常被低估。
承认这些边界,才能正确地用 RAG——它不会替你解决所有 LLM 问题,它只是把"那四个硬伤"接住了。
一句话结尾
RAG 不是新潮流,是大模型自带几个硬伤的工程补丁。把它当补丁看,使用方式、上线门槛、和它能不能解决你眼前的问题,三件事都一下子清楚了。
参考资料
- Patrick Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks," NeurIPS 2020. https://arxiv.org/abs/2005.11401
- Vectara, Hallucination Leaderboard / HHEM, November 2023. https://github.com/vectara/hallucination-leaderboard
- Mata v. Avianca, S.D.N.Y., June 2023. https://en.wikipedia.org/wiki/Mata_v._Avianca,_Inc.
- Oded Ovadia et al., "Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs," EMNLP 2024. https://arxiv.org/abs/2312.05934
- Heydar Soudani, Evangelos Kanoulas, Faegheh Hasibi, "Fine Tuning vs. Retrieval Augmented Generation for Less Popular Knowledge," SIGIR-AP 2024. https://arxiv.org/abs/2403.01432
- Microsoft, "Reinventing search with a new AI-powered Microsoft Bing and Edge," February 7, 2023. https://blogs.microsoft.com/blog/2023/02/07/reinventing-search-with-a-new-ai-powered-microsoft-bing-and-edge-your-copilot-for-the-web/
- CNBC, "Morgan Stanley is launching an OpenAI-powered chatbot for its 16,000 financial advisors," September 18, 2023. https://www.cnbc.com/2023/09/18/morgan-stanley-chatgpt-financial-advisors.html
- Anthropic, "Claude 2.1," November 21, 2023. https://www.anthropic.com/news/claude-2-1
- Google, "Our next-generation model: Gemini 1.5," February 15, 2024. https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024/
- Zhuowan Li et al., "Retrieval Augmented Generation or Long-Context LLMs? A Comprehensive Study and Hybrid Approach," EMNLP 2024 Industry Track. https://aclanthology.org/2024.emnlp-industry.66/
我是姚磊
大模型应用开发者,关注 RAG、Agent 和产品化工程。沉淀实践中的判断、踩坑记录和可复用方法。联系我:yaolei_agent@163.com



