Contextual Retrieval 是什么?为什么要为 RAG 文档切片补充上下文?
下面是一段教学用的模拟面试。
🧑💻 面试官:资料明明有答案,为什么 RAG 还是检索不到?
🙋♂️ 我:可能切片丢掉了背景,例如片段只写“该版本不支持”,却没有软件和版本名称。
🧑💻 面试官:把全文摘要贴在每个片段前面,就叫 Contextual Retrieval 吗?
🙋♂️ 我:它更强调为当前片段补充专属背景,不是所有片段都贴同一份概括。
🧑💻 面试官:背景补在回答时来得及吗?如果模型把版本号补错了,会影响哪里?
背景要在检索之前进入索引,而且必须说明这段原文属于哪里,不能替原文编出新事实。
面试速答(60 秒版)
Contextual Retrieval 是一种改善检索的预处理方法。文档先切成片段,再结合原文为每个片段生成简短、专属的背景说明,随后用补充后的内容建立向量和关键词索引。
例如片段只有“旧配置需要重新导入”,背景可以说明这是哪款产品、哪个版本的迁移说明。这样检索时,片段就不再缺少关键对象和范围。
它与回答时补上下文不同,也不等于给所有片段添加同一份全文摘要。补充信息要受原文约束,原始片段、来源位置和生成背景应分开保存。
收益需要在自己的问题集上验证。要比较必要证据的召回、回答效果、建索引成本,以及补错背景的风险,不能照搬别人的实验提升比例。

知识点详解:切片独立以后,哪些信息容易丢?
先看一段失去对象的说明
假设一份文档标题是“星河编辑器 3.0 迁移说明”,某个小节写着“旧配置需要重新导入,插件设置不自动迁移”。
切出来的片段如果只有后半句,就没有产品名称和版本。用户查询“星河编辑器 3.0 的插件配置会迁移吗”,检索系统很难只凭片段确认它讨论的对象。
这个例子中的产品与版本是假设的,用来说明指代丢失。真实资料里的章节标题、年份、适用设备和实体名称,都可能遇到同类问题。
补充内容是在什么时候加入的?
顺序应该是先切片,再为每个片段定位背景,随后建索引。不能说成“在切片之前给每个片段补背景”,因为此时片段还没有形成。
补充后用于索引的文本,可以示意成:
背景:本片段来自星河编辑器 3.0 迁移说明,
讨论旧版本配置与插件设置的迁移范围。
原文:旧配置需要重新导入,插件设置不自动迁移。
向量表示与词项索引都可以使用这份有背景的文本。背景里的产品与版本,帮助片段在检索阶段被匹配。
如果检索完成以后才加这段背景,它或许能帮助生成理解已经拿到的片段,却不能补救之前没召回它的问题。方法来源见 Anthropic 的 Contextual Retrieval 说明。
为什么不直接用全文摘要?
同一份迁移文档可能还包含安装、备份和授权变化。全文摘要会概括很多内容,但未必说明当前片段的具体对象和范围。
给“插件设置”片段补背景时,应该突出它在迁移说明中的位置;给“授权变化”片段补背景时,需要另一种定位。
所有片段贴相同的大摘要,可能增加大量重复词,还把无关主题带进当前片段。因此,关键是片段专属、简短且有依据。
如果标题和结构化元数据已经能补足背景,也不一定需要每个片段都调用大模型。可以先做成本更低的结构补充,再评测是否还有缺口。
怎样避免补错之后污染整个索引?
先给补充任务明确约束:只定位当前片段,不扩写知识,不推测缺失结论,不把其他文档的事实混进来。
然后把原始片段与生成背景分开保存,并保留文档 ID、版本、位置和生成配置。背景出了问题,可以修正并重建相关索引,而不是失去原文。
抽查重点放在版本、时间、主体与否定关系。例如“新版不再支持”如果被补成“新版支持”,关键词与向量都可能被带偏。
生成背景不是原始证据。回答引用时,要能回到具体原文,并检查补充内容没有取代原文结论。

和父子检索、扩大窗口有什么区别?
父子检索可以先用较小片段找线索,再取更大的关联内容给模型。扩大窗口则在检索结果周围补取相邻文本。
Contextual Retrieval 更早处理问题:先让进入索引的片段带有定位背景,尝试改善它被召回的机会。
这些方案可以组合,但解决阶段不同。如果小片段已经很容易召回,只是生成缺少上下文,取父文档可能更直接。要先确认问题出在哪里,再加步骤。
怎么验证它值得做?
固定切片、检索与回答配置,用一批有必要证据标注的问题,对比补背景前后的结果。重点加入跨章节指代、版本名称、省略主体和短片段问题。
除了召回,还检查无关片段是否增加、答案有没有被错误背景误导。建索引的模型调用费用、耗时和文档更新后重建范围,也要记录。
资料本来是完整独立的 FAQ 时,收益可能很有限。不要为了采用一个新方法,把已经清楚的问答再补一层生成文本。
面试官继续追问
背景里应该直接补出用户问题的答案吗?
不应该把定位背景变成未经证实的答案扩写。它帮助说明原文属于哪里,事实仍由原文提供。
文档改了一个小节,要全部重新生成吗?
先看背景是否依赖被修改的全文信息。保存版本与依赖关系,才有机会正确决定重建范围;不能只按片段文字没变就认定背景仍有效。
召回变好了,最终回答一定会变好吗?
不一定。生成可能误用证据,补充内容也可能造成混淆。因此检索与回答效果要分别验证。
面试速记卡
- 顺序是切片 → 补片段专属背景 → 建索引。
- 背景解释对象、版本与位置,不扩写新事实。
- 回答时加上下文,不能补救之前没有召回的片段。
- 原文与生成背景分开保存,引用回到原始证据。
- 父子检索与窗口扩展处理不同阶段,可以组合。
- 用自己的问题集评测收益,也记录预处理成本。
公司面试真题
这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。
浏览公司面试真题 →