Grands modèles de langageGrands modèles de langage
Grands modèles de langage17 min de lecture

L’ère de la « programmation avec ChatGPT »

Une introduction à la programmation avec l’aide de ChatGPT, axée sur des instructions claires pour les ordinateurs et sur la compréhension du code.

L’ère de la « programmation avec ChatGPT »
Sommaire

À retenir

  • Programmer consiste à donner des instructions précises à un ordinateur, même si ChatGPT aide à rédiger le code.
  • L’IA peut accélérer l’apprentissage, mais les débutants doivent tout de même comprendre les étapes, les erreurs et le déroulement d’un programme.
  • La bonne habitude consiste à diviser une tâche en petites instructions avant de demander au modèle ou à l’ordinateur de l’exécuter.

Bonjour et bienvenue dans cette toute première leçon vidéo, dont le lien se trouve ci-dessus, de notre cours Python. C’est génial de vous avoir ici, que vous ayez déjà touché un peu au code ou que vous commenciez sans aucune expérience en programmation, en informatique ou en intelligence artificielle. Vous avez peut-être entendu parler de tout ce qui touche ChatGPT et de sa capacité à vous aider à écrire du code, puis pensé : « Hé, je devrais peut-être apprendre les bases de la programmation tout en explorant cet angle IA. » Si oui, vous êtes au bon endroit. Aujourd’hui, je veux vous offrir une introduction simple et accessible à ce qu’est réellement la programmation, à ce à quoi ressemble Python, aux raisons pour lesquelles maîtriser le code peut prendre du temps et à la façon dont les grands modèles de langage, comme ChatGPT, peuvent accélérer votre apprentissage.

Pour commencer, vous vous demandez peut-être ce qu’est exactement la programmation. Certaines personnes imaginent qu’il suffit de s’asseoir devant un ordinateur et d’écrire des symboles et des commandes étranges jusqu’à créer comme par magie le prochain Facebook. En réalité, programmer consiste simplement à donner des instructions à un ordinateur pour qu’il accomplisse des tâches pour vous. Imaginez que l’ordinateur est une personne extrêmement littérale qui comprend seulement une forme très précise de langage. Si vous lui dites : « Fais-moi du café », il ne saura pas quoi faire, parce que cette instruction est trop générale et formulée en langage courant. Vous devez plutôt dire quelque chose de très précis, comme : « Fais bouillir 250 millilitres d’eau à 90 degrés Celsius, mouds 15 grammes de grains de café, prends un filtre et mets-y le café moulu, verse l’eau sur le café pendant 30 secondes », et ainsi de suite.

Vous pouvez ensuite diviser la première étape en plusieurs étapes atomiques : prendre la carafe, la placer sous le robinet, ouvrir l’eau, attendre 10 secondes ou que le volume atteigne 250 millilitres, fermer l’eau, etc.

Avec ce simple exemple, nous constatons que (A) les tâches peuvent être divisées en plusieurs petites tâches et que (B) plusieurs tâches peuvent être regroupées en une seule grande tâche pour faire abstraction des petits détails.

Ces principes sont deux éléments fondamentaux de la programmation!

C’est essentiellement cela, programmer. Vous divisez des tâches en étapes, dans un langage que l’ordinateur comprend, pour obtenir les résultats souhaités.

La programmation peut sembler accablante au départ, entre autres parce que les ordinateurs peuvent accomplir une immense variété de tâches. À un moment, vous demandez simplement à l’ordinateur d’afficher « Hello, World! », puis vous voulez soudainement qu’il analyse un immense dataset ou construise un site Web complet. Mais ne vous inquiétez pas, vous apprendrez tout cela une petite étape à la fois. Vous verrez généralement le même pattern : définir le problème, par exemple « Je veux un message de bienvenue »; planifier une solution, comme « D’accord, il faut afficher une ligne de texte à l’écran »; écrire du code, peut-être seulement quelques lignes; le tester; puis le raffiner s’il contient un bogue ou si vous décidez de créer quelque chose de plus avancé. C’est le cycle de programmation : planifier, coder, tester et raffiner. Vous le verrez se répéter constamment, du premier affichage de « Hello World » jusqu’au site Web final.

