Coder avec ChatGPT, 5 limitations à garder à l'esprit

Dec 20 2022
Dans cet article, nous examinerons les limitations de ChatGPT et leur impact sur sa capacité à générer des applications complètes en une seule fois ! Nous avons tous vu des vidéos en ligne de personnes excitées ou terrifiées par la capacité de ChatGPT à générer du code. Mais très peu ont pris le temps de lire le code et de l'exécuter.

Dans cet article, nous examinerons les limitations de ChatGPT et leur impact sur sa capacité à générer des applications complètes en une seule fois !

Nous avons tous vu des vidéos en ligne de personnes excitées ou terrifiées par la capacité de ChatGPT à générer du code. Mais très peu ont pris le temps de lire le code et de l'exécuter. Et c'est le hic… La plupart du code généré est au mieux sous-optimal (pour les tâches de base) ; le plus souvent, le code ne passera pas la phase d'exécution.

Exemple de jouet simple, ce texte est-il un palindrome ?

Soyons justes, pour des exemples de jouets bien connus, ChatGPT fera l'affaire ! Les principales conditions pour que cela fonctionne sont :

  1. Implémenter une fonction bien définie.
  2. Le code tient en quelques lignes.
  3. ChatGPT codant une fonction palindrome avec quelques cas de test dans une sortie.
ChatGPT codant une fonction palindrome avec quelques cas de test dans une sortie - Version Colab.

Oui! Il le fait sans aucun changement de ma part! Pour ces cas simples, pour la plupart pédagogiques, ChatGPT s'avère être un assistant pédagogique très fiable !

ChatGPT peut être un assistant très puissant à condition que vous sachiez ce que vous voulez et que vous sachiez comment le demander

Encore un exemple simple : construire une application tic tac toe HTML, CSS & Javascript

C'est encore un exemple de jouet. Pourtant, cela s'avère difficile pour ChatGPT.

Regardons cet exemple : dans la vidéo ci-dessous, Conner Ardman demande à ChatGPT une simple application de tic tac toe avec HTML, CSS et Javascript (donc des trucs très basiques), et pourtant, ChatGPT a du mal à générer du code concis et exploitable. La vidéo ne parvient cependant pas à expliquer pourquoi nous avons tant de mal à construire quelque chose d'efficace en s'appuyant sur GPT3.x en général.

Alors… pourquoi ChatGPT a-t-il du mal avec des tâches aussi simples ? Dans cet article, nous examinerons les limitations de ChatGPT et leur impact sur sa capacité à générer des applications complètes en une seule fois !

GPT3.x Limitations qui entravent sa capacité à créer des applications

Si vous souhaitez en savoir plus sur les lacunes de GPT3.x (et pourquoi il ne remplacera pas Google de sitôt), veuillez consulter cet article :https:///@boredgeeksociety/why-chatgpt-isnt-ready-to-kill-google-yet-b2672e464f82

En ce qui concerne le codage, voici (au moins) 5 limitations à garder à l'esprit :

  • Limitation de la taille des entrées/sorties : GPT3.x est limité à 4 000 jetons pour la somme de l'invite d'entrée et du résultat généré. Je ne suis pas sûr des limites de taille réelles pour ChatGPT, mais il est prudent de dire que vous ne pouvez pas vous attendre à ce qu'il renvoie une application complète si son contenu est trop long. En conséquence, vous pourriez voir le modèle s'arrêter au milieu de sa génération de code (comme cela arrive souvent dans la vidéo).
  • Connaissances récentes limitées — Versions obsolètes : Les modèles de langage s'appuient sur les connaissances massives encodées dans leurs neurones. Leur tâche principale est la complétion de texte ; ainsi, lorsqu'on leur demande de créer une application, ils s'appuieront naturellement sur le code similaire le plus vu, qui est probablement ancien. Par conséquent, il s'appuiera souvent sur des versions, des définitions de bibliothèques et des fonctionnalités plus anciennes. Si vous avez besoin d'une version récente, vous devrez la demander spécifiquement dans l'invite (en supposant qu'elle soit disponible dans ses bases de connaissances. N'oubliez pas que les connaissances de GPT3.x sont limitées à juin 2021. Toute mise à jour de la bibliothèque ou du framework qui s'est produite après cette date, est inconnu du modèle de langage !
  • Connaissances récentes limitées — Points de terminaison obsolètes : si vous créez une application qui s'appuie sur des points de terminaison d'API, il est très probable que vous obtiendrez des points de terminaison obsolètes. Mêmes raisons que le point précédent, c'est-à-dire que le modèle de langage n'a aucune connaissance au-delà d'une certaine date limite. Vous devrez modifier le code pour adapter les définitions de points de terminaison utilisées .
  • Problèmes d'optimisation : Les modèles de langage ne vous fourniront pas nativement un code optimisé ; ils ne sont pas censés coder en premier lieu ! Il s'agit toujours d'un modèle de complétion de texte, et le code… est du texte. Si l'optimisation est importante pour la tâche à accomplir, vous devrez soit mettre à jour le code généré vous-même, soit demander au modèle d'optimiser le code d'une certaine manière. Dans tous les cas, vous devez savoir ce que vous recherchez.
  • Hallucination : si l'invite n'est pas assez précise, le modèle créera des raccourcis et renverra un code avec des fonctions indéfinies censées résoudre des parties du problème (ou qui ne devraient pas être là en premier lieu). Vous devrez demander des détails sur ces fonctions ou les implémenter vous-même lorsque cela a du sens.

Mots de clôture

Tous ces problèmes peuvent être atténués, à condition que nous nous appuyions sur les meilleures pratiques d'ingénierie logicielle (par exemple, les fichiers et l'architecture modulaires).

En fait, ChatGPT peut être un assistant très puissant à condition que vous sachiez ce que vous voulez et que vous sachiez comment le demander. Mais cela ne générera pas une application complète dès le départ.

Dans le prochain article, nous nous appuierons sur ChatGPT et sur les meilleures pratiques d'ingénierie logicielle pour créer une application python. Restez à l'écoute ;)!

Si vous avez aimé ce post, pensez à nous soutenir : applaudissez et suivez