Développeur web » Coder avec l'IA

Coder avec L’IA en tant que développeur

Pour les développeurs, coder avec une intelligence artificielle, GPT ou une autre, va devenir obligatoire.

Depuis la sortie de ChatGPT pour le grand public, tout le monde est conscient que GPT-3 et GPT-4(o) ont durablement changé nos vies.

Les IAs comme ChatGPT, GitHub Copilot, TabNine, Intellisense, JetBrains Fleet etc, vont devenir la norme.

Tous les nouveaux outils à base d’IA pour les développeurs vont changer notre manière de coder.

Alors quels sont les usages de l’IA pour les développeurs et comment utiliser l’intelligence artificielle pour mieux coder ?

Mon but n’est pas de comprendre l’IA et le machine learning.

Mais de trouver des moyens d’utiliser l’IA pour coder mieux et plus rapidement.

Coder avec ChatGPT

Coder avec ChatGPT est la chose la plus facile à faire pour un développeur qui souhaite améliorer son code ou en générer : guide complet !

Développeur VS. IA : NON, on ne va PAS perdre nos jobs, MAIS…

Développeur et IA font beaucoup parler en 2024, discutons ensemble de l’avenir des devs…

Machine Learning : Guide pour les développeurs

Machine Learning (ML), Deep Learning (DL), comprendre comment les intelligences artificielles (IA) fontctionnent.

Comment coder avec une IA

Coder avec une IA, ça va devenir la norme dans quelques années.

Pour moi, plus aucun développeur ne codera sans IA d'ici 10 ans, voire moins.

À ce sujet, il y a une compétence importante à maîtriser qu'on a souvent délaissé : exprimer son intention.

Le prompt engineering c'est justement être capable d'exprimer son intention, ce que l'on souhaite, et comment.

Utiliser ChatGPT n'est pertinent que si tu sais lui demander quoi faire...

Sinon, il est inutile.

Tout comme un développeur qui coderait des choses complexes grâce à l'IA mais qui ne répondrait pas aux besoins métiers.

Compétences nécessaires

Avoir un bon prompt pour l'IA est assez compliqué.

Il faut une vraie compréhension du problème que l'on veut résoudre et comment on veut le résoudre.

C'est pour cela que beaucoup de personnes utilisent mal ChatGPT, GPT-3 et GPT-4 (même si les résultats de ce dernier sont plus précis).

GPT, si tu lui donnes une instruction trop vague, il sera incapable de remplir la tâche comme tu l'as imaginé.

(Parce-qu'il n'est pas dans ta tête)

ChatGPT et un plan d'article sur l'intelligence artificielle
Lorsque j'ai demandé à ChatGPT quels seraient les éléments que j'aurais pu oublier dans mon plan d'article sur l’intelligence artificielle et les développeurs.

Je n'ai pas été assez précis, du coup la réponse est carrément fausse.

J'utilise GPT-3 au quotidien pour coder et pour autant, je n'ai aucune compétence en mathématique ou en modèle d'IA.

Les réponses très généralistes des IAs sont un problème que l'on peut résoudre avec le prompt engineering.

👉 Pour chacun de tes prompts, sois très précis sur l'entrée et la sortie que tu souhaites (on verra des exemples plus loin).

Prompt Engineering

Bien maîtriser son prompt c'est vraiment ce qui fait qu'on peut aller vite et loin avec l'IA.

Seulement, ça prend énormément de temps pour les tâches les plus complexes.

C'est en partie parce que l'IA a du mal avec les tâches larges et complexes que les développeurs ont encore de belles années devant eux.

Il faut beaucoup de précisions à GPT pour pouvoir générer quelque chose de fonctionnel dans un environnement complexe.

Autrement dit, c'est compliqué pour l'IA en 2023 de comprendre comment coder quelque chose de complexe car elle n'a pas (encore) de vue d'ensemble.

Bref, plus on est précis avec l'IA, mieux ça fonctionne.

Des outils existent pour nous aider à structurer nos prompts (et à spécifier nos pensées).

Prompt Perfect, améliorer ses prompts à l'IA
https://promptperfect.jina.ai/streamline

Mais compter sur des outils pour utiliser d'autres outils, je pense que c'est une mauvaise idée.

