系列目录 · 上一篇 · 下一篇

本篇属于 智能体面试与工程基础 系列。

A17|P0:从文档进入系统讲完整RAG流程

口述: 离线做解析、清洗、版本与权限标记、切片、embedding和索引;在线鉴权、理解查询、检索、融合/重排、证据组装、生成与引用检查。文档删除和更新要同步索引,日志应定位失败发生在解析、召回还是生成。

追问: PDF表格解析错了,后面换embedding能解决吗?

Naive RAG 的边界: 一次检索后直接生成,容易受切片断裂、查询歧义、单一路径漏召回和无关上下文影响,也可能缺少证据不足时的退出策略。先定位实际失败,再增加改写、多路召回或验证环节,避免每次请求都无条件跑完整复杂链路。

A18|P0:chunk_size与overlap怎样定?

口述: 按文档结构、答案跨度、embedding与生成模型限制设计,先尊重标题、段落、表格与代码边界,再控制长度。overlap缓解边界丢失但增加重复;用代表性问题比较召回和端到端质量,不背固定数值。具体splitter计数单位需查实现,不能默认是token。

追问: 跨两段的答案、长表格、跨函数引用分别怎么处理?

A19|P0:Query Rewrite为什么会出错?

口述: 它可补全上下文指代或展开术语,但可能篡改实体、否定条件、时间和用户意图。保留原query及关键约束,必要时原query和改写query同时检索,再比较结果;信息不足先澄清。

追问: 用户说“不要最新版本”,改写后丢掉“不”如何发现?

A20|P0:BM25、Dense、混合召回与Rerank如何分工?

口述: 关键词检索适合精确术语、编号和罕见词,稠密检索补充语义匹配;混合是否有效要实测。可用排名融合避免直接相加不可比分数。重排对候选做更细的相关性判断,但不能找回初次召回遗漏的文档。

追问: Recall@K低应该先改召回还是重排?融合权重在哪里验证?

A21|P1:embedding、向量库与相似度如何选?

口述: 用自己的语言、领域和查询集比较质量、索引体积、延迟、过滤能力和维护成本。相似度要匹配模型训练与归一化约定;对单位向量,平方欧氏距离等于2减2倍余弦相似度,排序等价。换embedding通常需要处理索引重建与版本切换。

追问: 已归一化与未归一化混存,会发生什么?

A22|P0:召回不到时怎么办?

口述: 先确认文档存在、权限过滤正确、解析切片与索引版本有效,再检查查询和召回参数。证据不足时返回限制或澄清,不让模型虚构。必要时扩大候选或补充检索,但受预算约束。

追问: 如何区分知识库确实没有与检索系统漏召回?

低召回排查顺序: 固定一组漏召回问题及应命中的证据,依次检查文档是否入库、切片是否保留答案、权限/版本过滤是否正确、关键词与向量候选各漏了什么。检索近邻参数、Top-K、改写与多查询分别做对照;重排只能重排已有候选。改进后同时检查 Recall@K、端到端正确率、上下文噪声和延迟,不能只报告召回提升。

A23|P0:RAG文档隔离怎么做?

口述: 在数据、检索过滤、缓存键和返回校验中保留tenant/user/ACL信息,权限来自服务端身份。先过滤再选择可见结果,并验证底层索引的过滤语义。不能只在prompt里写“不要泄露”。

追问: 文档撤权后,向量缓存和答案缓存如何失效?

A24|P1:Agentic RAG、图检索与Code-RAG何时需要?

口述: 多轮检索路径依赖反馈时可让Agent控制查询;图适合显式关系遍历,代码检索可结合符号、AST、依赖和文本。先图后向量或先向量后图由问题决定,保留节点/片段来源;不为图而建图。Elasticsearch也可支持向量能力,不应将其绝对限定为关键词组件。

追问: 固定两跳SQL能解决的关系查询,为什么需要Agent?

A45|P1:Query Rewrite、Multi-Query 与 HyDE 如何选?

方法做什么主要风险
Query Rewrite消解指代、补足检索表达改错实体、时间或否定条件
Multi-Query从多个表达或子问题召回,再去重融合请求成本增加,偏离意图的候选变多
HyDE生成假设文档,编码后检索真实文档假设文档带入错误概念,检索方向偏移

口述: HyDE 的中间文本可以包含不真实细节,作用是形成检索表示,不是可引用证据。最终回答仍以真实检索文档为依据。它不是“先让模型回答,再把回答当知识”。HyDE 原论文

选择方法: 短查询表述不足先尝试保守改写;多方面问题可拆解后多路检索;领域表述差距明显时实验 HyDE。保留原查询通道,用去重和排名融合控制候选规模,设置检索次数与token预算。

追问: 命中率上升但答案质量下降,是否因为候选更嘈杂、关键证据被挤出上下文?

A46|P1:Self-RAG 与 Corrective RAG 有什么区别?

口述: Self-RAG 在原论文中通过训练引入反思标记,让模型学习判断是否检索,并对相关性、支持性和输出效用等进行评估;不能把通用模型的一句“请反思”当成复现原方法。CRAG 引入检索质量评估,根据置信情况选择纠正策略,包括利用外部搜索补充,以及知识精炼。Self-RAG · CRAG

可实践的控制流程: 检索→检查问题关键条件是否有证据→充分则生成并检查引用,不充分则有界改写/补充检索→仍不足则澄清或说明限制。这是受启发的工程设计,应与论文的训练和推理机制区分。

验收: 相关性评估器同样会错,需要标注样本校准,并统计漏判、误触发检索、额外成本和最终任务成功率。设置最大重检索次数;“模型决定继续检索”不是无限循环的理由。


系列目录 · 上一篇 · 下一篇

最后修改:2026 年 09 月 13 日
如果觉得我的文章对你有用,请随意赞赏