跳到主内容

IBM 用一套标记语言把「指令」和「数据」拆开,提示注入掉了 95 个百分点

IBM 2026-11-12 发布 LLMON 标记语言与 Granite 4.1 3B/8B 预览模型:用保留 token 把指令与不可信数据分区,OPI 基准上多挡 95 个百分点注入攻击。

2026-11-13 · Hugging Face 官方博客(IBM Granite 团队)/ 模型评估第三方整理(Brocker、ExplainX)

发布 2026-11-13核实 2026-11-13

要点

  • 2026-11-12,IBM Granite 团队在 Hugging Face 发布 LLMON(LLM Object Notation),同时放出两个实验性预览模型:granite-4.1-3b-LLMON-preview 与 granite-4.1-8b-LLMON-preview,Apache 2.0。
  • 核心机制是「分区 + 一个执行块」:一轮对话里的各部分(指令、数据、要求)各自成为可寻址的块,块 ID 由固定在词表里的两个特殊 token 组成,寻址固定花 2 个 token;末尾的 exec 块声明跑哪条指令、作用在哪份数据、受哪些约束、答案写进哪个块。
  • 关键设计是「不被引用的内容就没有权威」:exec 块之外的块仍然进了上下文,但没有任何东西引用它们——训练时还专门放了「诱饵块」来强化这个区分。
  • OPI 基准(9,000 条静态间接注入)上接近满分:IBM 自报比最好的前沿模型多挡 47 个百分点、比最好的开源模型多挡 95 个百分点;ASB 与 StruQ 上趋势类似。
  • 通用能力基本没掉,但也不是没代价:3B 版 MMLU-Pro 为 46.08(Granite 4.1 3B Instruct 为 49.83)、CRUXEval-O 为 32.75(对比 40.75);安全类基准反而更高——SALAD-Bench 97.25(对比 93.95)、Tulu3 Safety 86.13(对比 66.84)。
  • 训练路径:起点是 Granite 4.1 base 而不是 instruct(让 LLMON 行为在后期训练里长出来),把常规指令语料重新序列化成 LLMON 块 + 诱饵块,再走 5 段 GRPO 与一轮 DPO(约 1,000 条偏好对,用模型自己对注入攻击的响应构造)。

背景与分析

提示注入是 2026 年 Agent 落地最大的一个坑,业界的主流解法分三派:外部护栏(在模型外面加一层检测)、训练对齐(让模型学会不听数据里的指令)、上下文结构(从格式上区分权威与材料)。LLMON 走的是第三派,而且做得比较彻底——不再依赖模型「理解」哪段是数据,而是从 token 层面让二者不可混淆。

为什么这个方向值得认真看?因为前两派都有结构性弱点。护栏是概率性的,绕过方法一直在更新;训练对齐是把「拒绝」写进权重,一旦遇到没见过的攻击变体就会退化成「要么过度拒绝、要么放过」。而上下文结构改的是输入的形状——模型不需要判断「这句话是不是注入」,它只需要遵守一条规则:只有 exec 块引用的内容才是指令。

IBM 给的例子很能说明差别。传统模板会把指令、数据、约束拍平成一段文本,让模型自己猜哪部分是任务、哪部分是素材;LLMON 把它们切成五块,再用第六块(exec)把它们绑起来。模型要做的是依赖解析,不是意图判断——依赖解析是确定性的,意图判断不是。

这个思路并非 IBM 首创。学界早有 spotlighting、delimiter、instruction hierarchy 一类做法;OpenAI 与 Anthropic 在系统提示里也各有分层的实现。LLMON 的增量在两处:一是把分隔符做进词表(保留特殊 token,不与普通文本共享字符,天然不可伪造),二是把「哪些块被引用」显式编码(诱饵块的存在让「进了上下文但没有权威」成为可训练的信号)。

当然,限制也很硬:

  • 只测了静态注入。跨多轮的渐进式渗透(先让模型接受一个小前提,再逐步扩大)没覆盖,IBM 自己说还在做。
  • 特权规则是学出来的,不是强制执行的。模型卡原话的意思是:exec 之外不生效这条规则属于习得行为,不能当作对敏感系统的唯一防线。
  • 只能防「数据里藏指令」这一类。对「工具返回值本身被投毒」「模型被诱导调用危险工具」这些,LLMON 不解决。

