← Derniers articles
🤖 AI

Language-Based Agent Control

Ce papier présente le contrôle d'agents basé sur le langage (LBAC), un modèle de programmation qui garantit que les applications agentic respectent les politiques de sécurité spécifiées par l'utilisateur en exigeant que les agents génèrent des programmes fortement typés vérifiés statiquement avant l'exécution, unifiant ainsi les garanties de sécurité à la fois pour les structures écrites par les développeurs et pour les comportements générés par les agents, tout en préservant l'expressivité computationnelle.

Auteurs originaux : Timothy Zhou, Loris D'Antoni, Nadia Polikarpova

Publié 2026-05-14
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Timothy Zhou, Loris D'Antoni, Nadia Polikarpova

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous engagez un assistant très talentueux mais imprévisible (un agent IA) pour effectuer une tâche pour vous, comme organiser vos articles de recherche. Vous voulez qu'il soit créatif et intelligent, mais vous devez également vous assurer qu'il ne supprime pas accidentellement (ou malicieusement) vos fichiers, ne vole pas vos secrets ou ne fabrique pas de fausses données.

Actuellement, la plupart des systèmes vous obligent à choisir entre la sécurité et la liberté :

  • L'approche « Boîte à jouets » (Outils restreints) : Vous donnez à l'assistant une petite boîte d'outils pré-approuvés. Il ne peut pas sortir de la boîte. C'est très sûr, mais il ne peut rien faire d'astucieux ou de complexe. S'il doit trier une liste, il doit vous demander de le faire un par un.
  • L'approche « Cuisine ouverte » (Interprètes de code) : Vous donnez à l'assistant un accès total à la cuisine. Il peut cuisiner ce qu'il veut ! Mais s'il est confus ou trompé, il pourrait brûler la maison ou vous servir du poison.

Ce papier introduit une nouvelle méthode appelée Contrôle d'agent basé sur le langage (LBAC). Imaginez que vous donnez à l'assistant une cuisine magique où les lois de la physique (les règles de l'univers) sont écrites dans une langue qu'il doit parler.

L'idée centrale : Le « Langage magique »

Au lieu de simplement donner à l'assistant une liste de « choses à faire et à ne pas faire », les programmeurs construisent l'ensemble du système dans un langage spécial et strict (comme une version ultra-strict d'un langage de programmation appelé Haskell).

Dans ce langage magique, les types (les étiquettes sur les données) agissent comme des gardes de sécurité.

  • Si un élément de données est étiqueté « Fiable », cela signifie qu'il provient d'une source sûre (comme une base de données vérifiée).
  • Si un élément de données est étiqueté « Non fiable », il provient d'Internet ou d'un utilisateur.
  • Le langage impose une règle : Vous ne pouvez pas mélanger des ingrédients « Non fiables » dans un plat « Fiable ».

Fonctionnement en pratique

Reprenons l'exemple de l'article de recherche du texte. Vous demandez à l'agent : « Trouvez le premier article sur la confidentialité différentielle et ajoutez-le à ma bibliographie. »

  1. L'ancienne méthode (Interprète de code) : L'agent écrit un programme. Il pourrait décider de simplement inventer un faux titre d'article, l'écrire dans votre fichier et dire : « Voici ! » Le système vérifie seulement si le code s'exécute, pas si le contenu est réel.
  2. L'ancienne méthode (Outils restreints) : Vous ne donnez à l'agent qu'un bouton « Récupérer et Enregistrer ». Il ne peut pas trier ou filtrer les résultats lui-même. Il reste coincé en attendant que vous lui disiez lequel choisir.
  3. La méthode LBAC (TYPEGUARD) :
    • L'agent écrit un programme dans le langage magique.
    • Pour obtenir un article, il doit utiliser une fonction spéciale qui renvoie uniquement une étiquette « Fiable ».
    • Pour écrire dans votre fichier, la fonction exige une étiquette « Fiable ».
    • La vérification magique : Avant même que le programme de l'agent ne soit autorisé à s'exécuter, un « Vérificateur de types » (un bibliothécaire strict) examine le code.
      • Si l'agent tente d'écrire un faux article (qui n'a pas d'étiquette « Fiable ») dans le fichier, le bibliothécaire dit : « Erreur ! Ce code ne respecte pas les règles. Réessayez. »
      • L'agent reçoit le message d'erreur, réalise son erreur et réécrit le code pour récupérer un vrai article de la base de données en premier.
    • Une fois que le code passe la vérification, il s'exécute.

Pourquoi c'est une grande avancée

Le papier affirme que cette approche résout le problème « Sécurité vs Liberté » :

  • Liberté : L'agent peut toujours écrire des programmes complexes, trier des listes et faire des mathématiques. Il n'est pas coincé avec une petite boîte d'outils.
  • Sécurité : Parce que l'agent doit écrire du code qui respecte les règles strictes du langage, il ne peut physiquement pas effectuer d'actions qui enfreignent les règles (comme fuiter des données secrètes ou écrire de faux fichiers). Si le code ne passe pas la « Vérification de types », il ne s'exécute jamais.

L'astuce de l'agent « imbriqué »

Le papier montre également que cela fonctionne même si l'agent engage un « sous-agent » pour l'aider.

  • Imaginez que l'agent principal demande à un sous-agent d'examiner un e-mail suspect.
  • Le sous-agent lit l'e-mail (qui est « sale » ou non fiable).
  • Grâce aux règles du langage magique, le sous-agent est automatiquement placé dans une « zone de quarantaine ». Il peut lire l'e-mail, mais il ne peut pas transmettre ces données « sales » aux outils de l'agent principal à moins de les envelopper dans un conteneur spécial que l'agent principal est autorisé à ouvrir.
  • Cela se produit automatiquement grâce aux règles du langage, et non grâce à un système de sécurité séparé.

Résumé

Le papier soutient que, au lieu de construire des murs autour des agents IA, nous devrions construire le monde de l'IA à l'intérieur d'un langage strict et basé sur des règles. Dans ce monde, la sécurité n'est pas une couche séparée que vous ajoutez par-dessus ; elle est intégrée dans la trame même de la façon dont l'agent pense et écrit du code. Si l'agent tente de briser les règles, le langage lui-même dit « Non », et l'action est bloquée avant même qu'elle ne se produise.

Les auteurs l'ont testé avec trois scénarios :

  1. Provenance des données : S'assurer que seuls les articles réels provenant d'une base de données sont ajoutés à une bibliographie.
  2. Sandboxing du système de fichiers : S'assurer que l'agent ne peut toucher qu'aux fichiers dans des dossiers spécifiques (comme un jeton de « capacité »).
  3. Flux d'information : S'assurer que les données secrètes ne fuient jamais accidentellement vers Internet public.

Dans tous les cas, le système a maintenu l'agent intelligent et flexible tout en garantissant qu'il ne pouvait pas enfreindre les règles.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →