大家好,欢迎回来。在本视频中,我们将为专注于检索增强生成(RAG)和智能体AI的技术面试做准备。我们将梳理20个对人工智能工程师、大语言模型(LLM)工程师以及高级AI研究职位至关重要的问题。对于每个问题,我们将解释其核心概念、在实际应用中的重要性,以及一个优秀的面试回答应当提及的权衡取舍。让我们开始吧。

问题一:为什么检索增强生成能帮助大语言模型回答它可能不知道的信息?核心思想是在回答问题时向模型提供相关的外部证据。系统不仅仅依赖编码在参数中的信息,而是检索文档或段落,并将它们作为生成的上下文。这使得答案无需因底层信息的变更而重新训练模型,就能更具领域特定性且更及时。此外,当系统保留来源引用时,答案也更容易审计。但RAG并不能保证真理的正确性。检索器可能会遗漏正确的证据,而模型也可能误解或夸大其检索到的内容。优秀的设计应同时评估检索质量和答案的 grounding(依据性)。

问题二:传统RAG流水线的主要阶段有哪些?描述流水线的有用方式是查询、检索、可选的重排序或融合以及生成。在查询到达之前,还需要准备和索引文档。首先,系统接收一个问题。检索器找到可能有助于回答它的候选段落。然后,系统选择、排序或组合最有用的证据,并将这些上下文传递给语言模型以生成响应。具体实现可能有所不同,但将这些阶段分离开来使得调试更加容易。如果答案错误,我们可以调查是否找到了正确的证据、选择是否恰当,或者生成过程未能忠实使用这些证据。

问题三:密集检索器如何支持语义搜索?密集检索器将文本转换为称为嵌入的数字向量。在索引期间,文档块被嵌入并存储。在查询时,用户的问题也被嵌入,系统将查询向量与文档向量进行比较。这可以找到表达相似思想的段落,即使它们使用不同的词汇。例如,关于降低模型训练成本的问题可能会匹配到关于高效模型优化的段落。相似度通常根据模型和系统设计使用余弦相似度或点积来衡量。密集检索对于基于意义的匹配很有用,但可能会错过精确的标识符或专业术语。这就是密集检索通常与词汇搜索结合使用的原因之一。

问题四:BM25在什么情况下可以作为密集检索的有用替代或补充?BM25是一种词汇排序方法。它奖励查询词的匹配,同时考虑诸如词频、文档长度以及术语在整个集合中的信息量等因素。当用户搜索精确的模型名称、产品代码、错误标识符、技术缩写或特定短语时,这种方法特别有效。密集检索可能会返回概念上相关的内容,而词汇检索可以帮助保留精确的术语匹配。在许多应用中,选择不是密集与词汇之间的二选一。混合检索结合了候选列表或分数,旨在捕捉语义相关性和精确匹配。组合的价值应在代表性查询上进行衡量,而不是假设其有效。

问题五:使用交叉编码器对检索到的段落进行重排序的目的是什么?第一阶段的检索器旨在在大型集合中高效搜索,它返回一个短列表的候选项。交叉编码器随后将查询和每个候选段落一起评估,允许查询文本与段落文本之间进行更详细的交互。这可以改善短列表的排序顺序,使最有用的证据出现在顶部。权衡之处在于计算成本。对每个文档使用交叉编码器进行评分,对于大型集合来说通常过于昂贵。因此,常见的设计是一个快速的检索阶段后跟一个更精确的重排序阶段。在面试中,应解释质量优势以及两阶段设计为何具有实用性。

问题六:Hyde试图在检索中改进什么?Hyde代表假设文档嵌入(Hypothetical Document Embeddings)。系统首先使用语言模型从查询中创建一个假设的类似答案的文档。然后,它嵌入该生成的文本,并使用该嵌入来检索在表示上相似的真正源文档。重要的警告是,假设的文档并不是证据。它可能包含不准确的陈述。其目的是帮助指导检索,而最终答案仍应基于实际检索到的来源。这说明了更广泛的原则:模型生成的中间表示可以帮助搜索过程,但不应与经过验证的信息混淆。

问题七:上下文检索旨在减少什么问题?当文档块与其周围的文本分离时,可能会丢失意义。它可能包含代词、缩写或技术细节,其含义依赖于更大的文档范围。上下文检索在索引或搜索之前用有用的文档级别或周围语境丰富该块,这可以使段落更容易与正确的查询匹配。然而,添加上下文并不总是有益的。过多的额外文本可能会分散对段落核心信息的注意力,而错误的语境会引入新的问题。与块大小和其他检索选择一样,正确的方法应针对代表性查询和下游答案质量进行测试。

