L'IA devrait nous aider à produire un meilleur code
⚡ Résumé en français par Brief IA
• De nombreux développeurs craignent que l'externalisation de leur code vers des outils d'IA ne réduise la qualité. • 100% des développeurs interrogés expriment des inquiétudes concernant la qualité du code généré par l'IA. • Il est crucial d'aborder directement la question de la qualité si l'adoption d'agents de codage entraîne une baisse de celle-ci. 💡 Pourquoi c'est important : La qualité du code est essentielle pour la durabilité des projets logiciels et la satisfaction des utilisateurs.
📄 Article traduit en français
L'IA devrait nous aider à produire un meilleur code
De nombreux développeurs craignent que le recours à des outils d'IA pour leur code entraîne une baisse de qualité, produisant un code médiocre généré suffisamment rapidement pour que les décideurs soient prêts à ignorer ses défauts.
Si l'adoption d'agents de codage réduit manifestement la qualité du code et des fonctionnalités que vous produisez, vous devez aborder ce problème directement : identifiez les aspects de votre processus qui nuisent à la qualité de votre production et corrigez-les.
Expédier un code de moindre qualité avec des agents est un choix. Nous pouvons choisir d'expédier un code de meilleure qualité à la place.
Éviter de prendre des dettes techniques
Je préfère penser à l'expédition d'un meilleur code en termes de dette technique. Nous contractons une dette technique à la suite de compromis : faire les choses "de la bonne manière" prendrait trop de temps, donc nous travaillons dans les contraintes de temps auxquelles nous sommes soumis et espérons que notre projet survivra suffisamment longtemps pour rembourser la dette plus tard.
La meilleure façon de gérer la dette technique est d'éviter de l'accumuler en premier lieu.
D'après mon expérience, une catégorie courante de corrections de dette technique concerne des changements qui sont simples mais chronophages.
-
La conception de notre API d'origine ne couvre pas un cas important qui est apparu plus tard. Corriger cette API nécessiterait de modifier le code à des dizaines d'endroits différents, rendant plus rapide l'ajout d'une nouvelle API légèrement différente et de vivre avec la duplication.
-
Nous avons mal nommé un concept au début - équipes plutôt que groupes par exemple - mais nettoyer cette nomenclature partout dans le code demande trop de travail, donc nous ne le corrigeons que dans l'interface utilisateur.
-
Notre système a développé des fonctionnalités dupliquées mais légèrement différentes au fil du temps qui doivent être combinées et refactorisées.
-
L'un de nos fichiers a atteint plusieurs milliers de lignes de code que nous devrions idéalement diviser en modules séparés.
Tous ces changements sont conceptuellement simples mais nécessitent tout de même du temps, ce qui peut être difficile à justifier face à des problèmes plus pressants.
Les agents de codage peuvent s'en occuper pour nous
Les tâches de refactorisation comme celles-ci sont une application idéale des agents de codage.
Lancez un agent, dites-lui quoi changer et laissez-le travailler dans une branche ou un espace de travail en arrière-plan.
J'utilise généralement des agents de codage asynchrones pour cela, tels que Gemini Jules, OpenAI Codex web, ou Claude Code sur le web. De cette façon, je peux effectuer ces travaux de refactorisation sans interrompre mon flux de travail sur mon ordinateur portable.
Évaluez le résultat dans une Pull Request. Si c'est bon, intégrez-le. Si c'est presque bon, demandez-lui ce qu'il doit faire différemment. Si c'est mauvais, jetez-le.
Le coût de ces améliorations de code a tellement diminué que nous pouvons nous permettre une attitude de tolérance zéro envers les petites mauvaises pratiques et les inconvénients.
Les outils d'IA nous permettent d'envisager plus d'options
Toute tâche de développement logiciel s'accompagne d'une multitude d'options pour aborder le problème. Une partie significative de la dette technique provient de choix malheureux lors de l'étape de planification - manquer une solution simple évidente ou choisir une technologie qui s'avère ensuite ne pas être exactement adaptée.
Les LLMs peuvent aider à s'assurer que nous ne manquons aucune solution évidente qui n'aurait peut-être pas attiré notre attention auparavant. Ils ne suggéreront que des solutions courantes dans leurs données d'entraînement, mais celles-ci tendent à être les technologies ennuyeuses qui ont le plus de chances de fonctionner.
Plus important encore, les agents de codage peuvent aider avec le prototypage exploratoire.
La meilleure façon de faire des choix technologiques confiants est de prouver qu'ils sont adaptés à l'objectif avec un prototype.
- Redis est-il un bon choix pour le fil d'activité sur un site qui s'attend à des milliers d'utilisateurs simultanés ?
La meilleure façon de le savoir est de simuler ce système et de réaliser un test de charge pour voir ce qui casse.
Les agents de codage peuvent construire ce type de simulation à partir d'une seule invite bien formulée, ce qui réduit le coût de ce type d'expérience à presque rien. Et comme ils sont si peu coûteux, nous pouvons réaliser plusieurs expériences à la fois, testant plusieurs solutions pour choisir celle qui convient le mieux à notre problème.
Adopter la boucle d'ingénierie compound
Les agents suivent des instructions. Nous pouvons faire évoluer ces instructions au fil du temps pour obtenir de meilleurs résultats lors de futures exécutions, en nous basant sur ce que nous avons appris précédemment.
Dan Shipper et Kieran Klaassen chez Every décrivent leur approche de travail avec des agents de codage comme l'Ingénierie Compound. Chaque projet de codage qu'ils terminent se termine par une rétrospective, qu'ils appellent l'étape compound, où ils prennent ce qui a fonctionné et le documentent pour de futures exécutions d'agents.
Si nous voulons les meilleurs résultats de nos agents, nous devrions viser à augmenter continuellement la qualité de notre base de code au fil du temps. Les petites améliorations s'accumulent. Les améliorations de qualité qui prenaient autrefois beaucoup de temps ont maintenant vu leur coût diminuer au point qu'il n'y a aucune excuse pour ne pas investir dans la qualité en même temps que dans l'expédition de nouvelles fonctionnalités. Les agents de codage signifient que nous pouvons enfin avoir les deux.
Brief IA — Veille IA en français
Toutes les innovations mondiales en IA, traduites et résumées automatiquement. Recevoir les meilleures actus IA chaque jour.