Asterism

为什么使用 RAG:它解决了大模型的哪些限制

内容摘要

大语言模型存在时效性差、专业领域不足、幻觉问题和数据隐私风险等局限性。RAG 通过"开卷考试"模式,先检索外部知识库再结合上下文生成,有效解决这些问题。本文还对比了 RAG 与微调、传统搜索的适用场景。

之所以需要 RAG,是因为大语言模型本身存在一些局限性。

通俗类比:

核心思想:让 LLM “开卷考试”而非”闭卷考试”

传统 LLM(闭卷考试)
用户问题 → LLM → 回答
(仅依赖训练知识)

RAG 系统(开卷考试)
用户问题 → 检索相关文档 → LLM + 文档 → 回答
(外部知识库 + 结合文档生成)

问题RAG 的解决方案效果
时效性实时检索外部知识库,支持动态更新实时性
领域专业性不足引入领域特定知识库(如医疗/法律)专业化
幻觉(Hallucination)基于检索内容生成,错误率降低减少幻觉
数据隐私风险本地化部署知识库,避免敏感数据泄露隐私保护
可解释性增加透明度,便于用户理解可追溯

RAG vs 其他技术

我们可以从两个维度来理解这些技术的区别。如下图所示,横轴代表”LLM 优化”,即对模型本身进行多大程度的修改。从左到右,优化的程度越来越深,其中提示工程和 RAG 完全不改变模型权重,而微调则直接修改模型参数。纵轴代表”上下文优化”,是对输入给模型的信息进行多大程度的增强。从下到上,增强的程度越来越高。

llm_optimization_matrixllm_optimization_matrix

基于此,我们的选择路径就清晰了:

RAG vs 传统搜索

下面简单对比一下二者:

维度传统搜索(搜索框)RAG(检索+生成)
用户目标找到文档/页面/附件直接得到可读答案/总结/对比结论
延迟与成本极低、易扩展更高(检索+LLM 推理)
可控性/可审计强:给原文链接弱一些:可能误解/总结偏差,需要引用与评测
风险低(主要是召回排序)更高(幻觉、引用错误、越权泄露)
数据治理相对成熟(ACL、字段过滤)更复杂(检索过滤+上下文脱敏+日志)
适用场景编号/标题/关键词检索、找模板、找制度原文客服解答、技术排障、制度解读、跨文档总结对比
最佳实践ES/BM25 + 权限过滤混合检索 + 重排 + 引用溯源 + 权限过滤 + 评测闭环