RAG 解决什么问题?

RAG 解决的是 AI 模型不了解组织内部文档,或对世界的了解已经过时的问题。你不必重新训练模型,而是在它回答时,把合适的段落提供给它。

设想一家虚构的旅游运营商“潮水旅行”,有 50 名员工。预订团队总是在问一本 90 页条款与流程手册中的相同问题。团队主管利昂试着问通用聊天机器人:'客户能在出发前 10 天更改主要旅客姓名吗?要收费吗?' 聊天机器人自信地给出了一个关于航空公司规则的笼统答案,还提到了一项潮水旅行并不收取的费用。真正的答案在手册第 4.2 节,而聊天机器人从未看过这本手册。

检索增强生成是如何工作的?

检索增强生成分三个阶段进行:检索与问题最相关的段落,将这些段落加入提示词,再让模型根据这些内容生成答案。Anthropic 的术语表也描述了同样的思路:在用户提问时,从知识库中检索相关信息,并将这些信息与原始问题一起传给模型。

这个术语出自帕特里克·刘易斯及其同事在 2020 年发表的一篇研究论文。该研究将语言模型与可搜索的文档索引结合,发现得到的答案比单独使用模型更具体,也更符合事实。

1. 准备文档

手册被拆分成多个片段,例如每段包含一个章节或几个段落,这样搜索就能返回有针对性的内容,而不是整本手册。

2. 按语义为其建立索引

每个文本块都会转换为嵌入向量,即一组表示其含义的数字,并存入向量数据库。AWS 将这一步描述为把数据转换成数值表示,以便与问题匹配。

3. 检索

问题也以同样的方式转换,再与索引匹配,找出最接近的文本块。许多系统还会同时使用普通关键词搜索。

4. 补充提示词

将排名靠前的文本片段放入提示词,并附上类似“仅根据这些段落回答,并注明所引用的章节”的指令。

5. 生成

模型根据提供的文本撰写答案,理想情况下会直接引用或标明所用段落的出处。

使用 RAG 和不使用 RAG 的回答分别是什么样的?

不使用 RAG:'大多数旅游公司允许付费更改姓名,每人费用约为 50 至 100,具体取决于航空公司的政策。'这听起来有帮助,但并不是潮水旅游公司的政策,也没有人能核查信息来自哪里。

使用 RAG:系统检索手册的第 4.2 节和第 4.5 节,模型回答:'可以。第 4.2 节允许在出发前至少 7 天免费更改主要旅客姓名。第 4.5 节指出,含机票的套餐可能需要支付航空公司收取的更改费,预订系统会显示该费用。来源:手册第 4.2 节和第 4.5 节。'里昂可以打开这两节,在几秒内核实答案。如果手册有变动,新版本一经建立索引,答案就会随之更新。

什么时候应该使用 RAG,什么时候不该用?

当答案必须来自一组特定且不断更新的文档,并且使用者需要查看来源时,使用 RAG。它适用于政策手册、产品文档、客服知识库和合同库。Anthropic 的术语表指出,它特别适合处理最新信息、特定领域知识和需要明确引用来源的内容。

如果文档足够短,可以直接粘贴到提示词中;如果任务关注的是风格或格式,而非事实;或者源文档本身不可靠,那么 RAG 就不适用。它也不能替代权限管理:只要检索到某段内容,模型就可能复述出来,因此必须在检索之前实施访问控制。

检索增强生成会在哪些环节出错?

RAG 的问题通常出在检索环节,而非生成环节:如果找到了错误的段落,模型就会据此生成一个看似笃定的答案。Anthropic 指出,RAG 的效果取决于知识库和检索内容的质量与相关性。

片段错误或不完整

说明例外情况的段落与规则位于不同的文本块中,因此答案遗漏了例外情况。

过时或重复的版本

去年的手册仍与今年的手册一同被编入索引,结果检索到了旧版。

模型偏离原文

模型将检索到的文本与自身的通用知识混在一起。要求它只依据来源作答,并显示引用出处,有助于发现这种情况。

不存在好的答案

系统应说明文档未涵盖这个问题,而不是猜测。

RAG 在 Tosheo.ai 课程体系中属于哪一部分?

“检索增强生成”属于“构建 AI 应用”课程中的“AI 应用开发”类别。本课侧重概念,适合所有使用基于公司文档构建的 AI 助手的人。注册后的代码学习路径会带你动手构建一个小型 RAG 应用,从文档分块、创建嵌入向量,到检索和生成带引用的答案,每一步都会依据评分标准提供反馈。

来源与范围

Lewis 等,《面向知识密集型 NLP 任务的检索增强生成》,arXiv 2020(核查日期:2026年10月19日) ↗

Anthropic Claude 文档,RAG 术语条目(核查日期:19 October 2026) ↗

AWS:什么是检索增强生成、嵌入和向量数据库(核查于 19 October 2026) ↗

Anthropic Claude 文档,引用功能(核查日期:19 October 2026) ↗