RAG 是什么,有什么作用?

考查重点:外部知识与生成证据。检索外部相关资料放入模型上下文再生成,补私有/新知识与出处;检索错仍会影响回答

本题目录

参考答案

核心回答

**RAG(Retrieval-Augmented Generation,检索增强生成)**是一种把外部信息检索与模型生成结合起来的方法:根据用户问题找到相关资料,将资料作为上下文提供给模型,再生成回答。

它主要有三个作用:补充模型原本不了解的私有知识;通过更新外部资料提高知识时效性;保留来源,让回答更容易核对。例如运维助手回答某个版本的服务故障,可以先检索对应手册,再根据处理步骤与适用条件给出建议,而不是只凭模型已有知识回答。

RAG 的效果依赖资料、检索和生成三个环节。它能为回答提供依据,但不保证消除幻觉;检索错、漏掉条件或模型误读资料,都可能产生错误答案。

检索、增强、生成分别做什么

检索负责找到与当前问题相关且用户可访问的信息。来源可以是文档、网页、数据库或已有内部系统,检索方式可以是关键词、向量、混合检索或结构化查询。

增强负责把结果组织成模型能使用的上下文,包括问题、相关片段、来源、版本和必要指令。这里要筛选内容并控制长度,避免无关或过期材料挤掉关键证据。

生成负责阅读上下文、组织解释、总结或对比,并按要求给出引用。仅仅返回文档列表属于搜索;进一步依据检索内容生成答案,才体现检索与生成的结合。

一个知识库问答怎样运行

常见知识库 RAG 分为资料准备和在线问答两个阶段。

资料准备时,先加载并解析文档,按内容结构切成适合检索的片段,保存来源、章节和版本等信息,再建立索引。采用向量检索时,需要用 Embedding 模型将内容编码成向量。

在线问答时,根据问题检索候选,必要时过滤、去重或重排,把相关证据与问题组织成上下文,交给生成模型回答。下面以这类知识库为例,索引的实现可以按数据和查询特点选择。

flowchart TD
    D[原始文档] --> P[资料准备:解析与切分]
    P --> I[可检索内容与索引]
    I --> R[在线检索相关证据]
    Q[用户问题] --> R
    R --> C[组织问题、证据与引用]
    C --> M[生成模型]
    M --> A[回答与来源]

图中的索引负责帮助找到资料,生成模型负责根据资料形成回答。资料更新后,还要同步相关索引;若使用现有数据库查询或在线搜索,也可以复用其检索能力,不一定另建一套文档索引。

例如用户问“服务 A 的 v2 版本出现 E1027 应怎样处理”,系统先找到对应版本的故障说明,再将处理步骤、前置条件和出处一起交给模型。若只找到 v1 的相似故障,或者只找到处理结论而丢了适用条件,回答就可能不可靠。

RAG 为什么不一定需要向量数据库

RAG 描述的是检索信息辅助生成的方式,向量数据库是其中一种实现工具。精确查错误码、编号或字段时,关键词和结构化查询可能更直接;语义表达差异较大时,向量检索有助于找到相关内容;也可以结合多种方式。

数据规模、已有系统、过滤要求和检索效果决定是否需要向量数据库。向量库也不负责最后的自然语言回答,生成仍由模型完成。

和微调、Agent 有什么关系

RAG 在回答时引入外部资料,适合知识持续变化、资料较多或需要来源的任务。微调通过训练调整模型参数,可用于改善特定任务行为、格式或表达,两者可以结合。常见应用可以直接使用现成模型构建 RAG,不必为每次文档更新重新训练生成模型;也有训练检索器或生成器的 RAG 方案。

Agent 可以根据任务决定是否检索、检索什么、是否继续查证,RAG 则为其中需要外部证据的回答提供支持。固定的检索后生成流程也可以独立工作,无需先搭建复杂 Agent。

追问:加了 RAG 为什么还会答错

先检查正确资料是否存在并已更新,再看是否被召回、是否完整进入上下文,最后检查模型是否按证据回答。引用还需要核对是否真的支撑结论,不能只看答案里有没有链接。

