RAG 系统设计深入¶
?2026/2027 年,RAG 已经不是“检索加生成”的原型题,而是最能考出候选人 AI 系统工程能力的一类题。因为它天然要求你同时处?
数据、索引、检索、重排、生成、评测、安全、稳定性、成本?
这章解决什么问?¶
很多人会?RAG 题答成下面两种:
- 只会讲“文档切?+ 向量?+ LLM?- 或只会背某个框架的实现细? 但真实面试更想听的是?
- 为什么这样分?- 为什么这样检?- 为什么需?rerank
- 如何控制幻觉和权?- 如何评测质量和上线风? 这一章就是把 RAG ?demo 讲法升级成生产系统讲法?
先给一个标准答题主?¶
回答 RAG 题时,建议固定按?7 步走? 1. 需求澄?2. 数据与索引链?3. 在线查询链路 4. 检索和重排策略 5. 评测与幻觉控?6. 稳定性与安全 7. 成本与演? 有了这个主线,就不容易东一榔头西一棒子?
需求澄清时必须问的 6 个问?¶
- 面向内部员工还是外部用户
- 文档规模多大,更新频率如?- 是否需要权限隔?- 是否要求引用来源
- 延迟目标是多?- 更看重准确率、覆盖率还是响应速度
一个典型例?¶
如果题目是“设计企业知识库问答系统”,你可以这样收敛:
假设面向企业内部员工,文档规模百万级,包?PDF、网页、制度文档和知识库页面?需要部门级权限控制,回答必须带引用?峰?QPS 约数百级,首 token 目标 2 秒内,完整回?8 ?10 秒内?```
这样你后面的设计就有明确边界了?
## 一张够用的生产级架构图

*图源:[Google Cloud Architecture Center - RAG infrastructure for generative AI using GKE and Cloud SQL](https://cloud.google.com/architecture/rag-capable-gen-ai-app-using-gke),许可:CC BY 4.0。*
```text
离线链路:
数据??解析与清??去重与权限标??分块
?Embedding / 索引构建
?向量?+ 倒排索引 + 元数据存?
在线链路:
用户 Query
?Query 理解 / 改写
?权限过滤
?混合检??Rerank
?上下文压缩与组装
?LLM 生成
?引用与后处理
?结果返回
闭环:
日志 / 反馈
?评测
?数据修复 / Prompt 调整 / 索引更新
你可以根据岗位重点继续展开其中某一层?
离线链路最重要?4 个点¶
离线链路讲得清不清楚,基本决定了你能不能?RAG 从“会用”讲到“会设计”?
1. 数据清洗与去?¶
如果数据源里本来就有? - 重复文档 - 旧版本制?- 无效页面 - OCR 噪声
那后面再强的检索和生成也会被污染?
你可以讲的设计点¶
- 文档 fingerprint 去重
- 版本字段和生效时?- 标题、来源、更新时间等元数据抽?- 解析失败和低质量文本的隔离处?
2. 分块策略¶
分块是面试高频追问点?
常见方案¶
| 方案 | 优点 | 缺点 |
|---|---|---|
| 固定大小分块 | 简单稳? | 容易切断语义 |
| 按段?标题语义分块 | 保持语义完整 | 块大小不? |
| 递归分块 | 通用性强 | 需要调分隔? |
| 父子分块 | 检索精度和上下文都较好 | 系统更复? |
一个更像生产的表达¶
text 默认我会选递归分块或父子分块,而不是单纯固定长度?因为企业文档往往有标题层级和段落结构,纯 token 切分容易把关键定义和解释拆开?
3. 索引构建¶
生产里通常不是只有向量库? 更常见的是:
- 向量索引
- 关键词倒排索引
- 元数据过滤索? 如果是关系型知识,还可能有图谱或结构化表?
4. 权限标注¶
企业 RAG 和公开问答最大的区别之一就是权限? 你至少要讲:
- 文档入库时写?ACL / 部门 / 角色标签
- 在线检索时先做权限过滤
- 结果返回前再做一次校? 这一点非常容易成为面试区分项?
在线查询链路怎么讲更?¶
在线链路最容易暴露工程深度,下面这些点最好按用户请求真正经过的顺序来讲?
1. Query 理解与改?¶
不是所?query 都应该直接拿去检索? 你可以考虑? - 意图识别 - query rewrite - query expansion - ?query 检?
但一定要补一?¶
text query 改写要做可控开关和离线评测,因为改写过度会引入错误召回?
这是非常像真实工程师的说法?
2. 混合检?¶
2026/2027 年的高质量答案里,混合检索几乎已经是默认项? 原因很简单:
- 向量检索擅长语?- BM25 擅长关键词和精确匹配
- 元数据过滤保证范围正?
一个简洁表?¶
text 我会采用 dense + sparse 的混合检索?先保证关键词和编号类信息不丢,再用语义召回补全同义表达和上下文相关内容?
3. Rerank¶
很多候选人会漏掉这一层? 但真实生产里,召回不等于最终上下文质量? Rerank 的作用是? - 提高前几条结果的相关?- 减少 lost-in-the-middle - 帮助上下文预算更合理
你可以说? text 先做高召回,再做高精排,而不是直接把召回结果塞给模型?
4. 上下文组装与压缩¶
这部分越来越重要,因?token 预算和延迟都很现实? 常见做法? - 只保留高分片?- 合并相邻 chunk - 去掉重复内容 - 做摘要压?- 控制最大上下文长度
如果你能讲到这层,答案会成熟很多?
评测怎么讲才像生产系?¶
RAG 面试里,一定不要只说“看用户反馈”? 建议至少拆成 3 层?
1. 检索层评测¶
你可以讲? - Recall@K - MRR / NDCG - Context relevance
2. 生成层评?¶
你可以讲? - Faithfulness - Answer relevance - Correctness - 引用一致?
3. 端到端评?¶
你可以讲? - 人工抽样评分 - LLM-as-a-judge - 用户满意?- 工单解决?/ 搜索失败?
一个够用的表达¶
text 我会?RAG 评测拆成检索、生成和端到端三层?检索层保证拿到对的上下文,生成层保证回答忠于上下文,端到端再用人工抽样和线上反馈看真实效果?
幻觉控制必须怎么?¶
这是 RAG 题最常见的追问之一? 建议按“多层防线”答?
第一层:检索质?¶
- 分块
- 混合检?- rerank
- 相关性阈?
第二层:Prompt 约束¶
- 限制只基于检索内容回?- 找不到信息就明确说不知道
- 要求引用来源
第三层:后处理与校验¶
- 引用检?- 规则校验
- 结构化输出校?- 可?judge ?NLI 校验
第四层:人工反馈闭环¶
- bad case 回流
- FAQ / 规则修正
- Prompt 和索引策略持续调?
稳定性和降级怎么?¶
这部分非常多人会漏? 你最好固定讲下面这些? - 检索超?fallback - rerank 超时降级 - LLM 失败时返回保守答?- 缓存热点 query - 流量高峰时限?- 关键路径监控和告?
一个合格表?¶
text 如果向量检索或 rerank 超时,我会降级到关键词检索或直接返回带引用的检索结果摘要,保证服务可用性优先于回答完整性?
权限和安全怎么?¶
企业 RAG 题里,这通常比模型更重要? 重点回答? - 文档权限如何建模 - 查询时如何预过滤 - 返回前如何二次校?- 如何?prompt injection 和越权工具调? 如果系统能访问外部工具,还要补:
- 工具白名?- 参数校验
- 审计日志
成本和性能怎么?¶
很多 RAG 系统真正的成本大头不只是模型,还包括? - embedding - 索引存储 - rerank - 大模型生?
常见优化手段¶
- 本地 embedding
- 检索和生成缓存
- 小模型做简单任?- 只在需要时启用高成?rerank
- 上下文压缩减?token
一个很实用的面试表?¶
text 我不会让所有请求都走最重的路径,而是分层?先用较轻的检索和规则筛掉大部分请求,再把高价值请求送入更高成本?rerank 和生成链路?
Agentic RAG 怎么?¶
2026/2027 面试里,RAG 越来越经常和 agent 结合? 适合讲成? - 简单问答走单轮检?- 复杂任务走多步检索与工具调用 - 中间结果写入 trace - 必要时人类确认关键步? 重点不是“更炫”,而是? - 为什么单轮不?- 多步如何控制成本 - 失败时如何回退
一个可复用的结?¶
当你答完主链路后,可以这样收口:
text 整体上,这个 RAG 系统的关键不是把模型接上,而是把数据质量、检索精度、生成约束、权限、安全、稳定性和评测闭环一起做起来?如果继续演进,我会优先补权限治理、bad case 回流和分层成本控制?
这个结尾会让整道题完整很多?
本章小结¶
- RAG 系统设计题的核心不只是“检?+ 生成”,而是整个知识系统和交付链?- 2026/2027 高质量答案必须覆盖:分块、混合检索、rerank、评测、权限、安全、降级、成?- 你要?RAG 当成一个生产系统来答,而不是一?demo
下一?¶
- 继续?03-?Agent 系统设计
- 再看 07-AI 系统设计高频追问与深度题
- 结合 AI编程实战/09-Agentic软件工程项目交付模板 准备项目表达
⚠️ 核验说明(2026-03-26):本页已纳入 2026-03-26 全站统一复核批次。若文中涉及外部模型、API、版本号、价格或第三方产品名称,请以官方文档和实际运行环境为准。
最后更新日期: 2026-03-26