# Ingénieur de Google sur les pièges des agents IA dans les DevTools : Du code spaghetti à la refactorisation en Rust
L'ingénieur de Google Lalit Maganti a passé trois mois et ~250 heures à développer syntaqlite — une suite d'outils pour SQLite : parseur, formateur, linter et serveur LSP. La première approche avec une délégation totale à Claude a conduit à un code ingérable qui a dû être abandonné. Passer à Rust avec l'IA en tant qu'autocomplétion a produit une version 0.1 fonctionnelle.
Première itération : Délégation à l'IA et chaos dans le code
Maganti a commencé par une automatisation maximale : Claude concevait et implémentait, tandis que l'auteur jouait le rôle de manager. En un mois, ils ont créé :
- Un parseur en C.
- Un formateur.
- Une interface web.
- Plus de 500 tests.
Le résultat fonctionnait, mais l'examen a révélé des problèmes :
- Des fonctions éparpillées de manière chaotique dans les fichiers.
- Des modules gonflés à des milliers de lignes.
- Le pipeline d'extraction de code des sources SQLite était devenu incompréhensible, même pour l'auteur.
Le codebase s'est transformé en « spaghetti ». Solution : démolition complète et redémarrage.
Deuxième itération : Rust, conception manuelle, autocomplétion IA
En changeant de pile vers Rust, Maganti a pris l'architecture en main. Claude a été utilisé pour la génération de code basée sur des spécifications précises, avec des revues strictes.
Pratiques clés :
- Tests automatisés : Un pilote vérifiait chaque requête SQL contre 1390 tests upstream de SQLite, en comparant avec le parseur syntaqlite.
- Refactorisation constante : Chaque changement subissait une revue manuelle.
- Journalisation : Un journal (~4000 mots), transcriptions de sessions, historique des commits.
Le cœur a été assemblé en février, avec une version 0.1 en mi-mars. Ce projet, qui mûrissait depuis 8 ans, a été implémenté en side project.
Pièges des agents IA : De la dépendance à la perte de contrôle
Maganti compare le travail avec Claude à une machine à sous :
- « Un prompt de plus » traînait jusqu'à la nuit.
- La fatigue réduisait la qualité des prompts.
- Perdre le « feeling » du codebase l'a transformé en manager d'un code d'autrui.
La communication s'est effondrée : des descriptions vagues menaient à des interprétations erronées. L'IA excelle au niveau fonction/classe mais peine sur l'architecture, la conception d'API et le contexte projet.
Enseignements clés
- L'IA accélère l'implémentation, mais ne remplace pas la conception : les modèles manquent de « goût » et d'historique.
- La délégation totale mène à un code ingérable : la revue manuelle est essentielle.
- Rust + autocomplétion IA bat C + agent : l'architecture est clé.
- Tester sur les tests upstream est crucial pour les parseurs SQLite.
- La journalisation accélère les itérations : publiez des journaux plutôt que des histoires one-shot.
Recommandations pour les devs mid/senior
- Utilisez l'IA pour les tâches routinières : autocomplétion, refactorisation de petites parties.
- Gardez le contrôle sur l'architecture : les modèles ne saisissent pas le contexte long terme.
- Implémentez des pipelines automatisés : comparez aux tests de référence (upstream SQLite).
- Journalisez les sessions : analysez prompts, commits, erreurs.
L'approche de Maganti montre : l'IA accélère les side projects, mais exige de la discipline. Syntaqlite est un exemple d'équilibre entre humain et agent dans des DevTools complexes.
— Editorial Team
Aucun commentaire pour le moment.