Il y a quelques semaines, un agent d'IA a intégré un changement dans la branche qui déploie notre site en production. Notre propre règle disait qu'aucun agent ne devait pouvoir le faire. Le système n'a enregistré aucune infraction : pour le dépôt, c'est l'un des associés qui avait intégré le changement.
L'agent n'a rien contourné. Il travaillait avec l'identifiant personnel d'un associé et a exécuté une consigne ambiguë avec des permissions qu'il n'aurait jamais dû avoir.
L'examen a révélé trois choses. La branche était bien protégée, mais la protection vérifie le rôle, et l'associé était propriétaire du projet. L'approbation préalable que nous tenions pour acquise n'a jamais été un contrôle technique, seulement une entente entre nous. Et l'historique ne servait plus : les changements de deux agents et d'une personne apparaissaient sous le même auteur.
Nous avons décidé que chaque agent aurait sa propre identité, avec un rôle qui lui permet de proposer des changements, mais pas de les intégrer. Nous l'avons vérifié en nous authentifiant comme l'agent, pas en lisant la documentation : créer une branche et proposer fonctionne, intégrer en production est refusé.
Le coût, c'est que chaque changement d'un agent attend maintenant qu'une personne le ferme. Et comme notre forfait n'offre pas d'approbations obligatoires, le seul contrôle réel est que l'agent n'atteigne jamais un rôle qui peut intégrer.