Leaders d’opinion

Automatisation flexible contre augmentation agentic dans la programmation

mm
Ajouter Unite.AI à vos sources préférées sur Google

L’automatisation agentic (plus communément connue sous le nom de « programmation vibe ») a certainement connu un boom de popularité, au-delà même de l’espace des développeurs, avec le dictionnaire Collins qui l’a nommée mot de l’année et même le PDG de Microsoft qui a noté que jusqu’à 30 % (MSFT ) du code de l’entreprise est généré par l’IA. Cette approche de la programmation est sans aucun doute à l’origine d’une augmentation de la productivité, mais comme pour toute technologie transformatrice, comprendre où et comment l’appliquer de manière efficace est crucial pour maximiser ses avantages.

Les développeurs sont régulièrement confrontés à des défis tels que la modification de portée, les interruptions de sessions de programmation et la limitation du temps, il est donc compréhensible qu’ils cherchent à améliorer l’efficacité grâce à l’IA. Cependant, les développeurs doivent également considérer la philosophie « humain dans la boucle » offerte par l’automatisation flexible. Au lieu d’utiliser l’automatisation dans chaque processus, elle se concentre sur les tâches fastidieuses, renforçant ainsi le rôle des développeurs en tant que décideurs à chaque étape du processus. Cette approche favorise le développement des compétences tout en garantissant une cohérence architecturale dans les projets. 

L’essor de l’automatisation agentic

La programmation vibe est peut-être partout, mais c’est encore une approche relativement nouvelle, ayant été créée au début de 2025. Il s’agit du processus d’utilisation de l’IA générative pour produire du code de logiciel en fonction uniquement de invites conversationnelles, généralement avec peu ou pas d’intervention manuelle.

Elle a été largement louée pour avoir abaissé les barrières à l’entrée pour les non-ingénieurs pour tester des idées et générer des concepts fonctionnels. Par exemple, les PDG et les cadres supérieurs peuvent maintenant démontrer les changements souhaités à l’aide de prototypes programmés par vibe, évitant ainsi les longues conversations avec les développeurs où ils expliquent des idées abstraites.

Mais aller au-delà de cette phase d’idéation nécessite de comprendre les capacités actuelles de l’IA. L’IA fonctionne dans certaines limites lorsqu’elle gère de grandes fenêtres de contexte, ce qui affecte le niveau de détail de la génération de code pour les projets professionnels à grande échelle. Bien que les développeurs puissent lui donner des instructions supplémentaires pour apporter des modifications si des erreurs sont détectées, le code généré par l’IA peut parfois dupliquer la fonctionnalité, ce qui peut créer des considérations de maintenabilité. Cela devient particulièrement pertinent lorsqu’on travaille avec des systèmes intégrés qui sont souvent limités par les contraintes matérielles, nécessitant uniquement le code le plus serré pour fonctionner efficacement.

L’adoption généralisée de l’IA dans la programmation soulève également des questions importantes sur le développement des compétences. 42 % des développeurs qui utilisent l’IA dans leurs processus déclarent qu’au moins la moitié de leur base de code est générée par l’IA. À mesure que l’automatisation agentic devient plus répandue, il est important de considérer comment les développeurs juniors acquièrent des compétences de base. C’est un rite de passage pour eux de couper leurs dents sur ces tâches de programmation routinières qui aiguisent leurs compétences et leur permettent de construire rapidement une expérience de programmation. Trouver le bon équilibre, où l’IA gère les tâches appropriées tout en préservant les opportunités d’apprentissage pratique, sera crucial pour faire émerger la prochaine génération de développeurs.

L’opinion des développeurs reflète également cette période d’ajustement. En 2024, 70 % des développeurs avaient une opinion positive à l’égard de l’IA, mais cette année, elle a baissé à 60 %, avec 46 % exprimant des inquiétudes quant à l’exactitude du code de l’IA. Pourtant, la majorité des développeurs (70 %) ne la considèrent pas comme une menace pour leur poste, et 59 % des développeurs seniors dans une autre enquête ont déclaré que les outils d’IA les aident à expédier le code plus rapidement. Ces chiffres suggèrent que les développeurs sont activement en train de déterminer comment intégrer l’IA de manière efficace plutôt que de la rejeter purement et simplement. La technologie évolue rapidement, et avec elle, les meilleures pratiques pour sa mise en œuvre.

Il vaut donc la peine de considérer une philosophie différente qui adopte une approche plus mesurée dans l’utilisation de l’IA, en maintenant les développeurs au volant.

