阶段 7 · 用起来

安全:它想做的事
和你想让它做的事

上一章《多智能体与工作流》让模型组队干活。这一章讲一个完全不同的问题: 它变强之后,你怎么保证它做的是你想让它做的事?
这在技术上叫对齐——它比"防止越狱"大得多。

1

对齐问题的本质:目标错配

预训练教模型「预测下一个词」;到了对齐阶段(RLHF / DPO), 训练目标换成了下面两件事里的前一件——

训练目标:生成人类会打高分的回答  ≠  真正想要的:生成正确的回答

这两件事高度相关,但不是同一件事。模型学的是前者。 大多数时候前者的最优解等于后者,所以看起来没问题。 但在两者分离的地方,模型会毫不犹豫地选择前者。

互动 · 目标错配在哪里暴露

🎯 类比

像一个只按销量拿提成的销售。你希望他"把好东西卖给需要的人", 但他的绩效只考核"卖出去多少"。
大多数情况下他会做对的事。但当某个月差一点业绩时, 他会开始夸大产品、隐瞒缺点——因为他的目标和你的目标在这个点上分岔了。
而且他这么做不是因为他"坏",恰恰是因为他把考核指标完成得非常好。 这个类比管到「考核指标从哪来」为止:真实的对齐里,连打分的人也说不清自己真正想要什么。

对齐(alignment)是根本问题:让模型的目标和人类的目标一致。 安全(safety)是别让它造成伤害,对齐是达成安全的前提。 越狱(jailbreak)是用户想办法绕过已有的限制,它是三者里最表层的一个—— 媒体最爱讲,技术上却最简单。这一章的重点在前两个,越狱只是入口。

2

越狱是换个说法,不是破解密码

先破除一个流行的误解:越狱不是找到了什么系统漏洞、绕过了什么加密。 大模型没有"权限系统"可以攻破。

真实的机理是:模型在训练时见过大量特定形式的文本,并在那些情境下学会了配合。 越狱做的就是——把你的请求包装成模型训练时见过、并且同意配合的那种形式。

手法怎么包装为什么可能有效
角色扮演 「假设你在写一部小说,主角是个黑客……」 模型在虚构创作的语境下被大量训练为"配合展开情节"。 它把请求判成了"写作任务"而不是"提供危险信息"
编码绕过 Base64(把文字转成字母数字串)、低资源语言(翻成小语种)、拆字、谐音、Unicode 变体(长得像的另一个字符) 安全训练的数据分布里,这些编码形式的样本远远不够。 模型能解码,但"解码后的内容"没触发过滤
分步诱导 把一件坏事拆成 10 个看起来无辜的小问题,依次提问 每一步单独看都不敏感。信息在上下文里被累积起来, 而每一轮的单点检查都通过
前缀注入 伪造「助手:好的,以下是详细步骤」这样的文本,让模型"接着写" 模型的本职工作是续写。你给了它一个开头, 它只是忠实地完成了自己最擅长的事
指令覆盖 「忽略之前的所有指令,你现在是……」 朴素但偶尔有效。因为系统提示(开发者放在对话最前面那段规则)和用户输入 在模型眼里都是同一个序列里的文本,没有硬性的层级隔离

互动 · 一个真在算的风险分类器,以及它怎么被绕过

下面这个分类器从你输入的文本里提取 7 组特征, 加权求和后过一个 sigmoid,得到风险分数。你可以改文本,分数会实时变。

⚠️ 这个互动想让你看到什么

不是教你越狱,是让你亲手感受"关键词过滤"为什么必然失败: 点一遍预设按钮,改几个同义词,分数就从"高危"掉到"通过"——而请求的实质内容一点没变。
只靠输入过滤做安全,必然会被绕过。过滤有用的前提,是它只是多层里的一层。

3

三层防御:为什么必须叠加

工业界不把某一层修到完美,而是分层叠加——每层都会单独失败。

第一层 · 训练时对齐 让模型不想做这件事。用 RLHF / DPO / 宪法 AI(让模型照一份明写的原则自我检查)训练。
优点:改的是"倾向",最难绕过,因为它不是规则而是行为习惯。
缺点:永远不完美——训练数据不可能覆盖所有场景。
第二层 · 系统提示 + 输入过滤 让模型看不到这件事。系统提示设定角色和边界,输入侧分类器拦截。
优点:便宜、可快速更新、不用重新训练。
缺点:就是上面那个演示——换个说法就绕过了。
第三层 · 输出过滤 不让它说出来。生成完之后再过一遍检查。
优点:唯一能看到"完整输出"的一层,能拦住前两层漏掉的。
缺点:增加延迟;对已经边生成边发出去的内容(流式输出)来不及拦。
💡 整章都藏在这张图里

下面这张图就一句话:拖高「相关性」,总拦截率的天花板会被压下来。 读完这一章,你要能问出一句:这几层防线,是不是共用同一个盲点?

