Adobe Stock
Voitures, smartphones, réfrigérateurs, etc., de plus en plus d’objets du quotidien sont connectés à Internet et fonctionnent avec des logiciels. Ainsi, de plus en plus de développeurs sont nécessaires pour créer ces logiciels. Des estimations prédisent que d’ici 2030, il manquerait 8 millions de travailleurs dans le secteur TIC en Europe et aussi au Luxembourg le travail de développeur est recherché.
Savais-tu que tu peux d’ores et déjà créer certains logiciels toi-même avec peu ou même sans connaissances en programmation ? En effet il existe des plateformes désignées comme « low code » (nécessitent un minimum de codage) ou « no code » (pas de codage nécessaire), qui traduisent automatiquement tes demandes en lignes de code.
Figure 1: Des exemples de plateformes « no code » qui existent déjà ainsi que leur utilisation principale. Source: baserow.io.
Ainsi en utilisant ces plateformes tout le monde peut déjà créer et personnaliser par exemple des sites internet, des bases de données et des applications de gestion. « De plus en plus de logiciels seront dans le futur créés par des citoyens en utilisant des plateformes low-code ou no-code », dit Professeur Jordi Cabot, FNR PEARL Chair.
Cependant, l’utilisation de ces plateformes est limitée à certaines tâches et l’on ne peut pas encore les utiliser pour par exemple créer des systèmes intelligents, comme le logiciel d’une voiture connectée. En effet, le logiciel d’une voiture moderne contient en moyenne 100 millions de lignes de code, le rendant trop complexe pour être obtenu via low-code.
L’intelligence artificielle pourrait-elle aider ?
Beaucoup de développeurs - professionnels ou amateurs - s’appuient déjà sur l’IA générative pour la programmation. « L’IA générative va devenir encore plus importante pour générer le code des logiciels dans le futur », prédit Professeur Jordi Cabot.
Cependant les logiciels plus complexes ne seront pas créés seulement par une seule IA générative mais par toute une équipe d’agents IA qui interagissent entre eux. Prof. Cabot donne des précisions : « Nous utiliserons plusieurs agents spécialisés pour résoudre des tâches individuellement. Ce travail serait fait sous la supervision d’agents plus avancés capables d’évaluer la qualité du travail. Les superviseurs seront à leur tour coordonnés par des agents de consensus qui ont comme but de prendre une décision finale en se basant sur le feedback et les points d’accord entre les agents de supervision. »
Figure 2. La plateforme Autogen de Microsoft fonctionne avec une équipe d’agents IA qui communiquent entre eux. Les agents Autogen peuvent être personnalisés (gauche) et peuvent suivre différentes structures de communication (droite). Source: Microsoft.
L’IA générative peut créer du texte et des lignes de codes en réponse à des instructions. Elle fait cela en ajoutant chaque fois la suite de mots la plus logique. Par exemple, si on a la phrase « ils s’entendent comme chien et … », la suite la plus logique et commune est « chat ». Pour savoir quelle suite est la plus logique, l’IA générative est entrainée sur un jeu de données, et passe ensuite par une série de tests et de corrections, jusqu’à ce que le résultat obtenu soit celui qu’on désire.
Cependant, l’IA n’est pas une solution magique car elle a plusieurs inconvénients. Par exemple, l’IA générative peut souffrir d’ « hallucinations », c’est-à-dire elle peut donner des fausses informations. « Si je demande à ChatGPT quelles sont mes accomplissements, je reçois comme réponse que j’ai par exemple gagné le prix Humboldt. Sauf que cela n’est malheureusement pas le cas », raconte Professeur Jordi Cabot.
De plus, les résultats donnés pour une même tâche ne seraient pas toujours identiques, surtout quand les tâches sont complexes. Finalement, comme l’IA est entraînée sur un jeu de données du monde réel (souvent même limité qu’à certaines régions, comme les Etats-Unis), elle pourrait refléter des biais sociaux présents dans la société. Prof. Cabot donne un exemple : « Si l’on demande si les femmes sont inférieures aux hommes, certaines IA génératives peuvent répondre que cela est le cas, ou qu’au contraire ce sont les hommes qui sont inférieurs, à la place de répondre qu’on est tous au même niveau. »
Ainsi, l’IA seule n’est pas une méthode appropriée pour des tâches critiques, mais peut être utile pour des tâches répétitives.
Développeurs du futur : Une coopération entre citoyens et IA
Même si certains logiciels seront créés par des citoyens et l’IA, professeur Jordi Cabot est d’avis que « les logiciels complexes du futur seront probablement le résultat d’une coopération entre citoyens, IA et développeurs professionnels. » Ainsi il se pourrait que le citoyen interagisse avec l’IA pour établir ses besoins en termes de logiciel ainsi que pour donner du feedback sur le prototype obtenu. Cette interaction pourrait de plus être supervisée par un développeur professionnel qui est en contact avec le citoyen et l’IA pour éviter des erreurs. Un système qui permet une telle collaboration n’existe pas encore, mais pourrait voir le jour dans le futur proche.
Figure 3 : Un scénario potentiel pour la collaboration entre citoyen, IA et développeur. Source: Prof. Jordi Cabot, LIST.
L’équipe de chercheurs du Prof. Cabot est en train de développer BESSER, une plateforme « low-code » pour créer des logiciels. Une première version de BESSER peut déjà être installée par des utilisateurs expérimentés et dans six mois ils prévoient de sortir une version en ligne. Pour le moment, avec BESSER il est également déjà possible de générer des chatbots avec lesquels on peut converser en luxembourgeois. Dans le futur ils planifient d’ajouter des éléments d’IA à cette plateforme pour faciliter la coopération entre utilisateur et AI pour créer des logiciels plus complexes et flexibles. « D’ici 2025, la plupart des grandes entreprises spécialisées dans le low-code auront ajouté des éléments intelligents à leurs plateformes », pense Prof. Cabot.
Auteur : Eléonore Pottier
Éditeur : Michèle Weber (FNR)