Qu’est-ce que l’automatisation flexible ?

Lorsque l’automatisation agentic intègre l’IA dans le processus de développement, l’automatisation flexible adopte une vision stratégique. Elle préconise l’intégration ciblée de l’IA dans le processus de programmation, suggérant le remplacement d’une tâche administrative à la fois. De cette façon, le développeur conserve toujours le contrôle et la surveillance du produit sans perturbation excessive. Elle cible de manière sélective les tâches administratives plus répétitives, telles que la documentation de code, la création de tests unitaires et tout codage répétitif.

De manière cruciale, elle reconnaît les capacités actuelles de l’IA dans la programmation – bien qu’elle ne puisse pas créer une pile de logiciels complète, elle peut apporter des avantages immédiats dans certains domaines spécifiques. Ainsi, au lieu que les développeurs soient frustrés en appliquant l’IA à des tâches inappropriées, son utilisation est concentrée sur les domaines où elle excelle. Au fil du temps, les développeurs peuvent se familiariser avec elle et l’adopter à un rythme plus lent, permettant à sa valeur dans la résolution des tâches administratives de devenir claire. Ensuite, les développeurs peuvent revenir aux raisons plus complexes et fondamentales pour lesquelles ils sont entrés dans l’industrie en premier lieu, telles que simplement écrire un bon logiciel complexe et résoudre des problèmes difficiles – tout en ayant confiance dans l’IA qui travaille aux côtés.

Il est également important qu’elle laisse de la place à une quantité raisonnable de ces tâches routinières pour que les développeurs juniors puissent apprendre à partir d’une expérience pratique, leur permettant de construire des connaissances de base avec l’apprentissage approfondi qui découle de la méthode traditionnelle d’essais et d’erreurs. Plutôt que d’être considérée comme quelque chose qui pourrait limiter les opportunités d’apprentissage, l’IA est intégrée en tant qu’outil – un outil dont les développeurs restent fermement aux commandes.

Les avantages s’étendent au-delà des développeurs individuels pour atteindre les équipes de développement dans leur ensemble. En automatisant les éléments répétitifs de la programmation, les équipes peuvent maintenir la cohérence dans leurs pratiques de documentation et de test tout en libérant les développeurs seniors pour qu’ils puissent encadrer les membres juniors de l’équipe et se concentrer sur les décisions architecturales. Cela crée une culture de développement plus saine où l’IA renforce l’expertise humaine plutôt que de tenter de la remplacer.

Équilibrer la corde raide de l’automatisation dans la programmation

Il est important de réitérer que l’IA est le plus grand changement dans la programmation depuis des décennies, et qu’elle a sans aucun doute le potentiel de transformer la façon dont nous programmons pour le mieux, mais nous devons trouver le bon équilibre. Il s’agit d’un processus qui doit être entrepris de manière stratégique, à la fois par l’industrie et les développeurs, qui s’habituent à cette nouvelle façon de travailler, en nous assurant que nous bâtissons sur des fondations solides tout en embrassant l’innovation. La clé est de trouver le point d’équilibre où l’automatisation améliore la productivité sans compromettre la profondeur de compréhension qui fait de grands développeurs.

Ceci étant dit, cela ne signifie pas que nous devons considérer l’automatisation flexible et la programmation vibe comme des philosophies concurrentes, mais comme des outils adaptés à deux étapes complètement différentes du cycle de vie du logiciel. À l’avenir, la programmation vibe sera essentielle pour l’idéation initiale, ainsi que pour la communication non technique entre les développeurs et leurs organisations plus larges. Et puis, à mesure que nous entrons dans le processus de production, l’automatisation flexible doit passer au premier plan, en veillant à ce que l’IA reste un outil d’aide et non un obstacle. Il ne s’agit donc pas d’un choix entre l’un ou l’autre – pour réussir, nous avons besoin des deux.

Peter Schneider est un Principal Product Manager chez Qt avec une expérience approfondie dans la gestion de produits internationaux, l'ingénierie informatique et le marketing de produits dans l'industrie numérique. Avant son poste actuel, Peter a occupé le poste de Chief Product Officer chez Efecte, une entreprise cotée en bourse qui développe une plate-forme de gestion de services basée sur le cloud et des services alimentés par l'IA. Plus tôt dans sa carrière, il a occupé divers postes de gestion de produits mondiaux chez Nokia et Siemens. Il détient un MBA en gestion générale de l'École d'économie d'Helsinki et un B.Sc. en ingénierie informatique de l'Université des sciences appliquées de Francfort.