Les langages de programmation sont les outils que nous utilisons pour communiquer avec l’ordinateur. Vous avez probablement entendu parler de langages comme Python, Java, C++ et JavaScript. Ils accomplissent tous la même fonction fondamentale, soit vous permettre d’indiquer à l’ordinateur quoi faire, avec des styles et des syntaxes légèrement différents. La syntaxe est l’ensemble des règles que vous devez respecter pour éviter que l’ordinateur s’y perde. Si vous faites une erreur de syntaxe, l’ordinateur se plaint avec des messages d’erreur. C’est un peu comme essayer de parler espagnol tout en ajoutant au hasard des règles de grammaire française. Les gens pourraient vous regarder en se demandant : « Mais qu’est-ce que vous racontez? » Les ordinateurs font la même chose, sauf qu’ils se plaignent beaucoup plus vite et de façon plus directe. Ne vous inquiétez pas : plus vous pratiquez, plus ces règles deviennent naturelles. Exactement comme avec les langues humaines.

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Notre cours se concentre sur Python parce qu’on le considère généralement comme l’un des langages les plus accessibles pour les débutants et celui qui bénéficie du plus grand soutien dans la communauté de l’IA. Le code Python se lit souvent presque comme de l’anglais, ce qui fait partie de son charme. Par exemple, pour afficher le célèbre message « Hello, World! » à l’écran, le code Python est littéralement : print(“Hello, World!”). Une seule ligne. Lorsque vous l’exécutez, « Hello, World! » apparaît. C’est simple, mais cela illustre tout le processus en miniature. Vous avez écrit une instruction, l’avez donnée à Python, Python l’a comprise et a affiché votre message.

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Vous vous demandez peut-être pourquoi Python prend tout de même du temps à apprendre s’il est aussi simple. La vérité, c’est que même si les éléments de base comme print sont très faciles, Python comprend aussi des variables, des listes, des dictionnaires, des fonctions, des boucles, des conditions, des classes, des modules et toute une série d’autres fonctionnalités. Vous ne deviendrez pas expert du jour au lendemain, tout comme vous ne pouvez pas apprendre tous les détails de l’espagnol, du français ou de n’importe quelle nouvelle langue en une seule journée. Vous devez l’explorer en profondeur et pratiquer. De plus, programmer demande de penser comme une personne qui résout des problèmes. Vous apprenez à diviser les grands problèmes, à envisager différentes approches, à tester des solutions, à gérer les erreurs et à continuer de vous améliorer. Cette capacité se développe avec le temps. Ne vous découragez donc pas si votre code génère beaucoup de messages d’erreur au début ou si vous ne comprenez pas parfaitement comment structurer un programme. Nous sommes tous passés par là. Cela fait partie du parcours.

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

À ce stade, vous vous demandez peut-être quelle place occupent les grands modèles de langage comme ChatGPT dans tout cela. ChatGPT et les autres LLMs sont essentiellement des prédicteurs de texte extrêmement puissants. Ils ont été entraînés sur des tonnes de données écrites. Imaginez une personne qui a lu presque tous les articles, livres, sites Web et morceaux de code accessibles sur Internet. Lorsque vous écrivez une question, ils utilisent cet entraînement pour prédire la meilleure réponse possible, un mot à la fois. Comme plusieurs d’entre eux ont aussi été entraînés sur du code, ils peuvent en écrire, l’expliquer ou vous aider à le corriger. C’est comme avoir à vos côtés un assistant extrêmement compétent, mais pas toujours parfait. Vous pouvez dire : « Hé ChatGPT, peux-tu écrire une fonction Python qui calcule l’aire d’un cercle? », et il vous donnera directement le code. Si celui-ci vous mélange, vous pouvez demander : « D’accord, mais peux-tu m’expliquer ce que cette ligne signifie? », et ChatGPT vous guidera. Vous déciderez peut-être ensuite que le programme doit aussi gérer correctement les inputs négatifs. Vous demandez alors à ChatGPT de modifier le code, et il essaiera de le faire pour vous.