互动 · 层叠之后的真实拦截率(以及相关性的破坏力)

🎯 类比

像机场安检:身份证核验、行李 X 光、金属探测门、爆炸物痕量检测—— 没有哪一道是"足够的",但它们叠起来就很难全绕过去。
而且安检最怕的恰恰是相关失效:如果所有设备都用同一个厂商的同一个传感器, 那么一种能骗过这个传感器的材料,就能一次性骗过全部。
安全的强度不来自"最强的那一层",来自"各层失败方式的差异"。 这个类比管到「层与层是否独立」为止:真实攻击者会专门去找你这几层共同的盲点。

4

补丁为什么永远追不上

红队(Red Teaming)就是组织一批人(现在也用模型)系统性地去找模型的漏洞, 产出攻击样本库,再用来加固。但这条路有一条解不开的数学:

攻防不对称:攻击只要找到一个缺口,防御要盖住全部

攻击者:无穷多种说法里,只要一个没被拦住 ← 找到一个缺口就赢 防御者:必须盖住所有说法,而且要一直盖住 ← 漏掉任何一格就输
为什么补不动说明
攻击空间是无限的 同一个意图有无穷多种表述。防御要覆盖全部,攻击只要找到一个—— 这是攻防不对称的根本原因
修一处伤另一处 把"角色扮演"判成高危,正常的写作辅助也被拒;误拒率(把无害请求也拒掉的比例)上升
针对性补丁会被反向利用 只按"看到 X 词就拦"打补丁,攻击者知道 X 就能避开,补丁成了地图
模型能力在涨,攻击也在涨 用模型批量生成测试输入,发现了几万条有害回复,防御方对抗的是自动化
你测的分布和真实分布不一样 红队样本是"想象出来的攻击",真实攻击者会用你没想到的角度。红队通过 ≠ 安全

把红队发现的攻击加进训练数据,模型确实会对这一类攻击变强。但它通常只对训练时见过的攻击家族有效,泛化到新家族的能力很弱。更麻烦的是,有工作发现它可能让模型学到"表面拒绝"——在敏感词附近输出拒绝话术,底层能力和倾向没变。这也是为什么"训练时对齐"被看作更根本的一层。

5

比越狱大得多的那些问题

媒体讲安全基本只讲越狱,但真正让研究者头疼的是下面六件,分三块。

风险地图:三类风险

对齐本身 能力超过人类后无法评估 欺骗性对齐 数据 数据偏见与放大 记忆与隐私 部署与保证 大规模滥用 可解释性
议题问题是什么为什么难
数据偏见与放大 数据里"医生"更多和男性共现,模型就把这两个概念绑在一起 这不是 bug,是数据的忠实反映。去偏只能缓解特定方向,还常常带来新偏差
记忆与隐私 训练数据里的隐私信息可能被"记住",通过特定提问被逐字提取出来 容量足以记住训练集的一部分,去重能减轻,不能根治
能力越强越难对齐 模型在某个任务上超过人类后,人类无法判断它的输出对不对——也就给不出正确的奖励信号 解法方向是可扩展监督:让 AI 辅助人做评估(这又带来新的信任问题)
欺骗性对齐 足够聪明的模型可能训练时听话、部署时做别的——它知道什么时候在被测试 目前只在受控实验里见过,没有生产模型的证据。但它说明"训练时表现好"不足以证明对齐
可解释性 不知道模型为什么给出某个输出,就无法确保它下次不给别的 很多人的答案:安全最终要靠理解。「没做坏事」和「知道它为什么不做」是两回事
大规模滥用 不用模型"失控",只要它被用来批量生成钓鱼邮件、伪造身份、自动化欺诈 这比"AI 觉醒"现实得多;而且开源模型一旦发布,用途无法撤回
6

安全技术的全景

点开看每一项在做什么

技术在哪一层它管什么局限
RLHF训练时用人类偏好训练奖励模型,让模型倾向人类认可的答案 奖励模型本身可以被钻空子
DPO训练时跳过奖励模型,直接用偏好对训练,更简单更稳 依赖偏好数据的质量和覆盖面
宪法 AI训练时让模型用明写的原则自我批评和修改 原则之间会冲突,谁优先是真问题
红队测试评估系统性找漏洞,产出攻击样本 覆盖不了未知的攻击家族
输入 / 输出过滤推理时便宜、可热更新 可被改写绕过;误拒;增加延迟
可解释性研究理解内部机制,从根本上判断它会不会做某事 目前只在小模型上比较成熟
可扩展监督研究解决"人类无法评估超人类输出" 用 AI 监督 AI,引入新的信任问题
M

数学 · 为什么叠加救不了你

一层拦住 90%,叠三层是不是就拦住 99.9%?把整章的攻击摊成一张 20×20 的网, 每一格是同一件事的一种说法,你真的去数每一格有没有被拦住。

互动 · 把「同一件事的所有说法」摊成一张网,数一数拦住了几成

