先这样答
我会把这类问题分成冲突、过期和权限不一致三类,并分别处理。冲突是同一主题出现不同结论。过期是条目已经失效。权限不一致是检索结果与访问权限不匹配。这三类问题不能只靠提示词交给模型判断。
遇到冲突,我会比较证据的时效性和来源可信度。不能因为一条证据先被检索到,就直接把它当成正确答案。对于仍然存在矛盾的证据,我会把它们一起提供给模型,并要求模型明确标注分歧。这样答案既保留证据,也不会把不同结论伪装成一致结论。
处理过期信息时,索引需要带生效时间。检索时过滤已经失效的条目,避免过期内容进入后续回答。处理权限不一致时,权限判定统一放在检索层。命中内容必须先通过权限判断,再进入模型。绝不能让模型先看到无权内容,再依靠提示词要求它不要泄露。
面试官会怎么追问
-
「如果两条证据都来自可信来源,但结论相反,你怎么处理?」 我会继续比较两条证据的时效性和来源可信度。无法消除矛盾时,把两条证据一起给模型,并要求它标注分歧。不能直接选择一条,也不能把冲突结果写成单一确定结论。
-
「你怎么判断一条检索结果已经过期?」 我会让索引记录条目的生效时间。检索阶段根据这个时间过滤失效条目。失效条目不应继续进入模型的上下文。
-
「为什么不能让模型自己判断权限?」 权限判定必须在检索层统一执行。检索命中后先过权限,再把结果交给模型。模型不应先接触无权内容,因为后续提示词不能改变它已经看到的内容。
回答的坑
- 把证据冲突简单归因于来源问题,忽略时效性比较,也没有向模型标注仍存在的分歧。
- 让模型先看到无权内容,再靠提示词阻止泄露,权限边界已经放错位置。
同系列的题
—— 本题完 ——