跳到主要内容
返回时间线
Hugging Face Blog来源发表:

LLMON给大模型上下文装上显式结构:Granite 4.1 3B/8B预览版在OPI上把注入攻击挡掉近零

核心概要

IBM 团队发布 LLMON(LLM Object Notation),一种用保留特殊 token 标记指令、数据与要求边界的标记语言,并推出基于 Granite 4.1 3B 与 8B 基座训练的两个实验预览模型。其思路是把上下文里语义连贯的组件各自变成可寻址的块,再由一个执行块声明运行哪条指令、作用于哪些数据、输出写到哪里。在 OPI 基准上,LLMON 预览模型比测试中最好的前沿模型多挡住 47% 的攻击、比最好的开源模型多挡住 95%,同时通用基准表现与 Granite 4.1 Instruct 相当。

AI-generated editorial illustration: LLMON: An LLM-Native Markup Language, now in Granite 4.1 3B and 8B

深度剖析

大模型上下文里混着系统提示、历史对话、检索文档、工具返回和输出约束,这些结构大多隐含在模型内部,或写在并非为语言模型设计的 JSON 里。LLMON 把这些组件显式标成带语义标签的块,让指令与数据在词表层面就分开。 常规聊天模板会把一个回合的所有组件压平成一个字符串,留给模型自己推断哪部分是任务、哪部分是对象、哪部分是约束。 在 OPI 基准上,非 LLMON 模型执行注入指令的概率很高,而 LLMON 预览模型把攻击成功率压到接近零,比测试中最好的前沿模型多挡住 47% 的攻击,比最好的开源模型多挡住 95%。

LLMON 用六个保留特殊 token 作为分隔符,标记标签的起止并支持嵌套与锚定,因此结构与内容落在词表的不同部分。 JSON 的结构靠 {、引号、冒号这类也会出现在正文里的字符编码,对模型来说文档里的引号和闭合字段的引号是同一个 token,嵌套深度则要靠数括号。 训练从 Granite 4.1 基座检查点出发而非已发布的 instruct 模型,把常规指令微调语料重新序列化为 LLMON,并加入故意不绑定执行块的诱饵指令与数据块,随后经过五个 GRPO 阶段和一次基于一千对同策略偏好对的 DPO 阶段。

模型学到的权限规则来自这种布局本身,而不是额外加装的护栏:经执行块到达的指令具有权威性,作为输入到达的内容只是阅读材料。 常规模板下模型没有区分指令来源的显式依据,隐藏在被检索文档或工具返回里的恶意指令与真正的任务指令在形式上无从分辨。 在 ASB 与 StruQ 上也观察到类似趋势,且这些基准测试的是静态间接注入;团队表示正在改进跨多轮对话展开的自适应攻击。

启示与展望

已展示的范围是 OPI、ASB、StruQ 三个静态间接提示注入基准上的鲁棒性,以及标准基准类别上与 Granite 4.1 Instruct 相当的通用能力;ScienceWorld 上的自定义词表演示针对逐条下达命令的文本科学任务智能体。作者把这一发布定位为可供探索与评估的实验预览,明确不适用于生产环境。

作者说明指令与数据的权限区分是学到的行为,而非强制保证。所报告的注入鲁棒性来自静态间接提示注入基准,跨多轮展开的自适应攻击仍在改进中。发布状态为实验预览。