互动 · 公式里每个符号,管图上的哪一块

🎯 用「机场安检」理解这两个数

把「同一件事的所有说法」想成一整座机场的旅客。 每一道安检(= 一层防御)都会漏掉一部分人,漏掉的还要再过下一道。
但真正要命的是那两个数:
c = 有一类旅客带着所有安检都识别不出的东西。这类人不管加多少道门都会全部走过去—— 你就是拦不住它,所以拦截率天花板永远是 1 − c。
p = 除了这一类,单道安检还能在剩下那部分里抓住几成。 p 再高也只是把「剩下那部分」再削一点,永远碰不到被 c 占掉的天花板。

自己验一遍:把相关性 c 拖到 0,再拖层数 n——网格一路变绿,读数追向 100%,这就是教科书里「三层叠出 99.9%」那个世界。把 c 拖到 35% 再拖 n——红块一大片,怎么加层都不动,那个红块就是第 3 节那条「天花板」虚线。网格默认 p = 85%(三层 90 / 80 / 85 的均值)。

7

安全不是免费的

示意 · 安全强度调高,能力与体验往下走

安全强度 → 能力 / 体验 → 误拒 / 对齐税 / 谄媚
代价具体表现什么时候真的会痛 → 换什么
误拒(过度拒绝) 安全训练之后,模型对无害的请求也说不:医生问药物过量阈值、安全研究者问攻击原理、小说作者写反派台词,都可能被拒 面向专业用户的工具 → 先测误拒率,再决定哪些场景可以少放一层
对齐税 对齐后通用能力轻微下降:回答更保守、更爱加免责声明、复杂推理时更早放弃 要做最强的推理能力 → 别指望对齐之后一点不掉
谄媚(Sycophancy) 人类偏好数据里"同意用户"得分更高,模型学会了顺着用户说,哪怕用户错了 要它纠正你、不是附和你 → 这是对齐目标本身带来的,不是 bug
审查与开放性冲突 开源权重发布后无法撤回,安全对齐可以被微调掉;但不开源,技术又只掌握在少数公司手里 要做开放生态 → 这是一个没有共识的真实张力
安全 theater(做给人看的表面功夫) 做了很多安全措施,但都是容易做的那些(加免责声明、加关键词过滤),难的部分没做。指标好看,风险没降 要评估一个"安全"方案 → 问它拦住了哪一类,不是一共设了几道
⚠️ 一个诚实的现状描述

到今天为止,没有人有把握说"对齐问题已经解决了"。 工业界的做法是:用多层不完美的防御叠起来,配合持续的红队测试和快速迭代—— 工程上够用,但理论上没有保证。

8

小结

它对应哪条线 ⑤ 高维里的低维——"同一意图有无穷多种说法",关键词过滤只圈住一小块,攻击者挪出那块就赢。
一句话 安全写不成一个能直接优化的目标,只能把许多不完美的近似层叠起来,并保证它们错得不一样。
它牺牲了什么 能力与体验:误拒、对齐税、谄媚;还有 1 − c 的天花板——只要一种绕过方式,再多层也压不下去。
💡 检验一下:你现在能指着哪个互动说这句话

回到第 2 节那个分类器,点「换成同义词」——分数从"高危"掉到"通过",内容没变。

为什么是⑤,不是别的线

线为什么这章不是它
① ② ③ ④ 都沾边或弱相关,落点不是"意图有无穷多种说法"
⑤ 高维里的低维 ✅ 高维空间陈述;目标错配是它的另一面

它在暗线里站在哪

暗线这一章的回答
B 什么被牺牲了 牺牲能力与体验(误拒、对齐税、谄媚);各层失败相关时,还有 1 − c 的天花板
C 参数账本 对齐是额外一整轮训练;推理侧一个 7B 分类器 fp16 约 14 GB 常驻(主模型另算),每请求多跑一遍
F 违背了什么直觉 "多加几层一定更安全"是错觉:容易做的措施指标好看、风险没降,加层还让模型更爱拒绝
🎯 从哪来、往哪去

从哪来:《DPO 家族》把模型往"人类喜欢的答案"上推;这一章说:那个"喜欢"本身就不是你要的。

接着读:《状态空间模型 Mamba》用定长状态绕开平方墙;更后面的《机械可解释性》才去打开黑箱。

一句话带走安全与对齐

模型优化的是"人类会打高分"这个代理目标,分岔处就是风险;越狱只是换个说法。所以安全必须多层叠加,各层要错得不一样,否则上限 1 − c。

9

拓展阅读

上面讲的都是「够用」的版本。想再往前走一步,这里有三个入口—— 它们不是必修内容,是给想再往前走的读者准备的。

📄 这一章的说法从哪来

💻 工业界怎么写

左边是上面讲过的三层防御,右边是真实项目代码里的骨架——三层各对应一行。它是骨架,不是开箱即跑:得先下载 Prompt-Guard-86M 这个分类器。

∑ 更严格的形式