AI应用开发面试题精讲(二):RAG检索增强生成实战15问

📅 2026/6/18 18:15:57
AI应用开发面试题精讲(二):RAG检索增强生成实战15问
AI应用开发面试题精讲二RAG检索增强生成实战15问文章目录AI应用开发面试题精讲二RAG检索增强生成实战15问前言一、文档处理与切分1. 文档切分策略有哪些Chunk大小怎么选2. PDF文档中的表格和图片怎么处理3. 重叠窗口是什么为什么需要二、Embedding与检索4. Embedding模型怎么选微调Embedding值得吗5. 稠密检索和稀疏检索有什么区别为什么要混合6. 重排器是什么为什么需要怎么选7. MMR是什么什么时候用三、RAG进阶8. 查询改写是什么有哪些方法9. RAG vs 微调怎么选10. RAG系统怎么评估有哪些指标四、生产落地11. RAG系统架构怎么设计分层吗12. 知识库更新怎么做增量还是全量13. RAG响应延迟怎么优化14. RAG失败怎么兜底15. 从0到1搭建RAG系统你会怎么规划总结前言RAG是AI应用落地最核心的技术架构。面试中RAG相关问题通常从你做过RAG吗开始一路深挖到切分策略、检索优化、重排器选型。这篇整理了RAG实战中最高频的15道面试题。一、文档处理与切分1. 文档切分策略有哪些Chunk大小怎么选参考答案常见切分策略固定长度切分按固定Token数切分最简单但可能切断语义递归字符切分按段落→句子→字符层级递归切分尽量保持语义完整语义切分用Embedding计算相邻句子相似度相似度骤降处切分基于文档结构切分按标题、章节、页码等结构化标记切分Chunk大小选择太小100-200 Token单个Chunk信息不完整召回很多碎片太大1000 Token一个Chunk包含太多信息检索精度下降推荐500-800 Token配合50-100 Token的重叠窗口面试加分点提到不同文档类型应该用不同切分策略——技术文档按章节切对话记录按轮次切代码按函数切。2. PDF文档中的表格和图片怎么处理参考答案表格处理用文档解析工具提取表格为结构化数据JSON/Markdown表格将表格内容转为自然语言描述再切分入库保留表格的元数据表头、所属章节作为过滤条件图片处理OCR提取文字内容多模态模型生成图片描述图片描述作为独立Chunk入库实践建议不要直接把整个PDF按页切分扔进向量库表格和图片需要单独处理否则检索时这些信息基本无法命中。3. 重叠窗口是什么为什么需要参考答案重叠窗口是相邻Chunk之间共享的一部分文本目的是避免切分边界处丢失上下文。为什么需要假设Chunk大小500 Token一个关键信息正好在第499 Token处开始被切到两个Chunk里两个Chunk都不完整有重叠窗口如100 Token这个信息在前后两个Chunk中都有完整出现实践建议重叠大小通常设为Chunk大小的10%-20%不是越大越好——重叠太多会导致存储冗余、检索时重复召回对于结构化文档代码、表格重叠可以设小甚至不加二、Embedding与检索4. Embedding模型怎么选微调Embedding值得吗参考答案选择维度语言支持中英文混合用多语言模型领域匹配通用领域用通用模型专业领域医疗、法律考虑领域定制模型维度与性能768/1024/1536维维度越高表达越强但成本越高最大输入长度有些模型只支持512 Token长Chunk需要截断微调Embedding值得做但优先级低于调切分和检索策略用query和正负样本对微调可以显著提升领域检索效果注意微调后需要重建整个向量库数据量少1000对时效果不明显不如先优化切分策略5. 稠密检索和稀疏检索有什么区别为什么要混合参考答案稠密检索向量检索基于Embedding相似度擅长语义匹配“怎么部署能匹配到安装步骤”弱项精确匹配专有名词、代码、编号稀疏检索关键词检索如BM25基于词频统计擅长精确匹配产品型号、错误码、人名弱项不理解语义混合检索同时做稠密和稀疏检索各取Top-K合并后重排取长补短语义理解精确匹配实践中几乎都推荐混合检索6. 重排器是什么为什么需要怎么选参考答案重排器Reranker对初筛召回的Top-K结果做二次排序用更重的模型通常是Cross-Encoder对query和每个doc做交叉注意力计算精度远高于Bi-Encoder的向量相似度为什么需要向量检索是Bi-Encoderquery和doc独立编码速度快但精度有限重排器是Cross-Encoderquery和doc联合编码精度高但速度慢折中方案向量检索召回Top-50重排器筛出Top-5选型建议轻量级用小模型重排延迟低重量级用大模型重排精度高但慢实践中先召回50-100条重排取5-10条7. MMR是什么什么时候用参考答案MMRMaximal Marginal Relevance最大边缘相关性是一种在相关性和多样性之间做平衡的重排方法。公式MMR λ × Sim(query, doc) - (1-λ) × max(Sim(doc, selected_docs))λ1纯按相关性排序λ0纯按多样性排序通常取0.5-0.7什么时候用用户提问比较宽泛时如介绍一下RAG不想返回5条几乎一样的结果知识库有重复/近似文档时避免冗余不适合精确问答场景如错误码1001是什么意思只要最相关的三、RAG进阶8. 查询改写是什么有哪些方法参考答案用户提问往往不够清晰查询改写是在检索前对query做优化。常见方法查询扩展用大模型把query扩展为多个相关查询分别检索后合并查询分解把复杂问题拆成多个子问题分别检索HyDE假设文档嵌入让大模型先生成一个假设答案用假设答案的Embedding去检索同义词替换把query中的词替换为同义词扩大召回实践建议查询改写能提升召回率但增加了延迟和成本。建议先做baseline再按需加改写策略。9. RAG vs 微调怎么选参考答案选RAG的场景知识需要频繁更新有大量私有文档需要引用溯源知识量大但查询时只需要一小部分选微调的场景需要改变模型的输出风格或格式需要模型学会某种推理模式知识相对稳定且量适中延迟敏感RAG有检索开销两者不冲突可以先微调让模型学会回答格式和推理方式再用RAG提供知识。面试中这个答案很加分。10. RAG系统怎么评估有哪些指标参考答案检索环节指标Context Precision召回的上下文中有多少是真正相关的Context Recall相关文档是否都被召回Hit RateTop-K中是否包含正确答案生成环节指标Faithfulness忠实度回答是否基于检索到的上下文有没有编造Answer Relevancy回答相关性回答是否切题Answer Correctness回答是否正确端到端指标用户满意度评分人工标注准确性拒答率该答的不答 vs 该拒的不编工具建议可以用RAGAS等框架做自动评估但关键case必须人工复核。四、生产落地11. RAG系统架构怎么设计分层吗参考答案推荐的分层架构数据层文档存储、向量库、关系数据库索引层文档解析、切分、Embedding、索引构建与更新检索层查询改写、多路召回、重排、过滤生成层Prompt组装、大模型调用、输出校验应用层对话管理、UI、API关键设计原则检索和生成解耦可以独立优化索引层支持增量更新不用全量重建检索层支持多策略切换A/B测试生成层做输出校验和兜底12. 知识库更新怎么做增量还是全量参考答案全量重建简单可靠但耗时耗成本适合Embedding模型升级、切分策略变更适合知识库规模小1万文档增量更新新文档入库时只处理新文档需要维护文档ID到向量ID的映射删除文档时要从向量库中删除对应向量适合知识库频繁更新、规模大实践建议生产系统用增量更新为主定期全量重建对齐增量更新要有版本管理出问题可以回滚Embedding模型升级时必须全量重建13. RAG响应延迟怎么优化参考答案各环节延迟拆解查询改写100-500msEmbedding计算50-200ms向量检索10-100ms重排100-500ms大模型生成1-10s优化手段并行化查询改写和Embedding可以并行缓存热门query缓存检索结果和答案流式输出大模型流式返回首Token延迟降到1-2s减少重排量召回Top-20重排Top-5而不是召回Top-100异步预检索用户输入时就开始检索不用等完整query14. RAG失败怎么兜底参考答案常见失败场景和兜底检索无结果返回未找到相关资料引导用户换关键词检索结果都不相关不强行回答告知现有资料无法回答大模型输出与上下文矛盾用校验器检测不一致时返回检索原文大模型超时降级返回检索摘要向量库故障降级为关键词检索原则宁可说不知道不要编造。生产环境的RAG系统拒答比瞎答好。15. 从0到1搭建RAG系统你会怎么规划参考答案Phase 1MVP验证选10-50个核心文档固定长度切分500 Token通用Embedding模型纯向量检索Top-5基础Prompt“根据以下资料回答问题”验证基本可用性Phase 2效果优化优化切分策略加混合检索向量BM25加重排器加查询改写建立评估集做量化评估Phase 3生产化分层架构检索生成解耦增量索引缓存策略监控告警兜底降级A/B测试框架面试加分点强调先跑通再优化——很多团队一上来就追求完美架构结果MVP都跑不通。总结RAG面试的核心思路是不要只讲概念要能说清楚每个环节为什么这么做“有什么坑”“怎么选”。面试官想听的是你的实战经验和踩坑教训不是教科书定义。