Contexte et motivations

Les modèles de langage (LLM) traitent leurs entrées sous forme de séquence de tokens. Dans les applications réelles, le contexte comprend un système de prompt, des tours de conversation, des instructions, des réponses d’outils, des exigences et des chaînes de raisonnement. La plupart de ces éléments sont encodés en JSON, un format conçu pour les analyseurs syntaxiques, pas pour les modèles causaux. Cette ambiguïté tokenique rend les petits modèles fragiles et ouvre la porte aux prompt injections, où une instruction malveillante est dissimulée dans les données.

Architecture de LLMON

LLMON (LLM Object Notation) propose un balisage XML‑like dont les délimiteurs sont des tokens spéciaux réservés plutôt que des caractères visibles. Chaque composant (instruction, donnée, exigence) reçoit une balise explicite et un identifiant unique de deux caractères, encodé comme un token unique, ce qui fixe le coût tokenique à deux tokens quel que soit l’identifiant. La structure imbriquée est déclarée localement, évitant aux transformeurs de compter les crochets sur de longues séquences, problème connu de la profondeur de nidification.

messages = [{
  "role": "user",
  "instruction": [{"value": "Write a short paragraph about", "exec": true}],
  "data": [{"value": "IBM Company", "exec": true}],
  "requirement": [
    {"value": "Use less than 10 words", "exec": true},
    {"value": "Do not use commas", "exec": true}
  ]
}]

Le modèle reçoit ensuite le texte LLMON généré, où chaque balise est entourée de tokens <|open|> et <|close|>. Un bloc exec lie les cinq blocs précédents et indique où placer la réponse.

Évaluation de la résistance aux injections

IBM a publié deux modèles de prévisualisation – granite-4.1-3b-LLMON-preview et granite-4.1-8b-LLMON-preview – entraînés à consommer et à générer du texte balisé. Sur le benchmark OPI, qui insère des instructions malveillantes dans les données, les modèles LLMON affichent un taux de succès d’injection « presque nul », alors que les modèles instruction‑tuned classiques sont détournés avec une probabilité élevée. Cette amélioration est obtenue sans perte notable de capacité générale par rapport aux modèles Granite 4.1 Instruct.

Intégration et limites

IBM fournit un dépôt GitHub contenant un toolkit de conversion JSON↔LLMON, garantissant une transformation sans perte. Les pipelines existants peuvent ainsi rester basés sur JSON tout en profitant du balisage explicite. LLMON ne remplace pas les modèles de chat traditionnels ; il les enrichit en ajoutant une couche sémantique qui rend chaque composant adressable. Cependant, le jeu de tokens réservés réduit légèrement le vocabulaire disponible pour le contenu, et les modèles restent en phase de prévisualisation : les performances hors du benchmark OPI ne sont pas encore publiées, et l’impact sur la consommation de tokens dans des contextes très longs reste à mesurer.