L'injection de prompt, où une instruction cachée dans un document ou un résultat d'outil détourne un agent d'IA, reste l'un des problèmes de sécurité les plus difficiles pour ceux qui construisent avec des modèles de langage. L'équipe Granite d'IBM a publié une réponse inhabituelle : au lieu d'ajouter un filtre, elle change le format que lit le modèle. LLMON, pour LLM Object Notation et prononcé comme lemon, est un langage de balisage conçu pour que le modèle distingue le texte qui est un ordre de celui qui n'est que de la matière.
L'idée centrale est de cesser d'encoder la structure avec des caractères ordinaires. En JSON, le guillemet qui ferme un champ est le même jeton qu'un guillemet à l'intérieur d'un document cité, et l'imbrication se suit en comptant les crochets, ce que les transformers font mal sur de longues portions. LLMON utilise six jetons spéciaux réservés comme délimiteurs, si bien que structure et contenu puisent dans des parties distinctes du vocabulaire. Chaque composant, une instruction, une donnée ou une exigence, reçoit une balise et un identifiant court qui coûte deux jetons, et un bloc d'exécution final indique quelle instruction appliquer à quelles données et où placer la réponse. Tout ce qui n'y est pas référencé doit être ignoré.
IBM publie deux modèles expérimentaux en préversion, granite-4.1-3b-LLMON-preview et granite-4.1-8b-LLMON-preview, entraînés à partir des modèles de base Granite 4.1 afin que le comportement soit appris pendant le post-entraînement. L'entraînement a utilisé un corpus d'instructions resérialisé avec des instructions leurres volontairement non liées, puis cinq étapes de renforcement GRPO et une étape finale DPO sur mille paires de préférences tirées des propres réponses du modèle à des tentatives d'injection. Sur le banc d'essai OPI, IBM indique que LLMON évite 47% d'attaques de plus que le meilleur modèle de pointe testé et 95% de plus que le meilleur modèle ouvert, avec des tendances proches sur ASB et StruQ, tandis que les scores généraux restent au niveau de Granite 4.1 Instruct.
L'intérêt pratique tient à la faible friction. Les préversions sont livrées avec un modèle de chat : les développeurs nomment les parties d'un message et indiquent lesquelles exécuter ; des convertisseurs transforment du JSON existant en LLMON et inversement sans perte. C'est une approche différente des hiérarchies d'instructions et des classifieurs des laboratoires de pointe, qui pourrait compter pour les agents qui lisent vos e-mails ou des pages web à votre place.
IBM est franc sur les limites. Ce sont des préversions, pas pour la production. Les bancs d'essai mesurent des injections statiques ; les attaques qui se déploient sur de nombreux tours sont encore à l'étude. Et IBM insiste sur le fait que la séparation est un comportement appris, pas une garantie imposée, de sorte qu'un attaquant déterminé pourrait encore la contourner.