证据不足或彼此冲突时,应表达不确定性、补充检索或澄清问题。评估既要看检索能否找全必要证据,也要看最终答案是否正确、有依据,并考虑增加的检索、上下文和维护成本。具体排查可看知识库召回与上下文匹配优化。

对应教程

  • 《AI Agents 从零到一》:RAG 检索增强生成:定义、作用和两阶段流程小节说明资料如何进入模型上下文;后续文档处理与运维助手案例可继续看具体实现。本文保留基础主线,并说明检索不限定为向量数据库。

参考资料

相关面经

15 篇

纷享销客

后端开发工程师
实习
查看原面经 →
你了解 AI Agent 和 RAG 技术吗?请谈谈你的理解。

腾讯

多模态算法岗
一面、二面
查看原面经 →
讲解RAG技术的核心逻辑

科大讯飞、首都在线、宇量晟、四川长虹、度小满、字节跳动、恒生电子、腾娱互动、金蝶、汽车之家

面经合集
查看原面经 →
面试官人很好,不刁难,卡顿时也会及时引导,上来先拷打项目,每次面字节都会给我一种面试官想深究的感觉,他会一直朝一个方向问,直到你答不上来。之后就是八股,上来问agent相关rag,上下文工程,这块八股我非常薄弱,周旋了几轮后,面试官看出来我agent这块一般开始问服务端(此时我就能感觉出来我挂了),后面问服务端的八股,sse和websocket,线程池,缓存,mysql的一些基础八股(已经能够感觉到水时间了)。算法题:岛屿数量。dfs秒了。最后反问:全栈来说,agent所有东西也要吃透掌握吗。面试官说ai时代这是一个开发er具备的基本素质了,企业都希望招一个前端后端agent都能干的开发。

字节跳动

全栈
一面
查看原面经 →
RAG是做什么的用来解决什么问题的?

万兴科技

Android 客户端开发工程师(AI 方向)
实习一面
查看原面经 →
讲一讲RAG、MCP、Agent的概念。
展开剩余 10 篇面经

字节跳动

后端开发工程师(AI 平台)
二面
查看原面经 →
RAG 主要是用来做什么的?

快手

Agent 研发
日常实习一面
查看原面经 →
RAG讲一下

字节跳动

AI 应用开发工程师
日常实习一面
查看原面经 →
RAG 主要解决什么问题?

亚信科技

后端开发工程师
实习二面
查看原面经 →
rag的理解

阿里巴巴

大模型算法工程师
一面
查看原面经 →
RAG技术整体定义是什么?

字节跳动

后端开发工程师(AI / Agent 方向)
实习二面
查看原面经 →
RAG 在你项目里用来干嘛?

亚信科技

后端开发工程师(AI / Agent 方向)
查看原面经 →
3,RAG检索是什么?(结合项目简单说了一下)

京东

Agent 开发工程师
查看原面经 →
a. 了解Rag吗?它是干什么的?

淘天

大模型 Agent
校招
查看原面经 →
什么是RAG,为什么没选向量库?

京东

AI 后端 / Agent 开发
日常实习二面
查看原面经 →
a. 了解Rag吗?它是干什么的?

收录题集

9 个来源,共13 份题集

检索增强生成

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

提示工程:应用大模型的高级方法

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

RAG 面试题

卡码笔记 · 个人整理 · 1 条原题

查看题集 →

八股集锦(高频问题)

小熊饼干_ · 个人整理 · 1 条原题

查看题集 →

补充概念与机制问答

Firefly · llm_interview_note · 1 条原题

查看题集 →
展开剩余 8 份题集

RAG 面试题

小林 Coding · 个人整理 · 2 条原题

查看题集 →

RAG与知识库

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

项目论文与经历

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Agent 机制与项目追问

Guide · JavaGuide · 1 条原题

查看题集 →

检索与知识工程问答

Guide · JavaGuide · 4 条原题

查看题集 →
展开其余 1 条原题

RAG 面试题

Guide · JavaGuide · 1 条原题

查看题集 →

公司专题代表问法

Onefly · zero2Agent · 1 条原题

查看题集 →

RAG 与检索系统:从 chunk 设计到多路召回

Onefly · zero2Agent · 1 条原题

查看题集 →

相关题目

4 题