Dans un premier temps savoir comment prompter est ta meilleure arme pour mieux coder avec l'IA en tant que développeur !

Guide pour faire du prompt engineering avec l'IA
https://learnprompting.org/fr/docs/

Guide pour apprendre le prompt Engineering :

Bibliothèques et frameworks d'intelligence artificielle

Pour utiliser l'IA, il existe énormément d'outils et tous ne se valent pas.

    • Machine Learning (TensorFlow, Scikit, Keras)

    • Traitement de données (Pandas, Numpy)

    • Visualisaton (matplotlib, Tableau)

    • Bases de données (Hadoop, Spark, SQL)

Pour le coup je ne développe pas d'IA à proprement parler alors je ne peux pas plus en parler.

Coder avec l'IA pour mieux coder est une chose.

Développer une IA qui code à notre place en est une autre.

LangChain - Chain of Thought

LangChain permet de chaîner ses pensées via là "Chain-of-Thought".

Chainer des prompts est un excellent moyen de spécifier ses besoins à l'IA.

Quand on veut coder avec une IA, on. abesoin de discuter et d'avoir des intéractions avec elle.

Or, un seul et unique message pour demander quelque chose est rarement ce qui fonctionnera.

Autrement dit, une conversation pour se faire comprendre c'est toujours mieux qu'un email en 1 shot.

Une suite d'instructions aident à comprendre ce que l'on souhaite produire.

LangChain pour chainer des prompts avec Python
https://python.langchain.com/docs/use_cases/agents/baby_agi

Par exemple, voici comment fonctionne BabyAGI avec LangChain pour essayer de devenir une IA pluridisciplinaire.

    1. Planification de la tâche : ChatGPT analyse les demandes des utilisateurs pour comprendre leur intention et les décompose en tâches solvables possibles.

    1. Sélection du modèle : ChatGPT sélectionne les modèles hébergés sur Hugging Face en fonction des descriptions des modèles.

    1. Exécution de la tâche : Chaque modèle sélectionné est invoqué et exécuté, et les résultats sont renvoyés à ChatGPT.

    1. Génération de la réponse : Enfin, ChatGPT est utilisé pour intégrer les prédictions de tous les modèles et générer des réponses pour les utilisateurs.

Bonnes pratiques IA + Code

L'IA peut nous générer du code assez facilement, c'est de notre devoir de développeur de s'assurer qu'il corresponde bien à ce qu'on souhaite.

Et surtout : qu'on ne se soit pas trompé sur notre réel intention...

L'intelligence artificielle crée du code, mais les développeurs sont toujours responsables.

Coder avec une IA, c'est utiliser un outil pour aller plus vite, rien de plus.

Aussi, tu as plusieurs manières d'utiliser ces outils :

    • T'appuyer sur un modèle d'IA génératif comme GPT

    • Utiliser des techniques de prompting comme la Chain-of-Thought via LangChain

Tout est bon pour contextualiser correctement afin que l'IA ne se trompe pas.

Avec Copilot par exemple, le contexte est donné en plus du code de la page pour aider l'intelligence artificielle à comprendre.

Chaîne de pensées en IA
https://arxiv.org/abs/2210.03350

Coder avec l'IA : Comment devenir un meilleur développeur ?

Coder avec l'intelligence artificielle, que ce soit GPT-3, GPT-4 ou tout autre modèle, c'est quelque chose dont les développeurs vont avoir besoin dans les années à venir.

ChatGPT est sorti fin novembre 2022, cela ne fait même pas 1 an et ce n'est que le début.

En finissant cet article je suis tombé sur cet outil qui permet d'écrire du code, comme un dev.

Ça utilise GPT-4 et c'est bluffant :

https://github.com/AntonOsika/gpt-engineer

Ca ne fait qu'1 an qu'on joue avec la techno et nos puissances de calcul sont encore limitées...

Mais qui sait ce dont les IAs seront capables dans 3 ou 5 ans à la vitesse où ça va ?

Sans rire, ça te fait pas peur à toi pour la suite ?

N'hésite pas à me laisser ton avis en commentaire, car personnellement je suis perplexe.

De mon côté, ces prochains mois seront dédiés à la formation sur l'IA en tant que développeur.