Microsoft : Les agents IA révolutionnent l'ingénierie de plateforme à grande échelle

Thenewstack

À la tête de ce qui pourrait bien être la plus grande opération d’ingénierie de plateforme au monde, Amanda Silver, vice-présidente d’entreprise supervisant les produits au sein de la Division des développeurs de Microsoft et directrice générale de ses systèmes d’ingénierie de première partie, fait face à un défi monumental. Son équipe est chargée de s’assurer que des milliers d’ingénieurs Microsoft, travaillant sur des centaines de produits, développent des logiciels qui sont non seulement sécurisés, cohérents et maintenables, mais qui préservent également le rythme rapide d’innovation essentiel à la compétitivité de Microsoft. Historiquement, cette immense entreprise reposait fortement sur l’effort humain, impliquant la création de normes détaillées, la génération de milliers d’éléments d’action, et l’espoir que les développeurs les mettraient en œuvre de manière cohérente. Cependant, au cours de la dernière année, l’équipe de Silver a adopté une approche transformative, remplaçant un effort humain significatif par la puissance des agents pilotés par l’IA, un changement qui, selon elle, redéfinira l’ingénierie de plateforme à grande échelle.

Pour vraiment saisir l’ampleur du défi d’ingénierie de plateforme de Microsoft, considérons une initiative de sécurité récente. En tant que composante clé de l’Initiative Secure Future de Microsoft, que la société décrit comme “le plus grand projet d’ingénierie de cybersécurité de l’histoire”, l’équipe de Silver a été tenue de mettre à jour les bibliothèques d’authentification dans toutes les bases de code Microsoft. Il s’agissait d’un mandat de sécurité critique affectant des milliers de dépôts de logiciels et des millions de lignes de code. Dans le passé, atteindre une telle cohérence à l’échelle de l’organisation aurait nécessité la création de dizaines de milliers de tickets individuels, chacun exigeant qu’un développeur humain interprète des guides de dépannage techniques complexes, puis incorpore manuellement les changements nécessaires dans leurs bases de code respectives.

L’approche centrée sur l’humain s’est cependant avérée problématique. Chaque ticket exigeait une interprétation individuelle, ce qui entraînait une qualité de mise en œuvre incohérente entre les équipes et une progression lente et difficile à suivre. De manière cruciale, explique Silver, cela détournait les développeurs du travail de fonctionnalités innovantes vers la tâche souvent “épuisante” de conformité de l’infrastructure – précisément le type de travail que Silver estime que l’IA devrait éliminer. La mise à jour de la bibliothèque d’authentification n’était qu’un exemple. Des défis similaires survenaient fréquemment, tels que la mise à jour de composants logiciels avec des vulnérabilités connues, la modernisation des processus de compilation, la standardisation des pratiques de journalisation ou l’intégration de nouveaux outils d’analyse de sécurité. Chaque nouvelle initiative se traduisait par des milliers de tickets supplémentaires, davantage d’interprétation humaine et des incohérences supplémentaires dans la mise en œuvre.

L’équipe de Silver a réinventé ce processus en déployant des « agents de codage » – des systèmes d’IA capables de comprendre des exigences techniques complexes et d’implémenter de manière autonome des modifications sur de vastes bases de code. Au lieu de générer des tickets pour les développeurs humains, l’équipe d’ingénierie de plateforme alimente désormais ses guides de dépannage et ses spécifications d’implémentation directement dans ces agents IA. Les agents analysent ensuite le code, comprennent le contexte des implémentations existantes et soumettent soit des propositions de modifications de code (pull requests) de manière autonome, soit fournissent aux développeurs des solutions presque complètes ne nécessitant qu’une révision humaine minimale. Pour la mise à jour de la bibliothèque d’authentification, cela signifiait que les agents IA pouvaient analyser les modèles d’authentification existants, identifier tous les emplacements nécessitant des mises à jour, générer des modifications de code contextuellement appropriées, créer des pull requests détaillées et même gérer des cas limites complexes ou des implémentations héritées. Silver a noté que si certaines modifications sont entièrement autonomes, d’autres accélèrent considérablement les progrès du développeur.

