Data

L’IA dans le développement : opportunités et défis

by Esteban Salvador Torres 30 octobre 2023

Le jeudi 28 septembre dernier, Kaliop a organisé un meetup dans ses locaux. Les meetups sont des événements gratuits et ouverts à toutes et tous, où une ou plusieurs thématiques de nos métiers sont abordées. Il s’agit avant tout de partage de connaissance et d’un moment d’échange entre passionnés. Pour ce meetup, c’est Pierre Moati, Expert mobile chez Kaliop, qui a pris la parole pour nous parler d’IA. Le sujet choisi est très ancré dans l’époque que nous vivons, car peu y sont insensibles : L’Intelligence Artificielle (IA) dans le développement, des opportunités et des défis.

La présentation, tout comme les nombreux échanges qu’elle a suscités, ont soulevé des points importants, appelant à notre réflexion.

L’Intelligence Artificielle, qu’est-ce que c’est ?

Selon sa définition la plus simple, l’intelligence artificielle est un domaine de l’informatique qui vise à créer des systèmes capables de remplacer l’intelligence humaine.

On reconnaît une IA à 3 principes fondamentaux :

  • L’apprentissage : les intelligences artificielles apprennent grâce à l’expérience fournie par les utilisateurs de leurs plateformes respectives. Elles utilisent ces données pour s’améliorer avec le temps.
  • La raison : les IA peuvent prendre des décisions logiques en analysant des informations. Elles sont capables de résoudre des problèmes en utilisant le raisonnement.
  • L’action : enfin, les IA passent de la réflexion à l’action. Que ce soit en répondant à des questions sur un chat comme ChatGPT ou en contrôlant des machines, elles agissent en fonction de ce qu’elles ont appris et s’approprient ce savoir afin de correspondre aux attentes de l’utilisateur.

Cette définition, assez large, est en accord avec le grand nombre d’intelligences artificielles que nous rencontrons tous les jours. Il devient parfois difficile de prendre du recul et de savoir faire le tri.

Les classifications des IA

Pour mieux nous y retrouver, nous pouvons comparer les intelligences artificielles à travers 3 critères :

  • Leur capacité : toutes les IA n’ont pas le même niveau de capacité. Une IA faible, (ou étroite), conçue pour une tâche spécifique comme un outil de reconnaissance faciale par exemple, est très différente d’une IA forte, (ou générale), davantage conçue plutôt pour effectuer des tâches humaines.
  • Leur fonctionnement : les IA ont de nombreuses applications possibles, nous avons déjà tous eu affaire à une IA conversationnelle, que ce soit Siri de Apple, ou un Chatbot. Mais on peut aussi mentionner les IA émotionnelles, robotiques, ou encore quantiques. Le but ici est de s’intéresser à l’utilité de ces IA.
  • Leur méthode d’apprentissage : il s’agit de comprendre comment nos IA assimilent leurs connaissances. On ne peut pas passer à côté du Machine Learning qui consiste en l’apprentissage par l’entraînement, ou qui s’appuie sur du Deep Learning, basé sur l’utilisation de RNA (Réseaux de Neurones Artificiels), par exemple.

Les domaines d’application de l’IA

L’intelligence artificielle est aujourd’hui omniprésente, apportant des changements significatifs dans divers domaines. En médecine, elle assiste l’analyse d’images médicales et la recherche de traitements. Dans la finance, elle optimise la gestion des risques, et dans l’industrie, elle automatise des processus de fabrication.
Mais qu’en est-il des changements que l’IA apporte dans le domaine du développement ?

L’IA dans le développement