C’est l’une des principales raisons pour lesquelles ces modèles peuvent devenir d’excellents enseignants. Ils sont toujours accessibles, ne se plaignent pas si vous posez la même question mille fois, ne vous jugent pas et peuvent s’adapter à votre rythme. Un cours traditionnel enseigne parfois tout à partir de zéro, comme ce qu’est une variable, ce qu’est une boucle et comment travailler avec des chaînes, avant de vous permettre de créer quelque chose d’amusant. ChatGPT peut inverser cette approche. Vous pouvez immédiatement créer un petit jeu, une calculatrice ou un programme de bienvenue, obtenir le code de ChatGPT, lui poser des questions et apprendre graduellement le langage en avançant. Nous appelons cela l’apprentissage « top-down ». C’est un peu comme apprendre à cuisiner votre plat préféré en plongeant directement dans la recette, au lieu de mémoriser d’abord chaque technique culinaire. Si une technique vous manque pendant la recette, vous la cherchez simplement sur Google ou demandez à ChatGPT. Vous voyez ainsi des résultats beaucoup plus rapidement et pouvez vous amuser avec le processus si, comme moi, vous aimez bricoler. Les deux méthodes ont leur valeur, mais ChatGPT rend ce style top-down beaucoup plus accessible qu’avant.

Voici un petit exemple. Supposons que je veuille un programme qui demande son nom à un utilisateur, puis le salue. Si je demande à ChatGPT du code Python simple qui accomplit cette tâche, il pourrait me donner quelques lignes comme celles-ci…

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Je copierais ensuite ce code dans un fichier ou un environnement Python en ligne, je l’exécuterais et je verrais le prompt « What is your name? ». Si j’écris « Alice », le programme répondrait : « Hello, Alice! Welcome to this program. » C’est une petite réussite. Si je débute complètement, je pourrais me demander comment fonctionne chaque ligne. Je retournerais donc dans ChatGPT et lui dirais : « Explique le fonctionnement de ce code ligne par ligne. » Je lirais ensuite cette explication :

Ce code demande votre nom, puis vous salue en l’utilisant. Il crée d’abord une tâche « greet_user ». À l’intérieur de cette tâche, il demande : « What is your name? », puis sauvegarde votre réponse. Il utilise ensuite votre réponse pour dire : « Hello, [votre nom]! Welcome. » Enfin, il lance la tâche.

Je peux ensuite dire : « Modifie maintenant le code pour qu’il indique aussi à l’utilisateur le nombre de lettres dans son nom. » ChatGPT pourrait ajouter une ligne qui calcule la longueur du nom et affiche le résultat. Voilà l’approche top-down en action : je n’ai pas lu des dizaines de pages sur la syntaxe de Python. J’ai simplement demandé du code, reçu un exemple et appris à partir de celui-ci.

Vous vous posez peut-être une question : si ChatGPT peut simplement écrire le code à ma place, dois-je vraiment apprendre à programmer? La réponse est indéniablement oui, pour plusieurs raisons. Premièrement, ChatGPT n’est pas parfait. C’est un outil brillant, mais il peut faire des erreurs ou mal interpréter vos instructions. Vous devez être capable de repérer les erreurs, de raisonner sur votre code et de trouver comment le corriger lorsque les suggestions de ChatGPT ne fonctionnent pas comme prévu. Deuxièmement, vous pourriez vouloir personnaliser votre code de façons que ChatGPT ne peut pas facilement deviner. Vous pourriez dire : « En fait, je ne veux pas seulement saluer l’utilisateur. Je veux le saluer dans l’une de cinq langues, choisie au hasard à chaque fois. » Ce genre de résolution de problèmes et de créativité est plus amusant à explorer vous-même, avec l’aide de ChatGPT. Enfin, le véritable pouvoir de la programmation vient de son effet sur votre esprit. Elle vous aide à développer une pensée logique, une approche méthodique de la résolution de problèmes et une compréhension du fonctionnement réel des technologies qui façonnent notre monde. Parler d’IA et de programmation est une chose. Savoir ce qui se passe sous le capot en est une tout autre.

C’est pourquoi, à mon avis, la meilleure approche consiste à voir ChatGPT comme votre tuteur personnel plutôt que comme un générateur de code magique. Oui, il peut générer du code, mais vous devriez aussi lui demander d’expliquer comment il fonctionne. Vous pouvez essayer des variations, lire les messages d’erreur, en tirer des leçons et, en général, traiter l’IA comme un partenaire d’apprentissage interactif. C’est particulièrement vrai pour le débogage, soit le processus qui consiste à trouver et à corriger les erreurs dans votre code. Si votre programme plante, cela ne signifie pas que vous êtes mauvais en programmation. Cela fait simplement partie du quotidien de tous les codeurs. Même les meilleurs programmeurs au monde passent beaucoup de temps à déboguer. Vous devrez apprendre à lire les messages d’erreur, à réfléchir logiquement à ce qui aurait pu mal tourner et à essayer des corrections. ChatGPT peut vous aider à interpréter ces messages et proposer des solutions possibles. Mais vous apprendrez encore plus lorsque vous commencerez à prédire vous-même la cause probable d’une erreur et à vérifier si la correction proposée par ChatGPT a vraiment du sens.

