L’IA (intelligence artificielle) fascine ou terrifie selon les points de vue.

On ne compte plus les références à Skynet (cf. Terminator) à chaque poussée dans le domaine.

Voici l’avis d’un développeur.

L’IA va-t-elle nous remplacer ?

L’IA nous remplace déjà.

Bon nombre de devs ont déjà intégré des solutions d’IA dans le travail quotidien. Cela permet plusieurs choses, par exemple :

  • automatiser les tâches répétitives
  • remplacer Google par des agents ou des plateformes plus spécialisés
  • optimiser/factoriser du code existant
  • faciliter le débug

Les gains peuvent être importants :

  • temps
  • énergie
  • créativité

Pendant longtemps, j’ai pensé que l’IA se limiterait aux “actions à faible valeur ajoutée”.

J’y voyais un petit assistant prenant en charge tout ou une grande partie des tâches rébarbatives mais les dernières avancées en la matière offrent bien plus de perspectives.

LLMs pour codeurs

Les LLMs, ou large language models, sont au cœur des enjeux actuels. C’est la course à qui pondra le meilleur pour rafler la mise car ce marché semble WTIA :

The winner takes it all

Parmi les plus populaires, on retrouve Claude ou Mistral mais il y en a beaucoup d’autres.

Des plateformes en ligne sont mises à disposition pour utiliser et surtout entraîner ces modèles avec les instructions (les fameux prompts) et autres données des utilisateurs.

Idem, il y en a littéralement des centaines mais deepcoder tourne bien.

On peut désormais générer rapidement des applications entières, parfois complexes, avec les bons prompts.

C’est un saut majeur car ChatGPT et les autres plateformes plus génériques ont longtemps été limitées sur ce plan, en tout cas dans l’offre gratuite. On ne pouvait récupérer que des scripts tronqués ou des amorces de code sans grand intérêt.

L’IA pour la rétro-ingénierie

Les progrès de l’IA sont aussi spectaculaires dans le domaine de la rétro-ingénierie (ou reverse engineering) et l’enjeu est capital.

Bon nombre d’applications propriétaires compilent et protègent leur code source.

Il n’est pas possible pour le bidouilleur moyen de reconstruire le code facilement “à la main”. Cela demande de vraies compétences de rétro-ingénierie.

Cependant, l’IA s’avère particulièrement efficace pour le désassemblage, la transpilation (convertir le code dans un autre langage) et la désobfuscation.

La “désobfuscation” va plus loin que la simple “déminification” qui consiste à reconstituer le code d’origine d’un script js minifié. On rend lisible un code censé être illisible à la base.

Bien sûr, il faut avoir les bons prompts et superviser l’IA mais ça accélère la démarche significativement.

Cela simplifie surtout la copie d’applications, et, in fine, de fonctionnalités existantes.

Mais est-ce que le niveau général augmente ?

L’IA donne l’illusion de la facilité.

Pour le moment, il faut une vraie expertise pour rédiger les bons prompts et corriger les errements des modèles.

Les plateformes peuvent produire des résultats factuellement faux avec un aplomb déconcertant (cf. les hallucinations).

Si vous ne savez pas séparer le bon grain de l’ivraie, vous perdrez un temps considérable sans jamais obtenir ce que vous cherchez.

Le code n’a jamais eu de valeur

AMHA, le code en soi n’a pas vraiment de valeur, IA ou pas. Il vient propulser des fonctionnalités.

Mêmes avec des licences restrictives, il y a toujours eu des abus.

En revanche l’IA accélère le processus et démultiplie les possibilités d’où la sensation de vertige actuelle.

Liens utiles sur le sujet