Apprendre à aimer l’IA générative dans le développement de logiciels
Le logiciel est un moteur extraordinaire de croissance économique et de changement, car il résume et automatise à la fois les flux de travail et les fonctions des prototypes et des machines, à moindre coût et à grande échelle. Aujourd’hui, l’intelligence artificielle générative est utilisée dans la création de logiciels par de nombreuses entreprises. Nous tournons la puissance des logiciels et de l’IA vers la création de logiciels elle-même.
Certains espèrent une augmentation illimitée de la puissance des logiciels, tandis que d’autres craignent que les risques et les faiblesses de la création de logiciels ne s’aggravent de manière exponentielle. Quelle est la réalité pour les développeurs et les personnes qui gèrent les équipes de développeurs ?
En tant qu’entreprise qui a déjà une expérience significative de l’utilisation de nombreux types d’IA dans le développement de logiciels, nous voyons les choses différemment. Oui, l’IA, et l’IA générative en particulier, va changer la façon dont les logiciels sont écrits, profondément et de façon permanente. C’est un changement pour l’industrie du logiciel et pour les entrepreneurs qui ont de nouvelles idées pour accélérer leur chemin vers le produit.
Comme pour tous les changements importants, les gens apprendront de nouvelles façons de gérer leurs emplois et leurs technologies, en mesurant et en récompensant de nouvelles façons. La productivité ne sera pas comptée en termes de lignes de code créées (elle n’aurait probablement jamais dû l’être), mais en termes de résultats efficaces, d’amélioration de la documentation et d’une meilleure sécurité.
C’est ce que vous comptez qui compte
L’amélioration de nos mesures de réussite répond à une crainte majeure concernant l’IA générative. Oui, la technologie améliore considérablement l’interaction homme-machine, permettant de générer d’immenses quantités de code en un clin d’œil. Sans contrôle, le code peut être truffé d’erreurs, avec des failles de sécurité ou des processus inefficaces qui créent une nouvelle dette technique. Il pourrait arriver trop vite pour être correctement documenté ou compris, avec plus de code orphelin.
C’est une autre façon de dire le vieil adage de programmation, « garbage in, garbage out », seulement suralimenté. Comparez cela avec la façon dont Alphabet a implémenté l’IA générative dans notre processus de développement interne et a vu forte augmentation de la productivitéy compris une réduction de 6 % du temps d’itération de codage, ou du temps entre les builds et les tests.
Nous avons également constaté des améliorations dans des domaines tels que la satisfaction des développeurs. Ce sont bien sûr des mesures centrées sur l’humain ; dans ce cas, nous travaillons avec un Transformateurproduit de complétion de code basé sur ML. Les développeurs acceptent les suggestions d’achèvement de code et le code n’est pas produit sans contrôle.
L’écriture de code est en ce sens quelque chose comme n’importe quel processus de fabrication, dans lequel les premières erreurs sont détectées et corrigées, moins elles coûtent cher à réparer. Au rythme où nous et de nombreuses autres entreprises avons besoin de produire des logiciels, cela a longtemps été essentiel, mais l’IA met davantage l’accent sur ce rôle.
Le langage du code et le langage des humains
De même, la plate-forme de développement de logiciels Replit a présenté l’année dernière Ghostwriter, un programmeur de paires alimenté par ML qui complète le code en temps réel et contient des outils pour générer et expliquer le code. Le développeur conserve à la fois son autonomie et sa responsabilité. Replit, qui est utilisé par plus de 22 millions de développeurs, ajoute également des capacités d’IA génératives et des services d’infrastructure.
Cela fait suite à l’ajout antérieur d’une interface d’IA conversationnelle pour générer du code et un débogage proactif, basé sur la connaissance des fichiers et de l’espace de travail du développeur. En ajoutant l’IA générative, Ghostwriter répond aux questions, suggère du code et propose de compléter les programmes, mais les décisions finales appartiennent au développeur, qui, pour des travaux plus simples, peut avoir moins de formation technique qu’auparavant.
Cette capacité à se déplacer entre le langage des humains et le langage des logiciels crée à la fois des opportunités et de nouvelles façons pour les développeurs de se former. Dans ce domaine, les intégrateurs de systèmes mondiaux comme Capgemini, Cognizant, Deloitte, KPMG, TCS et Wipro jouent un rôle essentiel, éduquant et formant des milliers de développeurs à l’IA générative.
Ces intégrateurs sont bien sûr aussi des créateurs de logiciels et de vues marge et revenus basés sur la production et la productivité des développeurs. Cela inclut non seulement le temps de développement et la satisfaction des développeurs, mais aussi la fiabilité, la sécurité et le coût dans le temps. Il est également probable qu’eux-mêmes et d’autres créeront de nouveaux services alimentés par l’IA générative, comme logiciel qui compare les projets de deux développeurs et détermine lequel a l’algorithme le plus efficace.
Cela témoigne des craintes que l’IA générative galopante ne crée des masses de mauvais code et de dettes techniques. La dette technique n’est pas propre à la création de logiciels, car la vie implique des compromis et il y a toujours des sacrifices que les équipes doivent faire pour sortir leurs produits. Les erreurs et les choix inexpliqués, cependant, pourraient désormais être mieux traités dans un service d’IA génératif qui trie un système d’entreprise, repérant les domaines où la dette technique préexistante peut être rapidement améliorée.
De même, le code hérité écrit dans des langages tels que Fortran, COBOL et Lisp manque souvent de documentation, n’a pas été bien testé et peut même être illisible pour les équipes contemporaines. Formées à ces langages plus anciens et traduisant les actions du code dans un langage humain standard, comme l’anglais, les entreprises peuvent mieux comprendre leur propre fonctionnement interne. Encore une fois, il s’agit des priorités et des mesures mises en place parallèlement à la technologie.
Conserver la dynamique de base
Beaucoup de choses vont changer, mais la véritable valeur ajoutée par les développeurs reste la conception, l’architecture et la réalisation de nouveaux logiciels, qui changent la vie de millions de personnes. Les entrepreneurs peuvent construire efficacement un premier prototype du produit ou du service qu’ils envisagent sans rechercher de talents techniques avant d’avoir obtenu un financement. De nouvelles interfaces peuvent affecter les rôles de travail, par exemple, en prenant aux ingénieurs back-end l’ennui de connecter différents systèmes, afin qu’ils puissent plutôt se concentrer sur l’optimisation du fonctionnement des choses. La mesure et la gestion vont changer.
L’interaction humaine avec les ordinateurs a évolué pendant des décennies, passant des langages d’assemblage et des cartes perforées aux systèmes en réseau, à Internet en tant que plate-forme de développement et aux architectures orientées services pour le cloud computing. Tout au long de cette évolution, la communauté des développeurs s’est agrandie, les outils logiciels se sont améliorés et les choses que les ordinateurs peuvent faire se sont épanouies. Il est difficile de prédire l’avenir, mais il est facile d’être sûr que le phénomène se poursuivra.
Créé avec Sketch.