Pourquoi l’IA générative de code a besoin de garde-fous, pas seulement de meilleurs prompts
Pourquoi les outils de génération de code par IA ont besoin de contraintes solides, pas seulement de meilleurs prompts
Tout le monde connaît cette histoire de faille de sécurité : un utilisateur accède accidentellement aux données d’un autre client. C’est le genre d’incident qui fait perdre le sommeil aux équipes sécurité et qui peut entraîner de lourdes conséquences réglementaires. Le plus frustrant ? Personne ne l’a fait exprès. Ce n’est ni un choix ni une prise de risque assumée. C’est simplement un oubli.
Avec les modèles comme Claude ou GPT qui produisent des milliers de lignes de code chaque jour, ce risque s’est multiplié. On peut ajouter toutes les consignes de sécurité imaginables dans les prompts. On peut répéter « sécurité avant tout » à l’envi. Mais après 16 000 lignes générées, une question reste : comment savoir réellement que le code fait ce qu’on attend ?
Le problème des consignes comportementales
La plupart des approches actuelles reposent sur ce qu’on appelle les « consignes comportementales ». On demande poliment à l’IA de respecter les règles : « Toujours vérifier les droits », « Ne jamais sauter la validation », « Utiliser la fonction partagée pour les contrôles d’accès ».
Ça marche… parfois. Souvent assez pour être pratique, mais pas assez pour être fiable en production.
Le vrai problème, c’est que ces consignes dépendent de plusieurs choses :
- L’IA doit se souvenir de la règle
- Elle doit identifier où l’appliquer
- Elle doit résister aux raccourcis suggérés par le contexte local
- Elle doit maintenir la même logique sur l’ensemble du code
Et après, il faut encore que les humains fassent la même chose lors des reviews. Avec la masse de code générée par l’IA, ce jeu est perdu d’avance.
Les contraintes structurelles : quand le code se protège lui-même
Contrairement aux consignes, les contraintes structurelles sont vérifiables automatiquement. Elles correspondent aux mécanismes qui ne c<|eos|>