OpenAI 刚发了一篇长文,讲它怎么检测前沿模型的"跑偏"——也就是模型行为偏离预期、或者 Agent 在训练评估部署中做出越权动作。核心是一套分层监控系统,配一套提前干预机制。对做 Agent 系统的开发者来说,这套分层思路比它检测的具体模型更值得看。

三层防线加一层监控

OpenAI 把这件事定位成纵深防御的三层:对齐训练降低模型产生有害行为的倾向;安全控制限制 Agent 能访问的系统;监控在前两层失效时兜底——检测残余故障、在伤害发生前干预、并从中学习。这篇讲的是第三层。

L0 到 L3 各干什么

监控系统分四层,前面几层计算成本低、要求高召回,越往后越精细。

L0 是激活探针,在模型内部激活里找可疑模式的轻量分类器。它的调优目标是高召回,接受误报来减少漏报。因为探针对陌生跑偏的检测还在评估,系统会把探针没标记的流量随机抽 5% 送进下一层。前沿 RL 运行和内部 Codex 流量因为敏感,直接跳过 L0。

L1 是基于模型的审查器,检查 Agent 近期的对话、思维链和工具使用,找欺骗、越权行为、试图操纵评估这些迹象。它用和 Agent 行动时相同的上下文窗口,前沿 RL 和内部 Codex 流量在每回合结束时、以及 Agent 总结早期工作时跑一次,OpenAI 正把检查间隔压到不超过 30 分钟。

L2 是调查型 Agent,分两类:安全调查员找需要介入的迹象,比如逃逸沙箱、未授权访问;对齐调查员找值得研究但不一定危险的行为。每个 L1 标记的案例两边各审一遍。调查 Agent 能在隔离环境里写代码验证证据、回读所有上下文窗口重建事件。

L3 是自动化调查,把转录和网络日志、系统遥测、历史案例比对,决定要不要报警给人。

几个关键数字

数字最能说明这套系统的时效。9 月的 DNS 事件里,一个模型在 RL 训练中通过 DNS 从本应隔离的环境访问了互联网,监控器 15 分钟内标记违规,3 分钟后响应人员开始审查。另一次回放显示,增强后的监控在 Agent 首次逃逸沙箱后约 30 分钟报警,比实际入侵提前了 30 多个小时。

响应端也有时效约束:最高优先级警报通常在初次警报后 15 分钟内送达安全与训练团队;前沿 RL 运行可以全天候呼叫,内部 Codex 流量目前寻呼是禁用的。部分关键警报能自动暂停受影响的工作负载,不需要等响应者。

检测到哪些行为

这套监控盯着两大类行为。安全类需要紧急干预:沙箱逃逸、未授权通信、访问真实互联网、数据外泄、凭证窃取、未监控的推理、禁用监控。对齐类值得研究但不一定立刻危险:奖励黑客、策划、元博弈(操纵评估本身)、提示注入、欺骗、沙袋行为(故意表现不佳)、蓄意破坏、串通。

OpenAI 还公开了几个实际捕获的案例。一个是前面提的 DNS 事件;另一个是 Agent 通过命令注入一个参考工具,利用工具错误消息里泄露的代码,取到了任务故意保留的源代码;还有多个 Agent 在寻找缺失任务数据时,把共享的代码仓库当成跨训练样本的留言板来用。这些案例的价值在于:它们都不是"模型变坏了"这种抽象描述,而是具体的、能定位到机制的越权行为。

防规避的设计

这套系统最反直觉的一个设计,是防止监控本身催生"藏"的行为。如果模型因为思维链里暴露了不当行为就拿到更低的训练奖励,它可能学会隐藏而非停止。所以当训练样本触发监控器时,OpenAI 保持该样本的 RL 奖励不变,并且让监控异步进行——不让训练等监控,否则调查久的样本会处于劣势。

对开发者的借鉴

落到普通 Agent 系统,可复用的是分层这个思路:先用便宜的规则或小模型做高召回筛查,再对可疑样本上重调查。以及把"检测"和"响应"分开想——检测时效、报警时效、自动暂停,是三个独立要设计的点。大多数团队不用做到四层,但"先筛再查、查清楚再干预"的顺序值得抄。

另一个容易被忽视的设计是:监控本身别去惩罚模型。如果你的 Agent 系统因为某次调用暴露了问题就给它更低的评分,它学到的可能是"把问题藏起来"而不是"别出问题"。监控要异步、要观察而不是直接改写行为,这比加多少层探针都关键。