Josselin Dionisi - Développeur indépendant

L’IA (intelligence artificielle) et les développeurs, quel avenir ?

ionicons-v5-k Josselin Dionisi 31 janv. 2023
1529 lectures Niveau :

Bonjour et bienvenue dans un nouveau monde ! Enfin presque. 😁
Vous n’avez pas pu passer à côté du sujet, aujourd’hui tout le monde parle d’IA, d’Intelligence Artificielle et de robots super savants qui font tout à notre place.
< Alors je me suis dit, tiens c’est peut être l’occasion de remettre un peu les choses à leur place à ce sujet.

C’est quoi l’IA ?

On parle d’intelligence artificielle mais en soi c’est déjà un raccourci pour parler d’un modèle de machine learning. Comprenez que “l’ordinateur”, c’est à dire un ensemble de serveurs, grâce à un jeu de données plus ou moins conséquent, vont pouvoir déduire des choses par probabilité.

Par exemple : si tous les lundis vous commandez des pizzas à 19h et que votre voisin en commande le mardi à 13h. On pourrait presque admettre que dans votre quartier, la vente de pizzas s’effectue à presque 100% le lundi et le mardi.

Bien sûr cette affirmation est tronquée et si jamais un autre de vos voisins commande à un autre moment, ou que vous changez vos habitudes, le résultat devient faux. 😛

Alors pour remédier à ce type de situations, le modèle “apprend” sur une longue période, c’est à dire qu’il va faire ses probabilités sur un amas de données entre une date X et Y, et continuer dans le futur à réajuster ses déductions.

Ainsi, il va s’approcher de plus en plus de la vérité et nous fournir des résultats exploitables.

Mais on n’atteindra jamais 100% de fiabilité, même si on est à 99,99998%.

Notez bien ça c’est important pour la suite 😉

Les outils liés au monde des développeurs et de la tech

Bien évidemment vous avez entendu parler dernièrement de ChatGPT, ou encore avant lui de Github Copilot. Ces petits outils géniaux qui permettent d’écrire du code à votre place et de vous laisser encore plus de temps pour boire du café.

Ils ont fait couler beaucoup d’encre (et du café du coup) et tout le monde les a testés. Si vous ne l’avez pas fait en tous cas je vous le conseille.

Alors oui c’est super, c’est une révolution de pouvoir discuter avec son ordinateur comme avec un être humain. Il sait “réfléchir” et garde en mémoire le début d’une conversation pour éviter de vous faire répéter à chaque fois votre demande.

Mais alors, comme beaucoup l’ont dit, nous les développeurs on va servir à quoi ? S’il suffit de demander à une chatbox de créer une appli mobile en quelques minutes avec en plus un code expliqué pas à pas ?

Spoiler : Bien loin de nous mettre au chômage, cela ouvre surtout un nouveau pan de notre métier.

Et oui, car comme je le disais en introduction rien n’est jamais infaillible. Déjà nous-même en tant qu’humain nous faisons des erreurs, alors vous pensez bien qu’un jeu de données qui fait des déductions approximatives… il en fait beaucoup aussi !

Les médias et les articles à sensations vont toujours chercher le buzz et vous faire inconsciemment ou non penser à Terminator qui arrive bientôt. Mais en réalité, les modèles de machine learning sont cantonnés à certaines tâches bien précises et ne peuvent en sortir.

En fait, ces outils permettent surtout un gain de temps extraordinaire. Toutes les petites tâches répétitives, les heures passées à écrire des Regex ou des fichiers de configuration tels que des .htaccess ou autre. Oui, là nous pouvons être “remplacés” par ces robots, et encore. Ne prenez jamais à la lettre les résultats qui vous sont donnés.

Vérifiez et corrigez toujours pour compenser la marge d’erreur.

Utiliser l’IA pour développer Sa vraie utilité est là : nous apporter une aide précieuse et répondre à des questions plus rapidement qu’en fouillant Google ou d’obscurs forums de développeurs.

Vous avez une tâche cron à écrire, une regex, un call à une API standard, toutes ces petites opérations sur lesquelles on passe souvent du temps pour une mauvaise écriture/configuration.

Elle pourra au moins vous aider à l’écrire en quelques minutes.

Mais nous ne pouvons pas laisser l’entière tâche de créer un site, une appli ni même un script assez complexe à une IA. Non seulement le code qu’elle va générer n’est pas forcément prévu pour fonctionner en production, il existe des failles potentielles de sécurité, des erreurs de code pouvant générer des pertes de performances etc …

Ou alors tout simplement, après un copier-coller vous allez vous rendre compte que le code lance une erreur et ne fonctionne pas. 😀

Vous pourrez certes le notifier à l’IA et lui dire qu’elle s’est trompée, elle le reconnaîtra en vous donnant un nouveau code mais là encore il ne sera jamais parfait.

De plus, notre métier est composé comme beaucoup d’un aspect théorique que bien évidemment un algorithme ne peut remplacer. Avant de créer une appli ou un site, il faut la penser, la concevoir. Savoir comment vont interagir les éléments, comment sera structurée la base de données, … tant de choses que malgré la puissance des outils cités, ils seront incapables de faire.

Conclusion

Notre métier n’est pas mort, je dirais même qu’il renaît et au même titre que des frameworks qui standardisent la façon de coder, les IA vont nous apporter des précieux éléments à implémenter dans notre façon de réfléchir et d’écrire.

Alors oui, il ne faut pas rater l’ère de l’IA et s’y mettre maintenant pour comprendre les tenants et les aboutissants. Mais clairement, n’abandonnez pas le développement parce que ChatGPT sait vous écrire une classe en PHP. 😉