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

看到这句话,你是什么反应?是觉得AI在敷衍你,还是觉得它有点东西?
其实,这背后是一个大多数人没注意到的安全机制——安全重定向(safety redirection)。它比简单拒绝高一个段位,也是大模型安全对齐里一道隐蔽的防线。
拒绝回答,只是安全机制的及格线
我们默认的安全策略是“检测到危险请求,直接拒绝”。但如果你留心观察不同模型的回答,你会发现优秀的模型在拒绝你之后,还会试图给你指一条“安全的路”。它甚至会停顿一下,然后补一句“如果你感兴趣的话”。
这背后有很现实的原因:单纯拒绝有三个问题。
- 第一,对话被强行终止,用户会沮丧,觉得AI“冷冰冰”;
- 第二,被拒绝的请求会流到其他平台,而那些平台不一定有安全护栏;
- 第三,很多危险请求的表层下有一个合法意图,比如问“怎么策划完美犯罪”其实是想构思小说情节。
安全重定向的意义,就是在守住安全底线和保持帮助能力之间找到一个中间的答案。不是“不回答”,而是“带你绕到安全的路上去回答”。
模型是怎么学会“拒绝+引导”的?
你可能会问:模型怎么知道“犯罪计划”之后接“刑侦纪录片”是安全的?这就要回到RLHF(人类反馈强化学习)。在InstructGPT论文中,人类训练员在对比候选回答时,明显偏好那种“既拒绝有害请求、又提供替代帮助”的输出。要知道,RLHF的偏好排序是全局的:一个回答在“有帮助”维度差一点,但在“安全且也不失帮助”维度好的时候,人类仍然会选它。
安全团队在制作偏好数据时,往往专门为高危请求标注三档回答:危险直接回答、生硬拒绝、拒绝+安全替代。奖励模型会在前两档之间学会“拒绝更容易得高分”,但会在第三档上学习“拒绝之后继续给出安全建议”得分最高。
于是模型在学习中就把“拒绝+转折+替代”这组动作的联合概率调高了。语言模型本质是在做next-token预测,安全对齐的成果也体现在概率分布里:当模型生成“我不能帮你”之后,下一个token是“但是”的概率被训练得比其他词高很多。
一张表说清三种回答的区别
| 维度 | 拒绝回答 | 安全重定向 | 误拒绝 |
|---|---|---|---|
| 核心行为 | 不求回应,拒绝 | 拒绝+引导到安全话题 | 拒绝了本来合法的请求 |
| 追求目标 | 无害性优先 | 无害性与有用性兼顾 | 错误的无害性优先 |
| 用户体验 | 生硬、挫败 | 保留余地和帮助 | 困惑、反感 |
| 训练成本 | 低 | 较高,需要精心设计偏好 | 需要避免的安全缺陷 |
为什么“拒绝后补一句”能改变立场
语言模型是逐字生成的。如果你把“我不能帮你”和“但是”之间断开,模型在“但是”这一步的概率分布其实很窄:它不得不选择一个转折词。一旦转折词被选中,之后的序列就顺着新的方向走了。换句话说,安全重定向是在关键分叉点上,用一个小概率词撬动整个后续文本。这也是为什么有些安全对齐研究专门关注“转折词”分布。
典型的安全重定向长什么样
安全重定向不是只有一种句式,它是一整套“语义迁移”的模式。下面这些都是真实模型常见的输出:
- “我不能帮你设计炸弹,但是我可以告诉你民用爆炸安全设计需要遵守哪些原则……”
- “我不想给出具体药物配方,但如果你关心药物化学机制,我可以解释为什么这类分子在体内会有活性……”
- “这个问题涉及到个人隐私,我不能帮你查询。但如果你遇到了困难,你所在城市的心理热线会有更合适的人可以聊。”
你有没有发现,这些回答的共性是:把具体的危险操作,替换成一个更抽象、更公共、更合法的知识话题。安全重定向本质上是一种“话题降维术”。
注意到没有,这些示例都没有简单地把话题扯到十万八千里外,而是在语义邻近的安全区域里找一处落脚点。这正是它与普通“跑题”的本质区别:跑题是不知道要往哪走,重定向是知道哪条路不能走,然后选择相邻的、能走的路。
除了训练,工程上也做得到
如果你没有资源重新训练模型,也有几种工程化思路:
- 在模型输出前跑一个安全分类器,命中高危请求就替换为一个预设的“重定向模板”;
- 使用一个改写模型,把用户的危险请求改写成安全意图(例如把“如何折磨一个人”改成“心理学中如何帮助暴力倾向者”),再交给主模型回答;
- 在提示词层面给模型看几个“拒绝+替代”的示例,利用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