ELEPHANT technologies, l’ESN locale et à taille humaine spécialisée sur 2 métiers : le développement et le pilotage autour de 4 expertises : hardware, embarqué, software et web.
Aujourd’hui, retrouvez Gaël notre elephantgénieur logiciel et scrum master, qui nous parle de ChatGPT et nous montre l’interaction qu’il a eu avec cet outil.
Let’s go !
Après DALL-E, un outil générant des images à partir de mots clés, l'entreprise OpenAI et ses technologies d'intelligence artificielle continuent de faire le buzz. Leur nouvelle création passionne les internautes, surtout le monde informatique. A force d'en entendre parler, Gaël a donc décidé de tester ChatGPT et de vous en parler.
ChatGPT est un outil qui se présente comme un chat avec une IA entraînée sur une large base de données de textes en tout genre. Ce qui lui permet de générer une réponse, la plus pertinente possible.
Mais pourquoi prendre le temps de vous expliquer ce qu'est ChatGPT alors qu'il suffit à Gaël de lui poser la question ? Il s’est donc rendu sur https://chat.openai.com/ et une fois connecté, nous vous laissons découvrir sa discussion avec ChatGPT :
Gaël : « Présente-toi»
ChatGPT : « Bonjour ! Je suis Assistant, un modèle de langue développé par OpenAI. Je suis conçu pour répondre aux questions et aider à résoudre les problèmes en utilisant les informations que je possède. Je n'ai pas de véritable identité personnelle, mais je suis là pour vous aider de mon mieux. Si vous avez des questions ou avez besoin d'aide, n'hésitez pas à me poser. Je ferai de mon mieux pour vous aider. »
Gaël : « Détaille ta réponse »
ChatGPT : « Je suis Assistant, un modèle de langue développé par OpenAI. Cela signifie que j'ai été conçu et entraîné pour comprendre et générer du texte en utilisant l'apprentissage automatique. J'ai été entraîné sur un grand corpus de textes, ce qui me permet de comprendre les nuances du langage et de répondre aux questions de manière cohérente et utile. Bien que j'aie été conçu pour être un outil de communication, je n'ai pas de véritable identité personnelle et je ne suis pas capable de ressentir des émotions ou de penser de manière autonome.
Mon objectif est de vous aider à trouver des réponses à vos questions et à résoudre vos problèmes de manière efficace, en utilisant les informations et les connaissances que je possède.
Si vous avez des questions ou avez besoin d'aide, n'hésitez pas à me poser. Je ferai de mon mieux pour vous aider. »
Impressionnant n'est-ce pas ? La réponse est complète, pertinente et en français correctement orthographié.
Maintenant que vous avez saisi le potentiel de l'outil, essayons de voir pourquoi il intrigue autant le monde du développement. Gaël va lui demander de lui expliquer un concept du C++ et nous allons voir sa réponse.
Gaël : "Explique les différences entre des Lvalues et Rvalues en C++, avec du code exemple"
ChatGPT : "En C++, les Lvalues (Left Values) et les Rvalues (Right Values) sont des expressions qui peuvent être utilisées à des endroits différents dans le code.
Les Lvalues se réfèrent à des expressions qui peuvent être assignées, tandis que les Rvalues ne peuvent pas être assignées et ne peuvent être utilisées qu'à des fins de lecture.
int x = 5; // x est une Lvalue (une variable)
int y;
y = x; // x est une Lvalue (une variable qui peut être assignée)
5 = y; // Erreur de compilation, 5 est une Rvalue (une valeur constante qui ne peut pas être assignée)
int z = y + x; // z est une Rvalue (le résultat de l'expression y + x)
En résumé, les Lvalues sont des expressions qui représentent des emplacements mémoire et qui peuvent être modifiées, tandis que les Rvalues sont des expressions qui représentent des valeurs et qui ne peuvent pas être modifiées."
Une explication relativement claire, du code exemple simple et efficace. Je pourrais lui demander d’aller plus en détail mais l’intérêt pour cet article est limité.
Après plusieurs tests différents (du code python, génération d'un projet utilisant cmake, création d'un projet Qt, bug fix dans un extrait de code...), la conclusion est évidente, l'outil est clairement utilisable pour des besoins de développement et est même réellement bluffant.
On pourrait vouloir tester les limites techniques de cet outil mais Gaël va plutôt tenter de pousser la réflexion sur l'impact que pourrait avoir ChatGPT.
On sent bien que ça arrive petit à petit. Les outils de développement d'analyse de code sont de plus en plus performants et offrent une réelle assistance pour un développement plus performant.
ChatGPT, avec son modèle d'intelligence artificielle surentrainé, arrive comme une bombe et pourrait devenir un outil technique incontournable (RIP Stack Overflow ?). Cela dit une chose importante à prendre en compte est que ChatGPT n’est pas connecté à internet, donc il y a des sujets qui lui échappent, notamment sur des technologies récentes. Le but de cet outil n’est pas de devenir un navigateur web comme Google Chrome.
Aujourd'hui, l'outil a quand même ses limites, il est plus adapté pour des extraits de code courts et isolés. Mais dans le futur, imaginer cette IA analyser des bases de code conséquentes ou générer un projet complexe ne parait pas si loin que ça.
Il faudrait évidemment faire très attention, même si le code produit semble correct, il peut toujours y avoir des erreurs cachées ou un bug très subtil. Une vérification resterait nécessaire mais cela pourrait être une alternative très intéressante pour de la production de code fastidieux.
Nous vous invitons donc réellement à tester l'outil tant qu’il est gratuit d’accès pour vous faire votre propre avis.
🐘 Nous remercions Gaël pour son article, en espérant que nous vous avons donné envie de tester ChatGPT. Si vous souhaitez découvrir d’autres articles techniques, c'est par ici !