En plus d’écrire des instructions à ChatGPT dans un navigateur, il existe une autre façon d’obtenir des suggestions de code de l’IA : les IDE modernes, ou environnements de développement intégrés. Un IDE est essentiellement une interface spécialisée qui vous aide à écrire et à exécuter votre code. Il offre des fonctionnalités comme la coloration syntaxique, qui colore le code pour le rendre plus facile à lire, des outils de débogage et l’organisation des projets. De nombreux IDE proposent maintenant la complétion de code assistée par l’IA. Pendant que vous écrivez, l’IDE observe votre ligne de code incomplète et pense : « Oh, je parie que vous voulez ensuite écrire quelque chose comme l’instruction print », puis affiche automatiquement cette suggestion. Cela peut augmenter énormément votre productivité, surtout lorsque vous êtes plus à l’aise avec le code et pouvez interpréter les suggestions de l’IA. Mais encore une fois, vous devez au moins posséder une compréhension de base de la programmation pour déterminer si la suggestion est raisonnable. Si vous lui faites aveuglément confiance, vous pourriez accepter du code qui ne fait pas ce que vous voulez.

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Si vous observez un codeur expérimenté, vous remarquerez que la moitié de son travail consiste à réfléchir à ce que le code doit faire, à planifier la logique et à comprendre comment les composants interagissent entre eux. Écrire le code lui-même ne représente qu’une petite partie du travail. Voilà pourquoi des outils comme ChatGPT et les autres moteurs de complétion de code peuvent être aussi puissants. Ils accélèrent la partie mécanique de la programmation et vous permettent de vous concentrer sur son côté créatif et logique. Mais vous devez absolument comprendre que vous dirigez toujours le navire.

Les grands modèles de langage ne sont évidemment pas parfaits. Ils génèrent parfois du code qui semble plausible, mais cache des défauts, ou ils interprètent mal votre question. Ils ignorent aussi tout ce qui ne figurait pas dans leurs données d’entraînement. Si vous demandez du code pour des librairies ou des frameworks très récents, il pourrait leur manquer du contexte. Du point de vue de la sécurité, vous devez aussi faire attention si votre code ou vos données sont sensibles. Ne partagez jamais vos mots de passe ou les données personnelles de vos clients dans un prompt envoyé à une IA publique. N’oubliez pas non plus que les données d’entraînement de l’IA peuvent contenir du code associé à des problèmes de licence ou à des pratiques discutables. Vérifiez donc toujours soigneusement tout ce qui est critique ou destiné à un contexte professionnel.

Ces inconvénients ne devraient toutefois pas vous empêcher d’utiliser des LLMs pendant votre apprentissage. Comme avec n’importe quel outil, vous devez apprendre leurs forces et leurs faiblesses. Il reste assez incroyable de voir à quelle vitesse vous pouvez générer des prototypes, obtenir des explications ou découvrir une nouvelle approche à un problème en interagissant avec l’IA. L’approche top-down devient beaucoup plus accessible et amusante lorsque vous avez un tuteur IA juste à côté pour vous guider. Autrefois, il aurait fallu vous fier à un énorme manuel ou parcourir des centaines de pages Web dans l’espoir de trouver une explication qui corresponde exactement à votre situation. Maintenant, vous pouvez simplement dire : « Explique cette erreur. Corrige maintenant le code. Ajoute maintenant cette nouvelle fonctionnalité », puis regarder le modèle s’adapter.

Autre aspect génial : si vous voulez éventuellement apprendre les bases de façon plus systématique, avec une approche bottom-up, l’IA peut toujours vous aider. Vous pouvez lui demander : « Enseigne-moi les variables » ou « Explique-moi ce qu’est une boucle en Python avec trois exemples. » Elle vous guidera avec plaisir. Je lui pose moi-même constamment des questions sur les nouveaux sujets que j’apprends. Vous êtes donc libre de passer de l’exploration top-down aux bases bottom-up quand vous le voulez. C’est très pratique, puisque chaque personne apprend différemment. Certains préfèrent voir d’abord le produit fini, puis le décortiquer. D’autres aiment comprendre chaque détail à partir de zéro. Vous pouvez faire les deux, dans l’ordre qui vous convient!