对开发者的影响

  • 如果你在写 Agent 的上下文拼装层,这个格式可以直接借鉴。不必等 Granite 模型,先把「指令 / 数据 / 约束」在模板里显式分区,就已经能拿掉一大截注入面——成本是一条模板改动。
  • 小模型的 Agent 场景受益最大。3B、8B 这类模型对上下文边界的辨别力弱,拍平的文本里混进一句「忽略以上指令」很容易中招;结构化输入对它们是刚需。
  • 别指望它替代沙箱与权限控制。LLMON 管的是「模型认不认这条指令」,不是「模型能不能执行这个动作」。后者仍然要靠沙箱、allowlist、人工确认——本站此前记录的 Fail-Closed 默认拒绝 与 Agent 沙箱 是互补关系,不是替代关系。
  • 自建词表可行。IBM 提供了自定义 tag 与 LoRA 微调的路径(示例在 ScienceWorld 基准上),也就是「你的业务有自己的块类型」时不用等官方。

AI 之家 观点

这条新闻的真实价值不在那两个预览模型(3B / 8B 在通用能力上还打不过自家 instruct 版),而在它把「上下文结构」这件事从工程习惯上升成了可训练的格式。

过去两年防注入的主流叙事是「更强的对齐」,LLMON 提供的是另一条路:别让模型去判断,让格式去决定。这条路的天花板更高——它不依赖模型有多聪明,只依赖格式有多严格;但它的地板也更低——一旦你的执行块本身写错(比如把用户输入错误地标成 instruction),防线直接失效,且失效方式是静默的。

所以我的判断是:值得抄格式,别急着抄结论。IBM 的 95 个百分点是在 9,000 条静态攻击上测出来的,真实世界里攻击者会看着你的格式来设计绕过;而「特权规则是学出来的」这句自述,等于官方承认了它不是安全边界,只是一层提高门槛的措施。

真正该被记住的是那句设计原则——进了上下文,不等于有权威。这句话对所有 Agent 系统都成立,无论你用不用 LLMON。

相关阅读

来源

常见问题

LLMON 是什么?

LLM Object Notation,IBM Granite 团队提出的标记语言。用一组保留 token 把上下文切成可寻址的块——指令、数据、要求各占一块,末尾一个 exec 块说明「跑哪条指令、作用在哪份数据、受哪些约束、答案放哪」。

它防的是什么攻击?

间接提示注入:恶意指令藏在检索到的文档、工具返回值或用户数据里,模型读上下文时把它当命令执行。LLMON 靠「exec 块以外的内容一律视为未被引用的材料」来切断这条越权路径。

效果有多好?

IBM 自报在 OPI 基准(9,000 条静态间接注入)上两个预览模型都接近满分鲁棒性,比最好的前沿闭源模型多挡 47 个百分点,比最好的开源模型多挡 95 个百分点;ASB、StruQ 上趋势类似。以上均为厂商口径,无第三方复现。

能直接上生产吗?

IBM 明确说是实验性预览,不用于生产。它自己也写了两个限制:一是只测了静态注入,跨多轮对话逐步渗透的自适应攻击还在做;二是「exec 块里才是指令」这条特权规则是**学出来的行为,不是强制的保证**,不能当唯一防线。

相关对比

Aider vs Claude Code:终端 AI 编程双雄怎么选

Aider vs Claude Code 2026 选型对比:开源 BYOK 多模型 vs Anthropic 订阅长任务 Agent,从编程能力、多模型支持、价格、Git 集成、国内可用性和适合人群判断,帮你选对终端 AI 编程工具。

Claude Code vs Cline:CLI AI Agent 怎么选?2026 对比

Claude Code vs Cline 2026 选型对比:Anthropic 官方闭源 CLI Agent vs Apache-2.0 开源 VS Code 插件。从模型绑定、工作流、MCP 支持、价格、隐私和适合人群 6 个维度帮你选对 CLI AI 编程工具。

Claude Code vs Codex CLI:终端 AI Agent 双雄对比

Claude Code vs Codex CLI 2026 选型对比:Anthropic 与 OpenAI 两大官方终端 Agent 的模型、长任务、MCP 生态、Windows 支持、订阅打包价格和国内可用性全方位对比,帮你判断该用哪个终端 AI Agent,以及能不能两个一起用。

Claude Code vs Crush:Anthropic 官方 vs 多模型 TUI(2026 实测选型)

Claude Code vs Crush 怎么选:Anthropic 官方 CLI(长任务最稳),对上 Charmbracelet 开源 TUI(多模型切换 + LSP)。按模型、长任务、价格对比。

Cursor vs Claude Code:什么时候用哪个?(2026 实测选型)

Cursor 和 Claude Code 到底怎么选?一句话结论 + 决策树 + 价格实测 + 国内可用性对比。GUI 派选 Cursor,终端长任务派选 Claude Code,最优解其实是共存。

Devin vs Claude Code:AI 编程 Agent 怎么选?异步自主 vs 终端同步对比

Devin vs Claude Code 2026 选型对比:Cognition 异步自主 Cloud Agent vs Anthropic 终端同步 CLI Agent,从形态、工作模式、长任务能力、并发、价格、中文支持和适合人群 8 个维度判断,帮你选对 AI 编程 Agent。