ChatGPT : le bon outil pour la bonne tâche

mars 14, 2023

Malgré le battage médiatique excessif autour de ChatGPT, il peut s’avérer justifié, du moins pour les développeurs. À la vitesse à laquelle apparaissent de nouveaux frameworks, de nouvelles plates-formes et même de nouveaux langages, il devient difficile de suivre le rythme. 

ChatGPT pourrait être le « remède » à cette situation difficile. Avec ChatGPT comme guide, j’apprends Python plus vite que tout ce que j’ai pu apprendre au cours de ma vie. 

J’ai décidé de m’appuyer principalement sur ChatGPT, mais j’ai utilisé des documents supplémentaires pour vérifier ses conseils. L’une des difficultés pour se lancer est que l’on ne sait pas (ou pas encore) ce que l’on ignore. J’ai donc commencé par l’invite suivante : « Quels sont les principes et les concepts de base que je dois apprendre pour maîtriser Python ? » 

En l’espace de deux semaines, je suis passé d’une connaissance nulle de Python, sans parler de ChatGPT, à la création d’une application web de base à l’aide de Flask et Bootstrap. Obtenir des prévisions météo à partir d’une API publique, en les faisant passer par le modèle « text-DaVinci-003 » d’OpenAI, qui restitue les rapports sous forme de textes à consonance remarquablement humaine. 

Bien que cette version moderne de l’application « hello world » soit simplifiée, elle illustre bien l’ensemble des compétences de base nécessaires à l’élaboration de solutions avec intégration d’API. Elle sert également de toile de fond familière à la situation presque surréaliste que représente le fait d’apprendre pour la première fois avec ChatGPT. 

Le soutien qu’il m’a apporté, faute de terme plus adéquat, a été incroyable. Je l’ai assailli de questions et l’ai harcelé pour obtenir des conseils. À chaque étape, j’ai pu compter sur lui. En m’expliquant quelles étaient mes possibilités de choix de serveur et de framework, en me montrant comment organiser mes dossiers et mes fichiers pour une installation typique de Flask, en répondant à mes doutes, en expliquant les sujets que je ne comprenais pas bien, et enfin en me fournissant des exemples de code très utiles. 

Comme vous le verrez plus loin, cela n’a pas été sans accrocs, mais dans l’ensemble, je suis convaincu. Je m’attends à ce que cet outil (et d’autres semblables) devienne ma méthode de travail de fait à l’avenir. 

Là où ChatGPT a dépassé mes attentes

La capacité de ChatGPT à fournir du code est probablement sa caractéristique la plus connue des développeurs, mais ce qui ressort vraiment, c’est sa capacité à répondre aux questions complémentaires. Aussi simple (ou stupide) que cela puisse paraître, combien de fois avez-vous lu quelque chose et découvert que vous aviez des questions auxquelles le texte ne répondait pas directement, sans parler de savoir où commencer à chercher des éclaircissements dans la documentation ? J’ai passé beaucoup trop d’heures dans ma carrière à faire ce genre de recherches supplémentaires. 

L’arrivée de ChatGPT sur le marché a mis fin à cette situation. Le fait que je puisse simplement demander : « Tu veux dire « x » ou « y » quand tu parles de « z » ? » m’a déjà fait gagner un temps fou. La capacité à poser une série de questions connexes est un véritable facteur de transformation en matière d’apprentissage. Nous sommes entrés dans l’ère de la documentation vivante. C’est comme si vous aviez à votre disposition un mentor et une énorme équipe de recherche. 

« Doit être amélioré »

Bien que cette expérience ait été incroyable, il est important de noter que ce parcours n’a pas toujours été sans heurts. L’un des facteurs est la popularité croissante de ChatGPT. Au cours de ce processus, j’ai soudainement commencé à recevoir des messages « Capacité insuffisante ». J’ai dû passer à un compte payant pour m’assurer de conserver l’accès. Mais cela met en évidence un point essentiel : pour intégrer cet outil à votre activité habituelle, vous devez disposer d’un compte payant. Ils ont récemment introduit ChatGPT Plus pour 20 $ par mois, ce qui, à mon avis, en vaut vraiment la peine.

