RAG面试链路工程取舍

📅 2026/7/7 3:10:10
RAG面试链路工程取舍
摘要大家经常把RAG简化成文档→向量库→检索→生成四步走一被面试官追问细节就露怯。这篇我们将拆解分块、检索融合、Reranker、评估四个环节里真正决定回答质量的工程取舍。当面试官问讲讲RAG的整体设计十个候选人有八个会背出文档处理→分块→Embedding→检索→生成这套流程虽然流程背的滚瓜烂熟但只要一杯追问一句chunk_size为什么设512不是1024“为什么不直接把向量分数和BM25分数加起来”很多人就开始支支吾吾答不上来。RAG是大模型工程师面试中的第一高频题但面试官真正想验证的从来不是你知不知道这个流程而是每一步为什么这么选权衡利弊的点是什么。这篇我们挑四个最容易被问到的环节讲清楚整个背后的取舍逻辑。一、分块策略chunk大小不是越大越好是两种代价的博弈很多人对分块的理解停留在把文档切成小段存进去遇到追问chunk_size怎么定就只能说网上都用512。真正的答案是chunk太大当在一块里混进了多个话题检索时会带出很多无关内容模型容易被干扰chunk太小单块信息不完整模型缺乏必要背景反而需要拼凑很多块才能回答完整。工程上通常给出的经验范围是256-1024 token选择依据是回答一个典型问题平均需要多少上下文——事实性问答答案就在一两句话里用256 token够了需要理解一段完整论述比如合同条款就要512-1024 token。overlap重叠窗口一般设为chunk_size的10%-20%作用是防止一个完整语义正好卡在两个块的边界上被切断。更进阶的做法是层次化分块“小chunk用于检索大chunk用于生成”——检索时用256 token的小块做精准匹配命中后再扩展到它所在的512-1024 token大段送给模型兼顾了检索精度和生成时的上下文完整性。面试官当然想听到的不仅仅是一个固定的数字而是你知道这个数字是根据什么权衡出来的。二、混合检索两路分数不能直接相加这是个常见的低级错误大家普遍都知道向量检索理解语义、BM25擅长关键词精确匹配两个要混合用但一问具体怎么融合两路结果的分数很多人会说把两个分数加起来就行。这个答案在生产环境里是必然要出问题的向量相似度通常在0-1范围BM25分数可能在0-20甚至更高的范围直接相加BM25会完全主导排序结果向量检索的语义信号被淹没。工程上更稳妥的做法是RRFReciprocal Rank Fusion倒数排名融合不看两路检索各自的分数只看排名——文档在每一路结果里排第几名取1/(k排名)累加k通常取60。这样规避了两个分数量纲不一致的问题也不需要额外调参是实践中最常用的融合方式。如果两路分数都经过归一化也可以用加权线性融合α×向量分数(1-α)×BM25分数但α需要在验证集上调比RRF多一层调参成本。面试官问混合检索考的不是知不知道两种检索方式互补而是知不知道两路结果怎么融合才不出错。三、Reranker为什么不直接用更准的模型做全量检索Reranker重排序这道题经常被问出一个陷阱Cross-Encoder精度比Bi-Encoder高为什么不直接用它做检索如果答不出这个问题背后的计算量差异说明没有真正理解两阶段检索的设计动机。Bi-Encoder向量检索用的Embedding模型把Query和文档各自独立编码成向量文档向量可以提前离线算好检索时只需要算一次Query向量速度是毫秒级的——但因为Query和文档是独立编码的模型没法捕捉两者之间细粒度的交互关系精度有上限。Cross-Encoder把Query和候选文档拼在一起送进模型能捕捉到这种交互精度明显更高但代价是文档向量没法提前算好——如果文档库有100万篇每次查询都要对100万篇各做一次完整的前向计算这在工程上完全不可行。所以生产系统的做法是两阶段先用Bi-Encoder从百万级文档里快速筛出Top-100候选毫秒级再用Cross-Encoder对这100篇做精排100-300ms取Top-5送给模型生成。这个组合在实践中通常能把答案相关性提升10-20个百分点代价是多了100-300ms延迟。回答这道题的关键是讲清楚为什么不能只用一个而不是分别介绍两个模型是什么。四、评估RAG系统Faithfulness和Answer Relevance是两件事很多人会混着说RAG系统上线前怎么证明它好是面试官越来越爱问的题因为这体现候选人有没有真正跑过完整的迭代闭环。这里最容易被问穿的地方是分不清Faithfulness忠实性和Answer Relevance答案相关性——这两个指标听起来像一回事实际评的是完全不同的维度。Faithfulness问的是回答有没有超出检索文档去编造内容评估方式是把生成的答案拆成一条条声明逐条判断能不能在检索到的文档里找到依据Answer Relevance问的是回答有没有切题评估方式是让模型根据答案反推这个答案在回答什么问题再看反推出的问题和用户原始问题的语义相似度。两者可以互相独立地出问题一个回答完全基于检索文档、没有编造高Faithfulness但答非所问低Answer Relevance反过来一个回答很切题高Answer Relevance但里面掺了检索文档之外的内容低Faithfulness。业界常用RAGAS这类框架用强模型自动打这两个分不需要每次人工标注。答这道题时把两个指标各自的评估方式和一个能区分开两者的例子讲清楚比单纯报出指标名字更有说服力。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】