Skip to content

背景:为什么需要 RAG

大语言模型(LLM)在通用语言能力上表现惊人,但在企业落地时却反复遇到三类问题:知识过时、事实幻觉、私域信息缺失。RAG 正是为了在不重新训练模型的前提下,把最新、最相关、最可信的知识注入生成过程。

从 Prompt Engineering 到 RAG

阶段做法优点局限
Prompt Engineering在提示词里直接补充背景知识零成本、见效快上下文长度有限,知识无法动态更新
Fine-tuning用领域数据继续训练模型参数风格与领域知识内化训练成本高,知识仍随模型版本固化
RAG在生成前检索外部文档片段知识实时、可溯源、可治理需要额外检索基础设施与工程投入

RAG 并不是替代 Fine-tuning,而是与之互补:Fine-tuning 负责“模型能力”与“输出风格”,RAG 负责“事实来源”与“动态知识”。

LLM 需要 RAG 的三类场景

  1. 知识时效性

    • 模型训练数据有截止日期,无法回答“今天股价”“本周发布”类问题。
    • RAG 把企业知识库、数据库、API 结果实时接入。
  2. 事实幻觉

    • LLM 会“自信地胡说”。RAG 通过检索到的原文片段约束生成内容,并提供引用(citation)供用户核验。
  3. 私域与专业知识

    • 内部文档、设计稿、代码、会议记录不会出现在公网预训练语料中。
    • RAG 让这些数据成为可检索的知识源。

RAG vs 长上下文 vs 持续预训练

方案核心思想何时选
RAG检索少量相关片段后生成大多数问答、客服、合规场景
长上下文(Long Context)直接把整本书/整份报告塞进 prompt需要全局推理、章节间依赖强的任务
持续预训练(Continual Pre-training)定期用新语料更新模型参数领域术语、语言风格需要深度内化

长上下文可以降低检索失误,但无法解决“知识每天都在变”和“私域数据不能公开训练”的问题;持续预训练成本最高,适合 RAG 仍然回答不好的深层领域问题。

RAG 的适用边界

RAG 适合:

  • 答案可以从已有文档中推导出来的任务。
  • 需要引用来源、可审计的场景(客服、医疗、法律、金融)。
  • 知识更新频率高、版本多的业务。

RAG 不太适合:

  • 需要大量创造性构思、无需事实依据的生成任务。
  • 文档极度稀缺,检索召回几乎为零的场景。
  • 对延迟极端敏感且无法容忍检索开销的交互。

典型落地场景

  • 企业知识问答:员工手册、技术文档、产品规格。
  • 智能客服:基于帮助中心文章回答用户问题,并给出引用。
  • 代码助手:检索内部代码库、API 文档后生成调用示例。
  • 合规与审计:检索政策条款,判断操作是否符合规定。
  • Research Agent:多轮检索、摘要、对比,辅助研究报告生成。

小结

RAG 的出现不是为了“让模型更聪明”,而是为了让模型在回答之前能够查到、选对、用对外部知识。接下来我们将从 chunking、embedding、检索、重排、生成增强到评估,逐步拆解这条流水线的每个环节。

Released under CC-BY-SA-4.0 License.