文書やツールの結果に隠された指示がAIエージェントを乗っ取るプロンプトインジェクションは、言語モデルで開発する人にとって依然として最も難しいセキュリティ問題の一つです。IBMのGraniteチームは珍しい答えを公開しました。フィルターを追加するのではなく、モデルが読む形式そのものを変えるというものです。LLM Object Notationの略でレモンと発音するLLMONは、どのテキストが命令でどれが単なる材料なのかをモデルが区別できるよう設計されたマークアップ言語です。
核となる考え方は、構造を普通の文字で表すのをやめることです。JSONでは、フィールドを閉じる引用符と引用された文書内の引用符が同じトークンで、入れ子の深さは括弧を数えて追うしかありませんが、Transformerは長い範囲でこれが苦手です。LLMONは区切りとして予約済みの特殊トークンを六つ使うため、構造と内容は語彙の別々の部分を使います。指示、データ、要件といった各要素にはタグと2トークンで済む短いIDが付き、最後の実行ブロックが、どの指示をどのデータに対して実行し、答えをどこに出すかを示します。そこで参照されないものは無視される想定です。
IBMは実験的なプレビューモデル、granite-4.1-3b-LLMON-previewとgranite-4.1-8b-LLMON-previewの二つを公開しました。Granite 4.1のベースモデルから学習させており、この振る舞いは事後学習の段階で身につけたものです。学習には、意図的に紐づけていないおとりの指示を含めて書き直した指示デ ータを使い、その後に五段階のGRPOによる強化学習と、インジェクションの試みに対するモデル自身の応答から作った1,000組の選好データでの最終DPO段階を経ています。OPIベンチマークでIBMは、LLMONが試した最良のフロンティアモデルより47%、最良のオープンモデルより95%多く攻撃を退けたと報告しており、ASBとStruQでも同様の傾向が見られ、一般的なベンチマークのスコアはGranite 4.1 Instructと同等を保っています。
実用面の魅力は手間の少なさです。プレビューモデルにはチャットテンプレートが付属しているので、開発者はメッセージの各部分に名前を付け、どれを実行するかを指定するだけです。変換ツールを使えば既存のJSONをLLMONへ、またその逆へ損失なく変換できます。これはフロンティアの研究所が使う指示の階層や分類器とは異なる手法で、利用者に代わってメールやウェブページを読むエージェントにとって意味を持つ可能性があります。
IBMは限界について率直です。これはプレビューで、本番向けではありません。ベンチマークは静的なインジェクションを測るもので、多数のターンにわたって展開する攻撃への対策はまだ進行中です。またIBMは、この分離は学習された振る舞いであって強制された保証ではないと強調しており、意志の固い攻撃者が回避策を見つける可能性は残っています。