Pour conclure, la programmation combine de façon fascinante la créativité, la logique et la résolution de problèmes. Python est un excellent point de départ parce que sa syntaxe est plus facile à lire et qu’il est extrêmement populaire dans des domaines comme le développement Web, le calcul scientifique, l’analyse de données, l’automatisation et l’IA. Les grands modèles de langage comme ChatGPT et la complétion de code par IA dans les IDE ont transformé notre façon d’apprendre et de pratiquer la programmation. Vous n’êtes plus obligé de lire un énorme manuel du début à la fin avant de commencer, même si cela peut parfois être intéressant, amusant et certainement utile. Vous avez maintenant une autre option : construire, explorer et bricoler dès le premier jour, en demandant l’aide de l’IA lorsque vous rencontrez un obstacle. N’oubliez simplement pas que ces nouveaux outils ne sont pas parfaits et peuvent se tromper. Pratiquez toujours le débogage, la vérification et le raffinement et, surtout, cherchez à comprendre votre code. Avec le temps, vous construirez un solide modèle mental du fonctionnement des logiciels, ce qui vous rendra plus autonome et plus confiant dans vos propres projets.

C’est essentiellement notre plan pour ce cours d’introduction à Python pour l’IA. Nous vous encouragerons à plonger directement, à vous amuser en créant de petits programmes et projets et à utiliser ChatGPT ou le LLM de votre choix comme compagnon de programmation. Les prochaines leçons vous guideront à travers les concepts fondamentaux dont vous avez besoin : comment stocker des données dans des variables, parcourir des éléments avec des boucles, gérer la logique conditionnelle, construire de plus grands programmes en organisant le code dans des fonctions et des modules, etc. Pendant ce temps, vous pourrez continuer à demander à l’IA d’expliquer ce que vous ne comprenez pas. Si quelque chose semble mélangeant, vous pouvez même copier et coller vos messages d’erreur et demander : « Hé ChatGPT, que signifie cette erreur et comment puis-je la corriger? » Plus vous le ferez, plus ces idées resteront.

Bienvenue encore une fois dans le monde de la programmation Python. Ce n’est que le début, et j’ai hâte que vous découvriez jusqu’où vous pouvez aller, surtout avec ces outils d’IA à votre disposition. Vous pourrez créer des programmes interactifs plus rapidement que vous ne l’auriez imaginé et voir vos capacités en programmation se développer. J’ai hâte de voir ce que vous créerez dans notre projet final. Avançons une étape à la fois, avec cette combinaison parfaite d’apprentissage traditionnel, d’exploration créative et d’aide de l’IA moderne. Merci d’avoir suivi cette leçon. On se retrouve dans la prochaine.

Si vous n’êtes pas encore inscrit, découvrez notre cours Python!

Exemple visuel tiré de L’ère de la « programmation avec ChatGPT »

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Qu’est-ce que la programmation avec ChatGPT?

Elle consiste à utiliser ChatGPT comme assistant de programmation tout en apprenant la logique, la structure et le débogage derrière le programme.

Les débutants peuvent-ils apprendre la programmation avec ChatGPT?

Oui, s’ils l’utilisent pour obtenir des explications, tester et itérer, et non pour remplacer la compréhension du fonctionnement du code.

À quoi les débutants doivent-ils faire attention?

N’acceptez pas aveuglément le code généré. Exécutez-le, lisez-le, brisez-le et demandez pourquoi chaque étape existe.

Quelles bases les programmeurs aidés par l’IA doivent-ils tout de même apprendre?

Les variables, les types de données, les conditions, les boucles, les fonctions, les modules, le débogage et la structure des programmes demeurent essentiels.

Pourquoi la pratique de la programmation améliore-t-elle la résolution de problèmes?

Elle vous entraîne à décomposer vos objectifs, à énoncer vos hypothèses, à tester les comportements et à retracer systématiquement les causes des erreurs.

Comment ChatGPT peut-il aider à déboguer le code d’un débutant?

Partagez l’erreur et le code pertinent, demandez une explication et une correction proposée, puis exécutez le changement et vérifiez ce qu’il a réellement fait.