简介:RAG 不是「更聪明的模型」,而是「会查资料的模型」。本文将 RAG、微调与长上下文直读三条知识注入路径放入同一框架,从知识更新、成本结构、可追溯性、权限安全、能力边界、工程复杂度、迭代迁移七个维度逐一对比,并给出场景化选型判断与迁移注意事项,帮你判断何时该上 RAG、何时它会成为负资产。
在企业把大模型落地到私有知识场景时,摆在面前的通常有三条路:
这三条路的目标高度一致——让通用模型适配私有知识与领域任务,但实现机制、成本结构、能力边界差异巨大。选错路径的代价不是“效果差一点”,而是投入大量工程与人力后,系统依旧答不对、答不上、答不了。本文围绕“有什么区别、怎么选、什么时候不该用”展开七维拆解。
如果只记一句话:RAG 让模型答题前先翻资料——先去知识库查出相关段落,照着资料作答,答得出处;资料更新,答案跟着更新。
这句话里藏着 RAG 的全部价值和全部局限:
一个常见误区是把 RAG 当作“让模型变聪明”的手段。RAG 只解决“模型不知道”,不解决“模型不会答”。判断它是不是负资产,首先要判断你的问题是“不知道”还是“不会答”。
背景补充:RAG 的概念由某头部人工智能研究机构联合多所高校的研究者于 2020 年提出,发表于当年自然语言处理方向的顶级学术会议。原始论文在多个开放域问答任务上取得当时的最优结果,并观察到:相比纯生成模型,引入检索后的生成内容更具体、更多样、事实性更好。如今它已是企业知识库问答的主流方案,但热度掩盖了关键问题——多数材料只讲怎么用,不讲什么时候不该用,而在选型阶段,后者值钱得多。
一条“检索 + 生成”的流水线:文档接入、解析、切分、向量化入索引;用户提问时先检索,再把命中的段落拼进提示词,由大模型生成带出处的答案。知识存放在模型之外的语料库与索引中。
用领域语料对基座模型做继续训练(全参或参数高效微调),把知识、格式、风格“内化”进模型参数。知识更新意味着再训练一轮。
不建索引、不训练,直接把文档或其片段放进上下文窗口让模型阅读后回答。适合一次性、小规模、临时性任务,是三者中最轻的起点。
RAG 更新知识 = 更新文档 + 增量重建索引,通常小时级甚至分钟级生效,不触碰模型参数。微调更新知识 = 重新准备数据、再训练、再评估、再发布,周期以天或周计,且存在旧知识覆盖与新知识冲突的风险(继续训练可能引发灾难性遗忘,需要混入历史数据回放)。
判断条件:知识更新频繁(制度、价格、产品资料、客服口径)→ RAG 明显占优;知识长期稳定、以“表达方式”为主(术语风格、报告格式)→ 微调占优。
要点:RAG 的“便宜”是相对重新训练而言的。检索链路的工程质量(切分策略、嵌入模型选择、重排)是真实的持续性投入,低估它会直接导致“建了但不好用”。
RAG 天然带引用:答案可附来源段落,便于人工核验、审计与申诉。这在金融、医疗、法律等强合规行业是硬性需求,不是加分项。微调把知识“内化”进参数,无法指出依据来自哪份文档,出错时难以定位与举证。这是两者最本质的区别之一。
对“同一知识库、不同可见范围”的组织形态,RAG 的架构优势是结构性的。
RAG 能解决:事实性知识缺失、知识过时、私域文档问答、降低幻觉(答案有据可依)。
RAG 不能解决:推理能力弱、多跳逻辑链断裂、输出格式不遵循、领域表达风格不到位、任务技能不足。这些属于微调或更强基座模型的领地。
典型负资产场景:检索回来的段落全部正确,但模型组织答案时逻辑混乱、格式跑偏——问题不在检索而在能力,此时上 RAG 是花错了钱。反向同理:让微调去背易变的文档事实,每轮资料更新都要重新训练,同样是负资产。
RAG 链路环节多,每一段都有质量问题:
# 通用 RAG 流程伪代码query = user_questionrewritten = rewrite(query) # 查询改写与扩展cands = vector_search(index, embed(rewritten), top_k=20) # 向量召回cands += keyword_search(corpus, rewritten) # 可选:关键词召回互补hits = rerank(cands, query, top_k=5) # 重排hits = filter_by_permission(hits, user) # 权限过滤prompt = assemble(template, hits, query) # 组装上下文answer = llm_generate(prompt) # 生成并回填引用
常见故障点:切分不当导致召回碎片化;嵌入模型与领域词汇不匹配导致召回漂移;表格、扫描件解析失败导致知识缺失。尤其要注意:召回不准时,模型会把错误资料“一本正经”地组织进答案——给错资料可能比没有资料更危险。运维上需监控检索命中率、引用准确率、端到端延迟。微调链路相对成熟(数据构造→训练→评估→发布),但数据质量决定一切,发布后的指标漂移监控同样不可省。
| 维度 | RAG | 微调 | 长上下文直读 |
|---|---|---|---|
| 知识存放 | 模型外的语料库/索引 | 模型参数内 | 上下文窗口内 |
| 知识更新 | 更新文档与索引,快 | 重新训练,慢 | 每次随输入给出,无沉淀 |
| 出处可追溯 | 天然支持引用 | 无法溯源 | 部分可指认,依赖模型 |
| 权限控制 | 检索层可过滤,粒度细 | 粒度消失 | 依赖调用侧管控 |
| 擅长 | 事实、时效、私域问答 | 风格、格式、任务技能 | 临时性小规模分析 |
| 不擅长 | 提升推理与表达能力 | 承载易变事实 | 高频复用、长文档成本 |
| 工程复杂度 | 高(多环节链路) | 中(以数据为主) | 低 |
| 迁移成本 | 低(知识资产可复用) | 高(参数不可迁移) | 无 |
RAG 与微调不是替代关系,而是分工关系:RAG 负责“知道”——把易变、需溯源的事实外置到知识库,随资料更新而更新;微调负责“会答”——把稳定的风格、格式与技能内化进参数。三个本质判断决定选择:知识更新频率、是否需要出处、问题属于“不知道”还是“不会答”。先建评估集、再选路径、小步验证,才不会让本该提效的工具变成负资产。