Le gain de vitesse est réel et personne ne devrait le minimiser. Mais il s'accompagne d'une contrepartie que les comparatifs ne chiffrent jamais : vous héritez de code que vous n'avez pas écrit et que vous êtes pourtant censé maintenir.
Les défauts caractéristiques ne cassent rien immédiatement, ce qui est exactement le problème :
- Des décisions d'architecture prises implicitement. L'outil choisit une approche parce qu'elle marche, pas parce qu'elle correspond au reste de votre code.
- De la duplication. Il ne savait pas qu'une fonction équivalente existait déjà trois dossiers plus loin.
- Une gestion d'erreur superficielle. Le chemin heureux est traité, les cas de bord sont avalés silencieusement.
- Des dépendances ajoutées sans arbitrage. Chacune est un engagement de maintenance que personne n'a discuté.
La discipline qui fonctionne tient en trois règles : des tâches petites, des commits atomiques, et un diff que vous pouvez tenir dans une seule lecture. Un agent qui modifie quinze fichiers en une commande produit un diff que personne ne lit — et le code non relu finit toujours par coûter son prix, généralement au pire moment.
La même logique s'applique aux agents en production, où l'enjeu n'est plus la relecture mais le périmètre : voir périmètre et permissions des agents IA.