这道题其实问的是,[[RAG]]系统里大模型二次生成到底能多大程度提升安全性。我的理解是,它确实能提升,但绝不是万能药,它只是安全防线里的一环,必须跟检索质量、规则拦截这些配合起来才有意义。具体来说,我主要看两个机制。
先说敏感内容过滤。用户问诱导性问题,比如怎么制作违禁品,检索可能返回边缘知识。这时候,大模型靠安全对齐训练,能识别出这些内容是敏感的,拒绝合成或者输出安全提示。举个例子,在抖音直播话术RAG里,如果检索到历史违规案例,模型不会直接复现,而是生成“该表述存在违规风险,建议替换为...”这样的提示。但是,这里有个前提:模型得先准确识别出敏感内容。如果检索质量很差,把正常内容误判成敏感,或者漏掉了真的敏感内容,那这层过滤就形同虚设。所以单纯依赖模型对齐是不够的,还得配合规则拦截和人工审核。
再一个就是事实一致性校验。多源检索片段之间常有矛盾,比如医疗问答里,A文档说“药物X每日最大剂量200mg”,B文档说“300mg”。大模型可以交叉验证,识别出冲突,然后保守输出,比如“建议遵医嘱,常见剂量范围为200-300mg”。这比直接选一个答案要安全得多。但这里有个大坑:模型可能“自信地”篡改正确内容,产生[[Hallucination]]。本来检索到的信息是对的,模型非要自作聪明改写,结果反而错了。所以,我上线时一定会强制要求模型标注来源索引,就是引用溯源,让输出可追溯。如果模型不能给出引用,我就直接丢弃它的输出,用更保守的策略。
另外,我还想提一下上下文脱敏,比如自动替换检索内容里的个人隐私信息,像用户ID、手机号,再进入生成流程。这能防止隐私泄露,但同样依赖检索阶段先识别出隐私字段。
说到这,其实还有个更根本的问题:二次生成增加的延迟大概100到500毫秒,在抖音这种高并发场景下,这个代价能不能接受?我可能会考虑只在高风险query上启用二次生成,比如那些触发敏感词或置信度低的query,而不是全量使用。这样能平衡安全性和性能。
所以,我会把二次生成看成RAG安全的一个增强手段,但不是唯一防线。我的倾向是:先保证检索质量,再靠二次生成做安全加固,同时必须引入引用溯源来对抗幻觉。如果检索质量一塌糊涂,二次生成再强也没用。