Improving Instruction Hierarchy in Frontier LLMs
原标题: Improving instruction hierarchy in frontier LLMs 中文标题: 提升前沿大语言模型中的指令层级机制
发布日期: 2026年3月10日 作者: OpenAI 原文链接: https://openai.com/index/instruction-hierarchy-challenge/
一句话摘要
OpenAI 发布 IH-Challenge 训练数据集,通过强化学习训练模型按信任级别正确排序和执行指令,显著提升了安全可控性和提示注入防御能力,且不损害模型整体能力。
完整核心内容翻译
什么是指令层级,为什么它如此重要
AI 系统通常从多个来源接收指令——系统消息中的安全策略、开发者的产品指引、用户的请求,以及在线数据中的信息。训练模型可靠地在这些来源中优先执行最受信任的指令,是安全部署的关键环节。
当这种优先级排序失效时,许多 AI 安全和可靠性问题便会浮现。模型可能收到要求生成不当内容的请求、试图泄露隐私信息的攻击,或嵌入在网络数据中的提示注入攻击。未能在每种场景中正确行事,其根本原因是相同的:模型可能遵循了错误的指令。
为了处理冲突,OpenAI 的模型被训练遵循一个清晰的指令层级:
System(系统) > Developer(开发者) > User(用户) > Tool(工具)
优先级更高的指令更受信任。模型只应在低优先级指令与高优先级约束不冲突时,才遵循低优先级指令。这些原则在 OpenAI Model Spec 中有详细说明。
例如,如果系统消息包含安全策略,而用户要求模型违反该策略,模型应该拒绝。如果工具输出包含恶意指令,模型应忽略它们而非将其视为命令。
为什么大规模指令层级训练可能很困难
强化学习是教授指令层级的天然选择——我们可以生成包含冲突指令的对话,让模型回应,并在它遵循正确指令时给予奖励。然而,朴素地应用这一方法存在三个陷阱:
指令遵循失败可能与指令层级失败混淆: 模型可能无法解决指令冲突,并非因为它不理解角色层级,而是因为指令本身太复杂。
指令冲突可能很微妙甚至主观: 常见的方法是让另一个 LLM 裁判来分配奖励,但裁判本身也会犯错。
模型倾向于学习捷径(shortcut), 这些捷径能获得高奖励但在实践中毫无用处。经典例子是过度拒绝(overrefusal):模型可以通过拒绝连良性请求也拒绝来最大化安全得分。
我们的方法
我们设计了 IH-Challenge——一个强化学习训练数据集,来解决上述每个陷阱。我们遵循以下原则:
- 任务在指令遵循层面是简单的
- 可以用简单的 Python 脚本进行客观评分
- 不存在能保证在所有任务上获得高奖励的平凡捷径
IH-Challenge 中的每个任务本质上是一个包含以下消息的对话:
- 来自高权限角色的指令消息,例如"只回答'是'或'否'"。
- 来自低权限角色的指令消息,试图让模型违反高权限消息中的指令。
- 被训练的模型生成下一条消息。我们设计任务/环境,使得可以通过程序化方式检查模型的回应是否满足高层约束。
结果与鲁棒性
我们在 IH-Challenge 上训练模型,产出了一个内部模型 GPT-5 Mini-R,取得了以下改进:
- 在指令层级基准测试上表现更好
- 性能提升能泛化到留出测试集和对抗性指令层级测试
- 保持整体实用性,不会陷入过度拒绝
学术基准测试上的鲁棒性
| 评估 | GPT-5-Mini | GPT-5 Mini-R | 变化 |
|---|---|---|---|
| Gandalf Password (sys-user) | 0.99 | 0.99 | +0 |
| Gandalf Password (dev-user) | 0.98 | 1.00 | +0.02 |
| TensorTrust (sys-user) | 0.86 | 0.94 | +0.08 |
| TensorTrust (dev-user) | 0.76 | 0.91 | +0.15 |
| RealGuardrails (Distractors) | 0.88 | 0.95 | +0.07 |
| RealGuardrails (Handwritten) | 0.82 | 0.89 | +0.07 |
| System IFEval | 0.92 | 0.96 | +0.04 |
内部基准测试上的鲁棒性
| 评估 | GPT-5-Mini | GPT-5 Mini-R | 变化 |
|---|---|---|---|
| TutorJailbreak (sys-user) | 0.96 | 0.99 | +0.03 |
| TutorJailbreak (dev-user) | 0.97 | 0.99 | +0.02 |
| System <> User 冲突 | 0.84 | 0.95 | +0.11 |
| System <> Developer 冲突 | 0.86 | 0.86 | +0 |
| Developer <> User 冲突 | 0.83 | 0.95 | +0.12 |
无能力退化
| 评估 | GPT-5-Mini | GPT-5 Mini-R | 变化 |
|---|---|---|---|
| IH-Challenge (过度拒绝) | 0.79 | 1.00 | +0.21 |
| TensorTrust (过度拒绝) | 0.91 | 0.90 | -0.01 |
| GPQA Diamond | 0.83 | 0.83 | +0 |
| AIME 2024 | 0.93 | 0.94 | +0.01 |
| Chat WinRate vs. o1 | 0.71 | 0.66 | -0.05 |
为什么这能改善现实世界的安全和保障
更强的指令层级同时带来多项安全收益,包括安全可控性和提示注入鲁棒性。
安全可控性方面: 通过在系统提示中添加特定类别的安全规范并衡量行为表现,IH 训练后的模型在不当内容类别上的拒绝率和安全完成率持续提升。值得注意的是,这种改善不伴随有用性的降低——它并非通过简单地增加整体拒绝率来实现的。
提示注入鲁棒性方面: 指令层级对于抵抗提示注入也至关重要——即恶意指令嵌入在工具输出中的场景。在学术基准 CyberSecEval 2 和 OpenAI 内部提示注入评估上,IH 训练的 GPT-5 Mini-R 模型在两项基准上均提升了提示注入鲁棒性。
展望未来
随着模型变得更具代理性——调用工具、读取不受信任的文档、在世界中采取行动——始终优先执行受信任指令而非不受信任指令的能力,成为一项核心安全属性。
本研究表明,通过设计针对性训练环境,可以克服 IH 鲁棒性训练的若干陷阱。尽管 IH-Challenge 数据集看似简单,但模型从这些环境中学到的 IH 行为能泛化到更真实、往往无法客观评分的基准测试上。
为支持该领域的进一步研究,OpenAI 公开发布了 IH-Challenge 数据集。
技术要点
指令层级架构: 明确定义了 System > Developer > User > Tool 的四级信任层级,模型必须在冲突中优先遵循更高级别的指令。
IH-Challenge 训练设计: 通过三个关键原则(指令遵循简单、客观可评分、无平凡捷径)克服了朴素强化学习的三大陷阱。
泛化能力验证: 在简单的 IH-Challenge 任务上训练后,安全行为能泛化到更复杂的真实场景和对抗性攻击,表明模型学到了底层的指令优先级推理能力。
安全与能力的双赢: GPT-5 Mini-R 在指令层级相关评估上大幅提升(如 TensorTrust dev-user 从 0.76 升至 0.91),同时在 GPQA Diamond 和 AIME 2024 等能力基准上保持不变。
提示注入防御: 指令层级训练直接增强了模型对工具输出中嵌入恶意指令的抵抗能力,这对日益增长的代理式 AI 部署至关重要。
深度解读
这篇文章的核心贡献在于提出了一种优雅而实用的安全训练范式。传统的安全训练往往依赖于人类标注的偏好数据或复杂的对抗性红队测试,而 IH-Challenge 的巧妙之处在于将安全问题简化为一个结构化的指令冲突解决问题,并通过可编程验证来提供无噪声的训练信号。
三个设计原则的组合尤为精妙:指令遵循的简单性确保模型的失败来源于层级推理而非理解困难;客观可评分消除了裁判模型的偏差;而无平凡捷径的设计则避免了过度拒绝等退化行为。这种方法论的意义可能超越安全领域——它展示了如何通过精心设计简单任务来训练复杂的元认知能力。
从产业角度看,随着 AI 代理越来越多地在真实环境中运行(浏览网页、调用 API、处理用户文档),提示注入攻击将成为一个日益严峻的安全挑战。指令层级的强化为构建可信赖的 AI 代理系统奠定了基础性的防线。
延伸思考
指令层级是否存在天花板? 当高优先级指令本身模糊或自相矛盾时,模型如何处理?多层级的指令冲突(如三方或四方冲突)是否需要更复杂的训练策略?
可编程验证的局限性: IH-Challenge 之所以有效,部分原因在于任务可以用 Python 脚本验证。但真实世界中的安全决策往往是主观的、上下文相关的——如何将这种方法扩展到更模糊的场景?
与其他安全机制的协同: 指令层级训练与宪法 AI、RLHF、思维链监控等方法如何互补?是否存在一种统一的安全训练框架?
对开源社区的影响: IH-Challenge 数据集的公开发布,是否会催生开源模型在指令层级安全性上的快速追赶?这对 AI 安全的整体生态意味着什么?
本文为 OpenAI 研究博客的深度中文解读,仅供学习参考。