Le projet de la bibliothèque d’authentification n’était que le début. L’équipe de Silver a depuis appliqué des méthodologies similaires basées sur l’IA à d’autres domaines critiques. Cela inclut la gestion automatisée des dépendances, où les agents IA identifient et mettent à jour les paquets logiciels vulnérables dans des milliers de dépôts, comprenant les structures de dépendance complexes et les implications de test qui autrement exigeraient une recherche manuelle approfondie. Ils modernisent également les pipelines de construction et de déploiement en comprenant les configurations existantes, en identifiant les opportunités d’optimisation et en implémentant des changements tout en préservant la fonctionnalité. De plus, les agents IA intègrent désormais de nouveaux outils d’analyse de sécurité à travers les bases de code, configurant les règles, gérant les exceptions pour le code plus ancien et garantissant que les résultats s’intègrent de manière transparente dans les flux de travail de développement. Même l’application de nouvelles normes de codage, de modèles de refactoring et de meilleures pratiques à travers diverses bases de code, auparavant un processus laborieux impliquant de nombreuses revues de code et un refactoring manuel, est maintenant gérée par ces agents. Avant l’avènement de ces agents, chacune de ces initiatives aurait généré des milliers de tickets et nécessité des mois de travail d’implémentation. Avec les agents IA, l’équipe de Silver peut pousser des changements à l’échelle de l’entreprise en semaines plutôt qu’en trimestres, atteignant une plus grande cohérence et beaucoup moins de perturbations pour les développeurs.

L’approche pionnière de Microsoft repose sur plusieurs capacités techniques clés, notamment l’analyse de code consciente du contexte, l’implémentation incrémentielle, l’intégration transparente avec les flux de travail des développeurs, les boucles de rétroaction continues et une évaluation robuste des risques. Cette expérience suggère plusieurs changements profonds pour les équipes d’ingénierie de plateforme, déplaçant leur objectif de la simple application à l’activation stratégique, en augmentant efficacement les connaissances expertes, en accélérant le rythme des mises à jour critiques, en réduisant les frictions pour les développeurs et en assurant une qualité constante dans l’ensemble du système d’ingénierie.

Les implications du travail de Microsoft s’étendent bien au-delà de ses murs d’entreprise. Silver estime que ces techniques pourraient devenir des standards de l’industrie, étant donné le rôle pivot de Microsoft dans la fourniture d’outils et de plateformes pour les développeurs. Ce changement de paradigme offre un avantage distinct aux startups, permettant aux petites entreprises de mettre en œuvre des pratiques d’ingénierie de plateforme de niveau entreprise sans avoir besoin de grandes équipes dédiées, accélérant ainsi potentiellement leur capacité à évoluer. Pour les entreprises établies, cela annonce une nouvelle ère où les ingénieurs de plateforme passent de l’implémentation manuelle à l’orchestration de systèmes pilotés par l’IA. Cependant, cette évolution exige également une considération attentive : les équipes de plateforme doivent renforcer la confiance dans les changements générés par l’IA grâce à la transparence, à des tests rigoureux et à des processus de déploiement progressifs. Les outils et processus de développement existants devront également s’adapter pour prendre en charge ces nouveaux flux de travail basés sur l’IA.

En regardant vers l’avenir, Silver envisage un avenir où les équipes d’ingénierie de plateforme sont fondamentalement transformées : plus petites, plus stratégiques et axées sur la conception de systèmes robustes et l’établissement de normes plutôt que sur leur mise en œuvre manuelle. Cette révolution, affirme-t-elle, s’attaque aux parties les plus “misérables et épuisantes du travail”, libérant les développeurs pour qu’ils se concentrent sur les aspects créatifs et agréables de leurs rôles. Pour l’ingénierie de plateforme, cela signifie un changement crucial de la maintenance réactive à la conception de systèmes proactifs. Au lieu de répondre manuellement aux vulnérabilités de sécurité, les équipes de plateforme pourront construire des systèmes basés sur l’IA qui surveillent en permanence et résolvent automatiquement les problèmes à travers leur infrastructure.