Avec DeepCoder, Microsoft et l'université de Cambridge ont créé une intelligence artificielle qui est capable de produire du code informatique sans en avoir une connaissance a priori. Pour ce faire, elle pioche dans les codes d'autres logiciels qu'elle combine pour parvenir au résultat final. Les développeurs ont-ils du souci à se faire ?

au sommaire


    Aujourd'hui, concevoir un programme informatique suppose de maîtriser un ou plusieurs langages de programmation. Mais d'ici quelques années, les béotiens n'auront peut-être qu'à décrire leur projet à une intelligence artificielle (IA) qui fera le travail à leur place en seulement quelques minutes. Nous n'en sommes pas encore là, mais Microsoft et l'université de Cambridge ont en tout cas posé un important jalon dans ce sens.

    Une équipe de chercheurs a créé une IA baptisée DeepCoder qui exploite les capacités de l'apprentissage automatique (machine learning) pour créer des programmes informatiques en assemblant des lignes de code puisées dans des logiciels existants. Il n'a fallu que quelques fractions de seconde à DeepCoder pour produire un programme opérationnel contenant environ cinq lignes de code. C'est évidemment peu, mais un code bien écrit dans le langage adéquat permet d'élaborer des programmes déjà assez sophistiqués.

    Vers une collaboration entre l’IA et le développeur

    Tout l'intérêt du recours à une intelligence artificielleintelligence artificielle pour ce type de tâche tient au fait qu'elle va travailler plus rapidement qu'un humain tout en ayant la capacité de synthétiser une quantité de données bien plus importante. Cela lui permet de trouver des combinaisons de code qu'un développeur n'aura pas forcément envisagé. Par ailleurs, l'apprentissage automatique accumule une expérience en éliminant au fur et à mesure les combinaisons de code non valables.

    À la lumièrelumière de ce résultat, la question qui se pose est de savoir si une IA comme DeepCoder risque de mettre au chômage les développeurs. Il est effectivement assez probable que le travail de programmation basique finisse par être confié à une machine. Pour le reste, il faut plutôt imaginer une évolution vers une collaboration dans laquelle le développeur s'en remettra à une IA pour accomplir la partie la plus fastidieuse et rébarbative du travail de programmation afin de se concentrer sur des tâches plus élaborées. L'intelligence artificielle viendra en quelque sorte augmenter l'humain en le poussant à étoffer ses compétences.