Agent面试真题:这7道面试必考的RAG场景面试题答不对直接挂(附详细答案)
在上一篇文章中,我们梳理了RAG相关的基础知识。在面试中,除了会考查这些基础概念,面试官还会追问一些与RAG实际应用场景有关的问题,比如:如何评估RAG的效果、如何选择嵌入模型、系统上线后会遇到哪些问题,以及检索不到内容时该如何排查。
本文将围绕这些项目中的实际场景,整理一些常见的RAG进阶面试题。
另外,完整的AI Agent面试题文档也已经同步到了aiflowline.cn,大家可以结合文档阅读。
1、如何评估 RAG 效果?
评估RAG的效果,不能只看最终答案是否正确,因为RAG分为检索和生成两个环节。在评估时,要分别评估检索效果和生成效果。除此之外,端到端效果和用户反馈也可以用来评估RAG效果。
(1)检索结果
评估检索效果的常见指标有:
Recall@K:目标文档是否出现在前K个结果里Precision@K:前K个结果有多少是真的相关MRR:正确结果排名是否靠前Hit Rate:是否命中正确的文本片段
(2)生成效果
评估生成效果的常见指标有:
- 答案是否正确
- 是否根据检索结果回答
- 是否产生幻觉
- 是否缺少关键信息
- 是否给出引用来源
(3)端到端效果
对用户来说,最重要的是系统能不能正确回答用户提出的问题。我们可以准备一个测试集,每次修改文本片段、Embedding模型、TopK、提示词等内容后,都重新运行一遍测试集,观察系统能否正确回答问题。
(4)观察线上反馈
系统上线以后,对于通过RAG检索并回答的问题,要记录用户是否继续追问、是否点赞、是否点踩、是否点击引用来源,这些都能反映RAG的真实效果。
2、请解释 RAG 的工作原理。与直接对 LLM 进行微调相比,RAG 主要解决了什么问题?有哪些优势?
RAG的工作原理是在LLM生成答案之前,先从知识库中检索与用户问题相关的文本片段,再把这些文本片段作为上下文传递给LLM生成答案。模型微调是指在已有大模型的基础上,使用新的数据继续训练,让模型参数发生变化。
RAG适合用于补充外部知识,而模型微调适合用于改变模型行为、输出格式或语言风格。
RAG相比于微调有以下优势:
- 更新知识库更容易
当知识库文档发生变化,只需要更新知识库或索引,而不需要重新训练模型。
- 更适合接入私有知识库
比如公司制度、产品文档、技术方案,都可以直接使用RAG检索。
- 成本更低
与大模型微调相比,构建和维护知识库的成本更低,更新知识库内容也更快。
- 文档可追溯
通过RAG可以很容易地返回引用来源,用户可以清晰地看到回答问题时参考了哪个知识库、文档或文本片段。
- 降低幻觉
在提示词中明确要求模型只能基于RAG检索结果回答,可以降低幻觉。
在实际项目中,RAG可以和模型微调配合使用。
3、RAG 怎么解决 LLM 上下文窗口有限的问题?
LLM的上下文窗口大小是有限的。当RAG检索出来的文档片段很长时,就不能把它们全部放到Prompt中。解决LLM上下文窗口限制问题时,最重要的目标是保证最终的检索结果与问题内容最相关。
有以下优化方式:
- 合理切分
Chunk
Chunk太大会占用大量上下文空间,太小又可能导致上下文被破坏。要根据文档类型选择合适的大小。
- 控制
TopK
初步召回可以多返回一些Chunk,但最终放到Prompt中的Chunk要限制数量。
Rerank重排序
通过Rerank重排序,把检索结果中真正相关的内容放到上下文中。
- 压缩上下文
如果文本片段太长、太多,可以通过做摘要、去重、提取关键信息等方式,只将与问题有关的信息放到上下文。
- 使用
metadata过滤
在检索时,按照user_id、knowledge_base_id、文档类型等条件进行过滤,减少无关数据进入检索范围。
4、如何选择一个合适的嵌入模型?
选择Embedding模型时,不能只看排行榜,更重要的是看模型是否适合自己的业务和文档类型。
主要从以下几个方面考虑:
- 语言和业务数据
如果文档以中文为主,就选择中文检索效果好的模型;如果文档中经常出现中英文混合内容,还要考虑模型的跨语言检索能力。
- 最大输入长度
模型的最大输入长度要能够覆盖常用的Chunk大小。
- 向量维度和检索成本
在进行文本嵌入时,需要确定向量维度。向量维度越高,占用的存储空间越大,检索时也会消耗更多的计算资源。
- 部署方式
部署方式可以选择本地部署,也可以直接使用云端API。本地部署需要消耗算力资源并增加运维成本,但可以保证数据安全。云端API接入简单,而且目前文本嵌入模型的价格比较便宜,在数据安全要求不是特别严格的情况下,推荐选择云端API。
- 向量数据库配置
嵌入模型的向量维度要和向量数据库保持一致。
5、RAG 系统在实际部署中可能面临哪些挑战?
理想情况下,我们通过RAG检索出与问题最相关的文档,然后交给LLM生成正确答案。但在实际生产环境中,还会遇到数据、权限、性能等问题。
常见的问题如下:
- 文档质量和文档解析
部分文档可能存在重复、过期、格式混乱等问题。对于PDF、Word、PPT、网页等不同类型的文件,解析效果也不同。
- 权限控制
不同用户的文档访问权限不同,在检索时必须先做权限过滤。不能先查出所有信息,再让模型判断哪些内容可以展示,否则可能会泄露敏感信息。
- 知识更新
当知识库中的文档新增、修改或删除时,要及时同步向量数据库中的数据,避免检索到已经过期的内容。
- 处理延迟
一次RAG操作可能包括问题重写、向量检索、全文检索、Rerank重排序等步骤。处理步骤越多,系统延迟越高。
6、GraphRAG 与传统 RAG 有什么区别?
传统RAG主要通过向量相似度检索,找到与用户问题语义最相近的文本片段(Chunk);GraphRAG会在此基础上引入实体、关系和图结构。
传统RAG的数据处理流程如下:
RAG数据处理流程图
GraphRAG的数据处理过程如下:
GraphRAG数据处理流程图
两者主要有以下区别:
- 检索方式
传统RAG主要检索语义相似的文本,GraphRAG还可以根据实体关系、图路径、邻居节点和社区摘要进行检索。
- 适用场景
如果问题的答案可以从知识库中直接找到,那么传统的RAG已经够用了。如果问题涉及多个实体、多个关系,则更适合使用GraphRAG。例如:“该客户有哪些合同和项目?谁负责这些项目?”对于这类问题,GraphRAG更有优势。
- 可解释性
GraphRAG可以给出完整的实体关系路径,而传统RAG只能给出文本片段。从这个角度来看,GraphRAG的可解释性更强。
- 系统搭建成本
传统RAG的实现和维护都比较简单,GraphRAG还要处理实体抽取、关系建模、图谱更新和数据一致性,实现成本也比较高。
在实际项目中,两者通常会配合使用。可以先通过向量检索找到相关文档,再通过图检索补充实体关系信息。
7、如果 RAG 系统返回 0 个检索结果,你会如何排查问题?
当RAG返回 0 个检索结果时,可以按照以下几个方向进行排查:
- 检查文档是否入库
确认文档是否已经上传,并且完成了解析、拆分、文本嵌入和入库。如果文档内容没有写入向量数据库,那么检索结果一定为空。
- 检查向量和索引
确认Chunk是否已经通过Embedding模型成功转换为向量,以及索引是否已经构建完成。
- 检查查询向量
在进行数据检索之前,要先对用户提出的问题进行文本嵌入。如果出现接口调用失败、模型不一致或向量维度不一致等问题,都可能导致检索失败。
- 检查过滤条件
在进行相似度检索时,要对向量的metadata进行过滤。这一步可能会因为过滤条件错误,提前过滤掉应该检索到的文档,比如knowledge_base_id错误、权限错误等。
- 检查检索参数
检查检索的分数阈值是否设置过高,以及TopK是否大于 0。
- 查看检索日志
如果仍然没有找到原因,就查看完整的检索日志,重点记录query原文、改写后的query、query生成的向量、过滤条件、TopK、分数阈值、检索返回数量等重要信息。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~