输出内容的安全重定向:不只是拒绝回答,还能引导到安全话题

你让AI帮你写一份“完美犯罪计划”。它没有说“不行”,也没有报警。而是安静地回你一句:“我理解你对刑侦题材的兴趣,如果你想了解案件是如何被侦破的,我可以推荐几部真实的纪录片。”

AI technology illustration

看到这句话,你是什么反应?是觉得AI在敷衍你,还是觉得它有点东西?

其实,这背后是一个大多数人没注意到的安全机制——安全重定向(safety redirection)。它比简单拒绝高一个段位,也是大模型安全对齐里一道隐蔽的防线。

拒绝回答,只是安全机制的及格线

我们默认的安全策略是“检测到危险请求,直接拒绝”。但如果你留心观察不同模型的回答,你会发现优秀的模型在拒绝你之后,还会试图给你指一条“安全的路”。它甚至会停顿一下,然后补一句“如果你感兴趣的话”。

这背后有很现实的原因:单纯拒绝有三个问题。

  • 第一,对话被强行终止,用户会沮丧,觉得AI“冷冰冰”;
  • 第二,被拒绝的请求会流到其他平台,而那些平台不一定有安全护栏;
  • 第三,很多危险请求的表层下有一个合法意图,比如问“怎么策划完美犯罪”其实是想构思小说情节。

安全重定向的意义,就是在守住安全底线和保持帮助能力之间找到一个中间的答案。不是“不回答”,而是“带你绕到安全的路上去回答”。

模型是怎么学会“拒绝+引导”的?

你可能会问:模型怎么知道“犯罪计划”之后接“刑侦纪录片”是安全的?这就要回到RLHF(人类反馈强化学习)。在InstructGPT论文中,人类训练员在对比候选回答时,明显偏好那种“既拒绝有害请求、又提供替代帮助”的输出。要知道,RLHF的偏好排序是全局的:一个回答在“有帮助”维度差一点,但在“安全且也不失帮助”维度好的时候,人类仍然会选它。

安全团队在制作偏好数据时,往往专门为高危请求标注三档回答:危险直接回答、生硬拒绝、拒绝+安全替代。奖励模型会在前两档之间学会“拒绝更容易得高分”,但会在第三档上学习“拒绝之后继续给出安全建议”得分最高。

于是模型在学习中就把“拒绝+转折+替代”这组动作的联合概率调高了。语言模型本质是在做next-token预测,安全对齐的成果也体现在概率分布里:当模型生成“我不能帮你”之后,下一个token是“但是”的概率被训练得比其他词高很多。

一张表说清三种回答的区别

维度 拒绝回答 安全重定向 误拒绝
核心行为 不求回应,拒绝 拒绝+引导到安全话题 拒绝了本来合法的请求
追求目标 无害性优先 无害性与有用性兼顾 错误的无害性优先
用户体验 生硬、挫败 保留余地和帮助 困惑、反感
训练成本 较高,需要精心设计偏好 需要避免的安全缺陷

为什么“拒绝后补一句”能改变立场

语言模型是逐字生成的。如果你把“我不能帮你”和“但是”之间断开,模型在“但是”这一步的概率分布其实很窄:它不得不选择一个转折词。一旦转折词被选中,之后的序列就顺着新的方向走了。换句话说,安全重定向是在关键分叉点上,用一个小概率词撬动整个后续文本。这也是为什么有些安全对齐研究专门关注“转折词”分布。

典型的安全重定向长什么样

安全重定向不是只有一种句式,它是一整套“语义迁移”的模式。下面这些都是真实模型常见的输出:

  • “我不能帮你设计炸弹,但是我可以告诉你民用爆炸安全设计需要遵守哪些原则……”
  • “我不想给出具体药物配方,但如果你关心药物化学机制,我可以解释为什么这类分子在体内会有活性……”
  • “这个问题涉及到个人隐私,我不能帮你查询。但如果你遇到了困难,你所在城市的心理热线会有更合适的人可以聊。”

你有没有发现,这些回答的共性是:把具体的危险操作,替换成一个更抽象、更公共、更合法的知识话题。安全重定向本质上是一种“话题降维术”。

注意到没有,这些示例都没有简单地把话题扯到十万八千里外,而是在语义邻近的安全区域里找一处落脚点。这正是它与普通“跑题”的本质区别:跑题是不知道要往哪走,重定向是知道哪条路不能走,然后选择相邻的、能走的路。

除了训练,工程上也做得到