问题八:为什么RAG的质量应与回答的流畅性分开评估?一个响应可能听起来自信且 polished(润色),但依赖于不相关或不完整的证据。检索评估检查系统是否找到了有用的源并对其进行良好排序。回答评估检查最终响应是否正确、相关并由这些来源支持。指标应与目标相匹配。例如,召回率有助于衡量相关信息项是否出现在检索集中。排序指标可以评估相关结果出现的位置,但没有单个指标能捕捉真实系统的每一个方面。一个好的评估计划包括代表性问题、尽可能已知的相关证据,以及对生成答案的端到端检查。它还应考察失败案例,而不仅仅是一个聚合分数。

问题九:MR和NDCG告诉我们关于……

检索系统?平均倒数排名(MRR)侧重于第一个相关结果的位置。当该结果出现在排序前列时,它会获得更高的评分。归一化折损累计增益(NDCG)可以衡量多个结果之间的分级相关性。它奖励较早出现的高度相关项目,并降低列表中较低位置项目的贡献权重。

归一化使得将排序与理想顺序进行比较变得更加容易。这些指标回答不同的问题。在快速找到一个好结果至关重要的情况下,MRR 尤其具有信息量。当多个结果的排序和质量都很重要时,NDCG 非常有用。应根据用户如何消费检索到的证据来选择指标。

问题10:LLM应用中的工具调用是什么? 工具调用允许模型生成结构化请求,以使用外部函数或服务(如搜索工具、计算器或数据库查询)。应用程序接收该请求,进行检查,执行工具调用,并将结果返回给模型。这使得LLM应用不仅仅局限于根据提示生成文本,还能访问模型外部的信息或能力。

一个关键的区别在于:模型提议工具调用,但周围的软件控制执行过程。应用程序应验证工具名称和参数,强制执行权限处理失败情况,并避免将任意模型输出视为可信代码。

问题11:为什么应用程序在执行前必须验证由模型生成的工具调用? 因为模型输出并非自动可信。安全的运行时环境会检查请求的工具是否存在,参数是否符合预期模式,以及用户是否有权执行该操作。对于高影响或不可逆的操作,可能需要额外的保障措施,例如用户确认、速率限制、审计日志和清晰的错误处理。

系统还应处理意外的工具响应,而不允许工作流基于错误的假设继续运行。面试要点是:可靠的智能体系统既需要模型能力,也需要软件层面的控制。模型可以帮助决定做什么,但应用程序逻辑必须强制执行允许做什么。

问题12:系统应如何在多个可用工具之间进行选择? 工具选择取决于任务、每个工具的 capabilities(能力)、所需输入、可靠性、延迟、成本以及访问权限。清晰的工具描述和受限的输入模式有助于模型区分相似选项。应用程序仍应拒绝无效或未授权的调用。

当工具失败时,它还应返回有用的错误信息,以便系统能够恢复或选择其他路径,而不是盲目重复相同操作。优秀的设计应在真实任务中评估工具选择。它不仅衡量模型是否选择了正确的工具,还衡量整个工作流是否正确且高效地完成。

问题13:模型上下文协议(MCP)旨在标准化什么? MCP 为 AI 应用程序连接外部工具和上下文提供者提供了一种通用方式。与其为每个应用程序构建完全不同的集成,兼容的客户端可以与暴露工具或资源等能力的服务器进行通信。这可以简化集成并使能力更易于重用。

但协议兼容性并不等同于安全性。系统仍需进行身份验证、授权,谨慎处理外部内容,并明确界定连接工具的功能边界。在面试中解释 MCP 时,应区分它解决的互操作性问题与应用本身的安全和运营责任。

问题14:智能体与单次对话的 LLM 响应有何不同? 单次对话响应通常接收输入并生成输出。而智能体工作流可以连续进行多个步骤:解释当前状态、决定行动、调用工具、观察结果,然后决定下一步操作。这种循环可以支持需要多个来源或行动的任务。

例如,智能体可能会搜索信息、检查结果,然后执行第二次搜索以填补空白。这种额外的灵活性伴随着成本:步骤越多,延迟和费用可能越高,且每一步都可能失败。因此,有用的智能体系统需要限制迭代次数、明确的完成标准、监控以及安全的行为回退机制。

