Le développement logiciel entre dans une « ère de pilotage automatique » avec les assistants de codage IA, mais le secteur doit se préparer à une autonomie totale, affirme Bret Taylor, Président du conseil d'administration d'OpenAI et ancien co-PDG de Salesforce. Faisant le parallèle avec les voitures autopilotées, il suggère que le rôle des ingénieurs logiciels évoluera, passant d'auteurs de code à opérateurs de machines génératrices de code. Taylor préconise de nouveaux systèmes de programmation, langages et méthodes de vérification pour garantir que le code généré par l'IA reste robuste et sécurisé. L’intelligence artificielle (IA) redéfinit les contours de l’industrie technologique et Bret Taylor invite à une profonde réévaluation des approches traditionnelles de développement logiciel. Lors d’une récente intervention, Taylor a souligné que les avancées rapides de l’IA nécessitent une remise en question des méthodologies établies, mettant en lumière les opportunités et les défis associés à cette révolution.
L'évolution rapide des modèles de langage avancés et des assistants de codage, tels que Cursor, a inauguré ce que Bret Taylor appelle l'ère du « pilote automatique » en ingénierie logicielle. Ces outils augmentent la productivité des développeurs en facilitant la rédaction de code, tout en maintenant les environnements de programmation traditionnels conçus pour les humains, comme Visual Studio Code et des langages tels que Python. Cependant, cette approche nécessite encore une supervision humaine constante, comparable à garder les mains sur le volant.
Taylor envisage une transition vers une véritable ère autonome du développement logiciel, où le rôle des ingénieurs évoluerait de la création directe de code à l'exploitation de machines génératrices de code.
Il dresse d'ailleurs un parallèle avec les voitures autonomes :
« Lorsque vous montez à bord d'une Waymo à San Francisco, vous voyez un siège conducteur vide et un volant qui tourne essentiellement comme une forme de divertissement pour les passagers. Assis sur la banquette arrière, on ne peut s'empêcher de réfléchir aux changements radicaux que connaîtront les voitures au cours des prochaines décennies, à mesure que la conduite autonome se généralisera. Lorsque les voitures passeront du pilotage automatique à l'autonomie, il sera possible non seulement de réorganiser les sièges et d'enlever le volant, mais aussi de transformer notre relation avec les voitures, car le coût du covoiturage et du robotaxiage diminuera considérablement.
« Avec l'avènement des grands modèles de langage, il est clair que nous sommes déjà entrés dans l'ère du pilotage automatique du génie logiciel. Les assistants de codage comme Cursor aident les programmeurs individuels à devenir beaucoup plus productifs, mais en grande partie dans le cadre d'environnements de programmation optimisés pour les humains : des éditeurs de texte optimisés pour les humains comme Visual Studio Code et des langages de programmation optimisés pour les humains comme Python, tous présentés sous forme de complétion de code de sorte que le programmeur informatique doit garder la main sur le volant tout le temps.
« Malgré le rythme de l'innovation dans les assistants de codage, il semble qu'il nous manque encore certaines des idées fondamentales qui pourraient faire du développement de logiciels véritablement autonomes une réalité. À quoi ressemblera le génie logiciel à l'ère de l'autonomie, lorsque nous nous serons débarrassés du proverbial siège du conducteur et du volant ? »
Une transformation qui soulève des questions fondamentales, selon lui
L'urgence de ces réflexions est accentuée par l'augmentation massive de la production logicielle, souvent accompagnée de vulnérabilités et de failles de sécurité similaires à celles du passé, mais avec moins de supervision et de maintenabilité. L'IA offre une opportunité unique de créer des logiciels non seulement plus nombreux, mais aussi plus robustes.
Taylor appelle ainsi l'industrie à adopter une ambition renouvelée pour concevoir cette ère autonome de l'ingénierie logicielle. Il encourage les professionnels travaillant sur ces problématiques à partager leurs projets, afin de s'inspirer mutuellement et de façonner ensemble l'avenir du développement logiciel.
« Dans l'ère autonome du génie logiciel, le rôle de l'ingénieur logiciel passera probablement de celui d'auteur de code informatique à celui d'opérateur d'une machine génératrice de code. Quel est le système de programmation informatique conçu nativement pour ce flux de travail ?
« Si la génération de code n'est plus un facteur limitant, quels types de langages de programmation devrions-nous construire ?
« Si un ordinateur génère la plupart des codes, comment faire en sorte qu'il soit facile pour un ingénieur logiciel de vérifier qu'il fait bien ce qu'il veut ? Quel est le rôle de la conception des langages de programmation (par exemple, ce que Rust a fait pour la sécurité de la mémoire) ? Quel est le rôle de la vérification formelle ? Quel est le rôle des tests, du CI/CD et des flux de développement ?
« Aujourd'hui, le principal bureau d'un ingénieur logiciel est son éditeur. Quel est le contrôle de mission d'un ingénieur logiciel à l'ère du développement autonome ?
« Non seulement répondre à ces questions sera amusant et aura un impact, mais je dirais que nous devons y répondre rapidement. Dans cette ère du pilotage automatique, nous augmentons considérablement la quantité de logiciels dans le monde, mais ces nouveaux logiciels...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