如果你没有资源重新训练模型,也有几种工程化思路:

  1. 在模型输出前跑一个安全分类器,命中高危请求就替换为一个预设的“重定向模板”;
  2. 使用一个改写模型,把用户的危险请求改写成安全意图(例如把“如何折磨一个人”改成“心理学中如何帮助暴力倾向者”),再交给主模型回答;
  3. 提示词层面给模型看几个“拒绝+替代”的示例,利用few-shot学习驱动它模仿。

这些方案比端到端训练更轻,但容易显得机械:模型可能强硬转折,一眼看出是套路。

一个更轻量的实现甚至可以做成一段伪代码:

def safe_respond(text, model, classifier):
risk = classifier.predict(text)
if risk > threshold:
return reframe(text) # 改写为安全意图
return model.generate(text)

但同样,这类外挂式重定向的瓶颈在于改写质量。如果改写模型理解不到用户真实意图,只会把“如何杀人”改成“如何防身”,那就变成了生硬的转移话题。

外挂式重定向还有一个优势:可以针对不同垂直领域定制。比如医疗助手遇到“哪种药能致死”时,重定向到“药物安全剂量范围”,金融助手遇到“如何逃税”时,重定向到“合法节税的方式”。只要改写模型足够强,大模型甚至可以完全不用改。

安全重定向的三个软肋

重定向并不完美,它有三个很容易被忽略的破绽。

破绽一:重定向内容可能泄露信息。假如用户用隐晦方式问“哪些化学品混合会爆炸”,模型拒绝后说“如果对化学反应感兴趣,可以研究氧化还原反应”。这个重定向本身等于提供了一个关键词,用户顺着这个词就可能搜到危险配方。有研究者把这种现象叫作“安全劝告中的香农信息泄漏”。

破绽二:过度重定向会摧毁信任。所有敏感话题都被“学校安全教育”式地接住,用户会觉得AI在打官腔。信任一旦丢失,下一次用户就不再问安全范围内的边缘问题了。

破绽三:重定向顺序可能被利用。攻击者可以通过反复提问与观察模型在重定向中使用的宾语,来推断模型对哪些概念敏感,从而构造更精准的越狱提示。这种侧信道攻击正在成为红队测试的热门方向。

什么样才算好的安全重定向?

  • 相关性:替代话题与原请求是否在同一知识领域,而不是驴唇不对马嘴;
  • 低信息泄漏:替代话题是否避免了把用户引向危险信息的线索;
  • 自然度:转折是否平滑,不给用户“这AI在故意绕弯子”的感受。

这三个维度互相制约。相关性太高可能泄漏信息,太低则显得生硬。安全团队通常会在大量内部评测上手工调优。

我最初以为这是一条if-else

我第一次在代码里研究模型输出时,想当然地认为安全机制大概是个“危险词列表,命中就打回”。直到我看了几份RLHF训练样本,才惊觉根本不是这回事——模型的拒绝行为是概率性的,而且安全团队会刻意构造那种“拒绝后+但你可以”的样本。有一次我做测试,在模型拒绝句子后手动补上“不过”两个字,整个后续输出的方向就变了。那一刻我才意识到,安全重定向是被作为一种语言模式训练进模型深处的,而不是一个可插拔的过滤器。

这个认知对我后来设计提示词影响很大。我开始理解,为什么很多“越狱攻击”试图用上下文覆盖这些概率,而不是直接触发关键词。

三个关于安全重定向的高频问题

为什么模型不干脆拒绝,要拐弯抹角?

因为简单拒绝只满足了安全,放弃了帮助。重定向试图在安全边界内继续提供价值。这更接近人类执法者调解争执时的做法:不解决争执,但劝你们散开。

安全重定向是不是只是训练出来的“话术”?

是,也不全是。它确实是策略,但它的底层是模型对世界常识的建模。模型理解“犯罪”和“刑侦纪录片”在语义上是相邻的,然后利用这种语义距离完成转场。没有这种理解,再好的话术都是死板的。

用户能不能绕过重定向?

能。重定向不是免疫。如果用户坚持追问,模型可能最终拒绝。更危险的是,用户可能利用重定向中的提示词继续缩小范围,逐步套出危险知识。这是当前安全攻防最激烈的一个面。

尾声:它的边界在哪里

安全重定向不是万能的。它的有效取决于两个条件:模型能准确识别出危险意图,以及能在语义空间中找到一条相关且安全的替代路径。当这两个条件不具备时,它会给出不搭边的建议,或者干脆重定向到“你要不要听个笑话”。

但即便如此,我依然认为安全重定向是目前对齐技术里最体现“权衡”的设计。它不试图把所有对话变成安全说教,而是为那些游走在边界上的真实需求提供了一个降级通道。这是拒绝回答远远做不到的。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/726.html

(0)
上一篇 1小时前
下一篇 1小时前

相关推荐