问题15:什么是 React 模式? 从高层次来看,React 将面向推理的任务分解与收集信息或影响环境的行动相结合。系统决定做什么(例如搜索或工具调用),然后观察结果。该观察结果会指导下一步行动。如果搜索结果不完整,系统可能会优化查询;如果工具失败,它可能会恢复或停止并给出解释。

重要理念是决策与行动之间的反馈循环。系统不应无限期地持续行动,它需要限制、检测进展的方法以及明确的条件来判断任务何时完成或何时应报告不确定性。

问题16:为什么观察步骤在智能体循环中很重要? 行动本身并不能告诉智能体是否成功。系统需要检查结果。观察可能会揭示有用的证据、失败的工具调用、缺失的输入或新的约束条件。如果不检查结果,智能体可能会基于错误的假设继续操作并累积错误。

它应区分工具输出与指令,并将检索到的网页或文档视为潜在不可信的内容。因此,可靠的循环不仅仅是“计划并行动”,而是“计划、行动、观察和更新”,并在每个阶段设置明确的停止条件和适当的验证。

问题17:何时智能体 RAG 优于固定 RAG 管道? 当请求遵循可预测的检索路径时,固定管道通常更简单、更快且更容易测试。当系统可能需要重新表述查询、搜索多个来源、使用额外工具或检查现有证据是否充足时,智能体 RAG 就派上用场了。

对于复杂问题,智能体可能会检索一组初始段落,发现缺口并执行另一次搜索。这种适应性可以提高任务完成率,但也可能增加成本和延迟,并引入更多故障点。最佳选择应基于证据:在同一代表性任务上将智能体设计与更简单的基线进行比较,确定改进是否足以证明增加复杂性的合理性。

问题18:智能体检索工作流中常见的故障模式有哪些?

代理可能会选择错误的工具、检索到薄弱的证据、重复无用的搜索、误读结果,或在任务完成前停止。来源之间也可能存在冲突或包含误导性指令。实际的控制措施包括限制迭代次数、定义明确的停止条件、检查检索到的证据是否支持答案、追踪来源,并在证据不足时提供安全的回退机制。此外,评估不应仅关注最终答案的质量,还需衡量工具调用的正确性、任务完成度、延迟和成本。当发生故障时,应检查追踪记录以确定是哪一步导致了问题,而不是假设语言模型本身是唯一的问题所在。

第19问:开发者如何减少检索增强生成(RAG)系统中的幻觉?首先,通过提高检索的覆盖率和排序质量,确保模型接收到相关的证据。然后提供简洁的背景信息,并引导模型区分有支持的声明与不确定性内容。来源引用可以帮助用户审查重要陈述,系统应被允许在可用证据不足时明确说明这一点。评估测试应包括答案是否真正基于检索材料,涵盖来源不完整或相互矛盾等困难案例。这些技术降低了风险,但并不能完全消除幻觉。模型仍可能误读证据,检索器也可能遗漏重要信息。可靠性来自于结合改进的检索、基于事实的生成功能、评估以及合理的回退行为。

第20问:在决定代理式RAG系统是否更优之前,我们应该测量什么?除了检索质量外,还需评估任务成功率和答案的 grounded 程度(即是否有据可依),同时考量工具调用的正确性、延迟和成本。评估集应包含代表性查询以及困难案例,如缺失证据、冲突文档和工具故障等。使用相同的评估集将系统与更简单的基线进行比较。额外的代理步骤仅在其产生的有意义改进足以证明其运营成本和风险合理时才具有价值。按阶段检查故障也很有用:检索是否遗漏了证据?代理是否选择了次优的下一步行动?生成器是否提出了缺乏来源支持的声明?这种分析将评估转化为改进系统的实用指南。

让我们回顾一下:RAG 将语言模型与外部检索相结合,以便在推理时使用相关证据。代理式 AI(Agentic AI)通过规划、工具使用、观察和迭代决策扩展了这一理念。这两种方法都不是自动可靠的:检索可能失败,工具调用需要验证,生成的答案必须与证据进行核对。强大的工程实践意味着理解权衡利弊、测量完整的工作流程,并且仅在能带来已验证收益时才增加复杂性。如果你正在准备 AI 工程师、LLM 工程师或高级 AI 研究员的面试,请练习解释不仅包括某项技术是什么,还包括何时使用它、可能出现什么问题以及如何评估它。感谢观看。如果本视频对你有帮助,请点赞并订阅以获取更多 AI 面试准备内容,并在评论区留言告诉我们下一个希望我们涵盖的主题。我们在下期视频中再见。