完整讲一遍 RAG 链路:从文档进来到答案出去,每一步在解决什么问题?

Q2-01RAG 链路总览高频RAG链路索引检索生成

谁在问:一面开场必问;简历写了 RAG 项目几乎 100% 会被问

口语化问法

  • 你先给我讲讲你理解的 RAG 是怎么工作的,从头到尾。
  • 一个 RAG 系统大概分几步?
  • 用户问一个问题,到拿到答案,中间发生了什么?

考察意图

热身题,但淘汰率不低。面试官在看三件事:① 你是「搭过系统」还是「调过 API」——搭过的人会自然分出离线和在线两条线;② 你能不能说出每步在解决什么问题,而不是背名词;③ 你的表达是否有结构——这题答得散乱,后面的深挖题面试官会自动降低预期。

参考答案

图 2 · 60 分与 90 分差在哪:代价、演进、怎么验证

60

60 分答案(及格线)

RAG 分两个阶段。离线建索引:文档解析成文本 → 切成 chunk → 用 embedding 模型向量化 → 存进向量库建索引。在线查询:用户问题向量化 → 在向量库里检索最相似的 top-k 个 chunk → 把这些 chunk 和问题一起拼成 prompt → 交给 LLM 生成答案。核心思想是让模型「开卷考试」,用外部知识弥补它不知道私有数据、知识有截止日期的问题。

90

90 分答案(有生产经验的回答)

在 60 分的骨架上,每步补一句「解决什么问题」,并补齐生产链路里被新手省略的环节:

离线:① 解析(把 PDF/表格/扫描件变成干净文本,脏文档处理是最花时间的一环)→ ② 分块(平衡语义完整与检索精度,同时挂上标题路径、来源、权限等元数据)→ ③ 向量化(决定检索精度的上限)→ ④ 建索引(向量索引 + 倒排索引,让千万级检索在毫秒内完成)。

在线:⑤ 查询理解(改写解决多轮指代、扩展解决表述鸿沟、路由决定去哪查)→ ⑥ 混合召回(向量 + BM25 双路,目标是不漏)→ ⑦ 融合与重排(RRF 融合 + cross-encoder 精排,目标是不排错)→ ⑧ 上下文组装(控预算、排顺序、带出处编号)→ ⑨ 生成(约束忠实度、要求引用、材料不足时说不知道)→ ⑩ 评测与迭代(badcase 归因回流)。

再补一句总结性判断:这条链路本身就是排障框架——出了问题先把正确文档手工塞进 prompt,能答对就是检索的锅,还答不对就是生成的锅。

追问链

图 1 · 五层追问树:面试官会往哪儿挖
背得出链路只是入场券,追问全在问「你凭什么这么选」

  1. 这些步骤里哪一步对最终效果影响最大?为什么?

    期望没有唯一答案,考的是归因逻辑:可答分块与 embedding 决定检索精度上限(漏召回不可逆,后面补不回来),也可答「取决于 badcase 类型,所以先建评测集分桶定位」
    信号直接说「模型最重要」→ 还停留在调 API 的视角
  2. 为什么不直接微调一个模型把知识学进去?

    期望知识更新频繁微调跟不上、无法引用溯源、成本高、私有数据训练有合规风险,而 RAG 改一份文档立刻生效;进阶是两者不对立 —— 微调调风格与能力,RAG 供知识
    信号只会说「微调贵」、说不出「不能溯源」「更新慢」→ 理解不完整
  3. 检索回来的 chunk 怎么组织进 prompt?顺序有讲究吗?

    期望有讲究:中间位置的信息利用率低(lost in the middle),最相关的放最前或首尾;带编号供引用溯源;控 token 预算不是塞越多越好(context rot);明确指示「材料中没有就说不知道」
    信号答「按相似度倒序塞进去就行」→ 没做过上下文组装优化
  4. 你们线上这条链路的延迟大概是多少?瓶颈在哪?

    期望给量级即可:检索几十毫秒、rerank 几十到几百毫秒、生成占大头(首字延迟);瓶颈通常在生成和 rerank;优化走流式输出、轻量重排模型、并行召回
    信号完全说不出量级 → 大概率没参与过上线
  5. 你这套链路和直接把文档全塞进百万上下文的模型比,优势在哪?

    期望四个维度打:成本与延迟差数量级、长输入准确率塌方、TB 级知识库装不下、权限过滤与时效过滤和引用溯源做不了 → 收尾给判断:长上下文改的是 RAG 的参数而不是它的存废
    信号立场摇摆、或答「确实长上下文更好」→ 缺乏工程判断
热身题但淘汰率不低:前三层验「每步在解决什么问题」,第 4 层的延迟量级是没上过线的人第一次卡住的地方,第 5 层再验判断力。

评分要点

  1. 明确区分离线建索引与在线查询两条线
  2. 每步能说出「解决什么问题」而非只报名词
  3. 提到了混合检索或 rerank(说明知道生产链路 ≠ 纯向量检索)
  4. 提到元数据(来源/权限/时间)的价值
  5. 提到评测或 badcase 闭环
  6. 加分:主动给出「检索 vs 生成」的归因方法
  7. 加分:能说出 RAG 相对微调的定位差异

常见错误

只说「切块、向量化、检索、生成」四个词就停——最典型的背书特征。
把 RAG 等同于向量检索,完全不提 BM25、SQL、Web 等其他检索源。
没有离线/在线的区分,把建索引和查询混成一条线讲。
全程不提评测,说明没有闭环意识。
讲得很长但没有结构,面试官听不出层次——这题的表达结构本身也在被评估。

关联学习