N’utilisez pas ChatGPT… pour coder

La production d’échantillons de codage longs est l’un des points sur lesquels le ChatGPT a rencontré des difficultés. Lorsque les solutions dépassaient 50 lignes, elles comportaient presque toujours une erreur. Peut-être était-ce dû à la charge qu’il subissait ou aux politiques explicites d’OpenAI, mais comme je l’ai appris depuis, je n’aurais pas dû demander à ChatGPT des solutions de codage complexes. C’est là que le modèle «code-DaVinci-002» d’OpenAI entre en jeu. ChatGPT a été entraîné à partir d’une grande quantité d’informations textuelles afin de fournir des réponses en langage naturel. Cependant, la documentation d’OpenAI le précise clairement :« La série du modèle Codex est un descendant de notre série GPT-3 qui a été entraînée à la fois sur le langage naturel et sur des milliards de lignes de code. » (c’est moi qui souligne)

ChatGPT est excellent pour les courts exemples de code explicatifs qui vous aident à comprendre les concepts ou la syntaxe avec lesquels vous n’êtes pas famili(er)(ère). Mais pour le codage quotidien, nous devrons nous familiariser avec l’utilisation des modèles du codex. Ils requièrent davantage de savoir-faire, mais cela s’accompagne d’un degré de contrôle beaucoup plus fin et d’un répertoire de connaissances plus approfondi en matière de codage.

La clé du succès : « la conception des demandes »

Pour tirer le plein potentiel d’outils d’IA tels que ChatGPT, vous devrez perfectionner vos compétences en matière de «conception des demandes». La capacité à élaborer avec soin ce que vous leur demandez sera ce qui différenciera les utilisateurs moyens de ceux qui pourront utiliser pleinement leur puissance. N’ayez crainte, OpenAI fournit une tonne d’exemples sur son site pour vous aider à démarrer. Vous pouvez même affiner vos compétences dans un espace qu’ils ont mis en place, qui offre un contrôle plus nuancé, tel que la « température » de la réponse. Une mesure de la créativité de l’IA lorsqu’elle génère ses réponses. L’utilisation des modèles du codex dans les espaces dédiés, où je peux ajuster ces valeurs, aurait permis d’éviter les problèmes que j’ai rencontrés avec les exemples de codage de ChatGPT.

Conclusions

Jusqu’à présent, cette expérience a été fantastique et m’a ouvert les yeux, et j’ai vraiment hâte de voir jusqu’où ChatGPT et d’autres outils d’IA comme lui peuvent être poussés. Nous sommes à un point d’inflexion dans notre métier et dans l’apprentissage en général. Pour rester dans la course, nous devrons nous réinventer et réinventer notre approche de pratiquement tous les aspects de notre travail. Heureusement, ChatGPT sera là pour nous guider. 

 

(1)  Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners 2nd Edition

10 Visual Studio Code extensions for Python development

OpenAI Overview

Advanced ChatGPT Guide – How to build your own Chat GPT Site

Getting Started with GitHub AutoPilot

For Globant Employees: Globant U chatGPT Training

Flask QuickStart

(2) Python Documentation

(3) Open Weather API 

(4) OpenAI’s introduction to Codex models

(5) Example of codex model prompting in OpenAI’s playground

Quelques-unes des capacités du codex dont OpenAI vante les mérites : « Transformer les commentaires en code, achever votre prochaine ligne ou fonction dans son contexte, vous apporter des connaissances, comme trouver une bibliothèque utile ou un appel d’API pour une application, ajouter des commentaires, réécrire le code pour plus d’efficacité »

Abonnez-vous à notre newsletter

Recevez les dernières nouvelles, les articles sélectionnés et les derniers faits saillants de notre part. Nous ne vous spammerons jamais, promis.

En savoir plus sur ,

Le Data & AI Studio exploite la puissance du Big Data et de l'intelligence artificielle pour créer de nouvelles expériences et de meilleurs services. Il va au-delà de l'extraction de valeur des données et de l'automatisation. Notre objectif est de fournir aux clients un avantage concurrentiel en libérant la véritable valeur des données et de l'IA pour créer des décisions professionnelles pertinentes, exploitables et opportunes.