Il existe de multiples manières d’utiliser concrètement l’intelligence artificielle dans le développement. De nombreux services ont été mis à disposition des développeurs, comme :

  • Certains assistants de code tels que Copilot ou Tabnine, qui permettent d’avoir des suggestions de code de manière dynamique, directement dans notre environnement de travail. Il est même possible de générer du code à partir de commentaires.
  • ChatGPT, qui permet également de lire, comprendre, et de générer du code à travers son interface (de manière plus ou moins exacte).
  • Moins connus, mais tout aussi puissants, les outils spécialisés dans la correction de bugs ou dans la recherche de vulnérabilités tels que Adrenaline ou CodeGL, permettent “d’assurer” de manière simple, du code fonctionnel.

Quelles opportunités pour les développeurs ?

L’intelligence artificielle offre assurément un grand nombre d’opportunités. Elle permet une automatisation efficace des tâches répétitives, libérant ainsi du temps pour des activités plus complexes et créatives. De plus, l’IA peut analyser rapidement de vastes ensembles de données, facilitant la prise de décisions. Cela contribue à accélérer le processus de développement et à améliorer la qualité du développement. En outre, les applications de l’IA dans l’optimisation des performances et l’adaptation aux changements dynamiques du marché, ouvrent de nouvelles perspectives pour des développements plus agiles.

Les opportunités de l'IA pour le developpement

Mais l’intelligence artificielle, bien qu’étant un outil très utile, peut également générer des craintes et nous pousse à nous questionner sur nos métiers.

Quels sont les défis que représente l’IA pour le développement ?

Est-ce que l’intelligence artificielle va faire disparaître nos métiers ? Doit-on s’inquiéter d’une disparition de l’esprit critique du développeur ?
Des questions légitimes qui méritent cependant plus de recul. L’IA fait certes plus de bruit qu’avant, mais fait partie intégrante du domaine professionnel depuis des dizaines d’années. Le développement est un domaine soumis à de nombreuses évolutions et l’IA ne fait pas exception. Comprendre les évolutions et les outils de ces technologies, comme lors de ce Meet-up organisé par Kaliop, nous permet de mieux appréhender le futur.

Il faut cependant faire attention à un certain nombre de facteurs lors de notre utilisation de l’intelligence artificielle.

Une IA peut et donnera souvent des résultats erronés, comme c’est expliqué dans l’article Modèles de Langage : quel est le meilleur réseau entre GPT, BARD et LLAM ?,que ce soit par contrainte technique, par biais algorithmique, ou par manque de données de qualité. Nombreuses sont les fois où ChatGPT a su inventer des fausses solutions à un problème pour apporter une réponse rapidement. Il faut garder un esprit critique sur les résultats obtenus et savoir les remettre en question.
Aussi, l’utilisation d’IA est soumise à des questionnements éthiques, écologiques ou de transparence. On manque d’informations sur comment fonctionne une IA, bien que l’on sache pertinemment combien il faut dépenser en énergie pour la faire fonctionner. Ce sont des défis à relever pour permettre l’utilisation de l’IA de manière plus cohérente avec les problématiques rencontrées à notre époque.
Les IA sont donc utiles, mais à utiliser avec parcimonie pour ne pas créer de dépendance. L’IA est un outil puissant qui est imparfait, et nous devons faire attention à toujours pouvoir assurer notre développement sans.

 

Les défis de l'IA pour le développement

Conclusion

Cette conférence a évoqué, de manière large, certains points importants d’un domaine aussi vaste que l’IA.
On peut légitimement se poser des questions quant à l’avenir de nos métiers et aux évolutions que l’on va connaître dans ce domaine.
De nombreux échanges ont permis le débat et la réflexion pendant ce moment convivial. On espère pouvoir vous retrouver rapidement lors d’un prochain Meet-up pour continuer à échanger !

Esteban Salvador Torres

Esteban Salvador Torres

Développeur Web et Mobile

Développeur Web et Mobile, sensibilisé au Design UX, je concentre mon travail sur la création d'interfaces créatives qui récompensent l'utilisateur.

Commentaires

Ajouter un commentaire

Votre commentaire sera modéré par nos administrateurs

Vous avez un projet ? Nos équipes répondent à vos questions

Contactez-nous