Connexion
Abonnez-vous

Stack Overflow vs ChatGPT : le chatbot se plante dans la moitié de ses réponses

AI overflow

Stack Overflow vs ChatGPT : le chatbot se plante dans la moitié de ses réponses

Les entreprises d'IA ciblent notamment le développement logiciel avec la génération de réponses techniques aux problèmes des développeurs et concurrencent des sites comme Stack Overflow. Mais ces outils sont-ils pertinents ?

Le 31 mai à 10h05

« Stack Overflow est-il obsolète ? ». C'est la question que s'est posée la chercheuse de l'université de Purdue aux États-Unis, Samia Kabir avec ses collègues.

Depuis l'arrivée des outils d'IA générative, les fréquentations du site diminuent et les développeurs posent de plus en plus leurs questions techniques à ChatGPT ou à un autre outil similaire. Au point que le site, dans ces conditions inconfortables, signe avec OpenAI un accord laissant l'entreprise de Sam Altman entrainer ses modèles sur les questions/réponses postées depuis des années par ses utilisateurs.

ChatGPT : erroné et bavard

Mais l'analyse de Samia Kabir et de ses collègues – qu'ils viennent de présenter ce mois-ci à la conférence scientifique CHI (Conference on Human Factors in Computing Systems) – montre que 52 % des réponses de ChatGPT contiennent des informations erronées. Plus des trois quarts noient l'information principale dans un flot trop bavard. Au final, 65 % du temps, les participants de l'étude préfèrent les réponses humaines venant de Stack Overflow que celles de ChatGPT.

Les chercheurs de l'université de Purdue ont essentiellement effectué cette étude l'année dernière en se basant sur la version de ChatGPT intégrant GPT-3.5. Ils avaient d'ailleurs mis en ligne, sur la plateforme de preprint arXiv, une première version en aout 2023. Mais ils ont, depuis, ajouté une partie testant GPT-4 qui tend à montrer que « le taux d'inexactitude reste élevé avec des types d'erreurs similaires ».

Leur étude s'appuie sur l'analyse des réponses à 517 questions posées sur Stack Overflow et se décompose en trois parties :

    • Une analyse approfondie en « open coding » (entre eux) pour comparer les qualités et l'exactitude des réponses de ChatGPT et de Stack Overflow

    • Une analyse automatique linguistique et de sentiments

    • Des entretiens avec 12 utilisateurs

La partie ajoutée sur GPT-4 se basant sur 21 questions, elle semble moins solide, mais permet de jauger un peu la tendance.

La plupart des erreurs de ChatGPT sont d'ordre conceptuel

Ces chercheurs ne se sont pas seulement demandés si les réponses de ChatGPT étaient erronées ou pas. Mais ils sont allés plus loin en catégorisant l'erreur. À 54 %, la réponse fausse générée par ChatGPT comportait une erreur conceptuelle, à 36 % une erreur factuelle, à 28 % de code et à 12 % de terminologie (évidemment, une réponse pouvant être erronée de plusieurs façons en même temps, la somme ici fait plus de 100 %).

Dans leur catégorisation, l'erreur conceptuelle correspond à une réponse inadaptée à la question posée. Ce qu'ils appellent une « erreur factuelle » est, par exemple, quand la réponse générée affirme qu'une certaine API peut résoudre un problème alors que ce n'est pas le cas. L'erreur de code est bêtement quand le code ne fonctionne pas. Et enfin, une erreur de terminologie correspond, par exemple, à une réponse avec un header en Perl pour du code en Python.

Ils ont observé que la plupart des erreurs de code sont des problèmes de « mauvaise logique » (à 48 %). Viennent ensuite les mauvais usages de fonctions, API et bibliothèques à 39 %. Dans 11 % des erreurs, le code généré est incomplet. Enfin, seulement 2 % des erreurs de ChatGPT sont des erreurs de syntaxe.

Plus de 75 % des réponses de ChatGPT incohérentes avec celles des humains

Les chercheurs ont calculé que 78 % des réponses de ChatGPT sont « incohérentes » avec celles données par les humains sur Stack Overflow. Dans ses réponses, le modèle de langage ne donne ainsi pas les mêmes informations que les utilisateurs du site.

Mais attention : cela ne veut pas dire que ces réponses sont incorrectes, puisqu'il y a de multiples façons de corriger un bug ou de résoudre un problème. Dans ces incohérences, les chercheurs mettent aussi dans le panier le nombre de solutions données : « ChatGPT fournit souvent de nombreuses solutions supplémentaires pour résoudre un problème », expliquent-ils.

Les réponses de ChatGPT véhiculent plus de « confiance » en elles-mêmes

En faisant l'analyse linguistique des réponses, Samia Kabir et son équipe se sont aperçus que les réponses de ChatGPT utilisent un style de langage différent de celles des humains. Elles « contiennent plus de mots liés à la pensée analytique et aux expressions de confiance ».

« Cela indique que les réponses de ChatGPT communiquent une compréhension plus abstraite et cognitive du sujet de la réponse, et que le style de langage est plus influent et confiant », remarquent-ils, alors qu'on a vu plus haut que la plupart des erreurs du chatbot étaient d'ordre conceptuel.

Dans l'analyse des sentiments, les réponses de ChatGPT sont plus souvent positives (à 85 %) que celles postées sur Stack Overflow (73 %) et moins neutres (14,5 % contre 25,5 %, respectivement). ChatGPT ne fait, par contre, quasiment aucune réponse négative (2 sur 2000) alors qu'il y a 1 % de réponses de Stack Overflow avec des sentiments négatifs dans leur échantillon.

Les réponses de ChatGPT identifiables par un humain

Enfin, ces chercheurs ont sondé 12 personnes ayant des compétences en programmation à propos des réponses de ChatGPT et de Stack Overflow.

En premier lieu, ils ont repéré à 81 % du temps que les réponses étaient générées par la machine, en se basant notamment sur le langage formel, l'écriture structurée, la longueur de la réponse ou des erreurs inhabituelles. Ils ont repéré à 61 % du temps « seulement » les réponses incorrectes de l'IA.

Ils ont préféré à 65 % les réponses de Stack Overflow. Mais quand ils ont préféré les réponses de ChatGPT, 77 % du temps, elles étaient en fait incorrectes.

Les « codebooks » et données des chercheurs sont disponibles sur GitHub.

Commentaires (69)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
Quel intérêt de comparer Stack Overflow où l'on a des spécialistes qui répondent à ChatGPT qui n'est pas spécialisé pour répondre sur le code ?

L'étude aurait comparé à Copilot pour le code ou autre outil spécialisé du même type, elle aurait une valeur.

Si l'on voulait comparer ChatGPT à des humains, il aurait mieux valu le comparer aux réponses des piliers du troquet du coin.
votre avatar
Ca va faire deux ans qu'on parle des LLM, et j'ai l'impression qu'on ne comprend toujours pas la diff entre GPT et ChatGPT.

Perso ça me lasse.
votre avatar
Tu parles des GUID Partition Table ? 😁
votre avatar
Sauf que Copilot ne répond pas à des questions, comme l'expliquent bien les auteurs de l'étude :

"One of the main advantages of ChatGPT over GitHub Copilot is that ChatGPT works as a conversational chatbot that allows users to ask questions and give feedback beyond code completion. For instance, programmers can ask a conceptual question about a data type used in a program, ask for a code explanation, and ask how to fix an error message".

Ils renvoient aussi à cet article pour expliquer que les développeurs utilisent réellement ChatGPT mais pas pour les mêmes raisons que Copilot : https://www.itprotoday.com/development-techniques-and-management/github-copilot-vs-chatgpt-which-tool-better-software
votre avatar
Copilot a depuis quelques temps un chat de disponible. De même que Jetbrains AI.
votre avatar
Ok, mais la recherche prend du temps et de même pour l'adoption et l'adaptation des pratiques...
votre avatar
Oui oui, c'était juste pour corriger le fait que ces solutions ont maintenant un chat depuis quelques temps. Je me doute bien que l'étude a été lancée avant cela :)
votre avatar
D'ordre générale, une étude qui évoque GPT 3.5 est à prendre avec du recul pour moi. Ce modèle est dépassé, c'est donc une information à prendre en compte quand on met en avant les résultats de celle-ci.

Et oui, la recherche prend du temps et a du mal à suivre la vitesse à laquelle les modèles évoluent. Chaque jour on a une actualité dans le domaine qui parle du nouveau modèle TopMoumoutx64b parameters qui poutre tout et se fait détrôner le lendemain par un autre.

C'est donc quelque chose à garder en tête lorsqu'on traite le sujet.

Là c'est comme si on me disait que le moteur de rendu de IE6 est moins performant dans les benchmark de 2024. Normal, c'est un produit obsolète (presque depuis sa naissance histoire d'anticiper le troll).
votre avatar
On peut le voir autrement aussi : Pourquoi utiliser un truc qui n'est même pas correctement évalué et dont on ne connaît pas les perfs réelles ? ;)
votre avatar
Si cette étude est là pour montrer que le problème est dans l'interface chaise clavier qui cherche à utiliser le mauvais outil, OK. Mais ça ne ressort pas de l'article.
votre avatar
Elle est là pour montrer à la personne qui est entre la chaise et le clavier ce qui peut l'aider...

Je ne me suis peut-être pas mis à la place de Fred42 mais est-ce que Fred42 s'est mis à la place de quelqu'un qui utilise ChatGPT pour répondre à ses questions de code (comme beaucoup de devs) ?
votre avatar
quelqu'un qui utilise ChatGPT (comme beaucoup de devs)
Quelle est la source de cette affirmation ?
Je n'ai rien vu de tel dans l'étude.

Franchement, quelqu'un qui utilise un perroquet statistique pour écrire du code est-il un dev ? Si oui, est-il un bon dev ?
votre avatar
Je parle de "là", dans le sens ici dans Next. Bref, j'explique ma décision de publier sur cette étude. Je pense qu'effectivement ce n'est pas dans l'étude que tu trouveras l'info ;)
votre avatar
Tout à fait, je suis impressionné par le nombre de mes collègues qui utilisent ChatGPT pour les aider à résoudre des problèmes de code :stress:
votre avatar
Je suis d'accord avec ton commentaire. Mais je le nuancerai toutefois en appuyant le fait que cette étude reste pertinente, car beaucoup de dev utilisent encore seulement ChatGPT au lieu de solutions plus adaptées (Copilot, Jetbrains AI, etc). Principalement pour des raisons de coûts pour les entreprisesn ChatGPT étant librement accessible.

Donc avoir ce type d'étude permet de faire redescendre le soufflet autour de l'utilisation que certains en font (j'en connais qui font une confiance quasi aveugle à ChatGPT pour les questions techniques...).

Edit : mauvais ciblage de ma réponse. Elle répond au commentaire de @fred42
votre avatar
Même question qu'à l'auteur de l'article : tu as des sources sur ton affirmation ?

Remarque : ta réponse me répondait bien. (Truc pour le voir : une réponse de niveau 2 (ou plus) à un commentaire cite le début du commentaire auquel elle répond. Ce n'est pas le cas d'une réponse de niveau 1 comme la tienne)
votre avatar
une réponse de niveau 2 à un commentaire cite le début du commentaire auquel elle répond. Ce n'est pas le cas d'une réponse de niveau 1 comme la tienne
Qu'appelles-tu "une réponse de niveau 1 ou 2" ?
votre avatar
Il y a les commentaires qui ne répondent à aucun autre : ils ont des numéros entiers sans point : 1, 2, ...,9, 10, 11, etc.
Ensuite il y a ce que j'appelle réponse de niveau 1 : les réponses aux commentaires dont je parle juste au-dessus.
Les réponses de niveau 2 (et plus) répondent à des commentaires qui sont eux aussi des réponses. Et j'incrémente le niveau de 1 à chaque fois que l'on a un niveau de réponse supplémentaire.
Toutes ces réponses sont numérotées avec un point de séparation : à gauche du point, on trouve le numéro du commentaire qui correspond à ma première phrase et à gauche du point, il y a un numéro d'ordre croissant tout niveau de réponse confondu.

J'expliquais donc comment savoir à quel commentaire répond un commentaire de type réponse : s'il n'y a pas de citation, c'est une réponse au commentaire dont le numéro est à gauche du point (c'est ce que j'appelle réponse de niveau 1) et s'il y a une citation, on peut retrouver le commentaire parce que l'on a le début de son contenu dans la citation).

Mais j'ai peur de t'avoir à nouveau perdu...
votre avatar
Ok. Tu aurais pu résumer ça en 1 phase. J'allais te remercier pour tous ces détails mais ...
Mais j'ai peur de t'avoir à nouveau perdu...
... je pourrais mal le prendre... Une chance, je ne suis pas susceptible :mrgreen:
votre avatar
C'est plutôt que je n'étais pas très content de mes explications.
votre avatar
Les sources ce sont les clients et les presta avec qui je travaille :)

Je généralise certes mais ça reste assez représentatif amha.
votre avatar
Peut être parce que c'est un de ses usages, et que l'utilisation de SO pour permettre de répondre à des demandes sur du code a été mise en avant par OpenAI ?
Quoiqu'il en soit, Copilot se base sur GPT-4 tout comme ChatGPT, même s'il est adapté pour le code, il faut s'attendre à ce qu'il présente les mêmes travers (quantitativement moindres, mais sans que ce soit suffisant pour se reposer dessus). D'ailleurs Copilot produit aussi régulièrement de belles bouses.
votre avatar
En l'état, depuis 3 ans tous les stagiaires en développement logiciel que j'ai eu utilise massivement ChatGPT et délaisse complètement Stack Overflow.

De mon côté l'étude me paraît donc intéressante.
votre avatar
Je trouve que ChatGPT peut dégrossir une question, ou aller plus vite pour faire une merdouille rapide en Python qui prendrait plus de temps en le faisant soi-même (en tant que non codeur :p)

Après, il ne remplace pas un codeur professionnel, mais ce n'est pas du tout ce pour quoi il est fait, donc en quoi est-ce étonnant... ?
votre avatar
Pareil. J'utilise ChatGPT ou MistralAI pour poser des questions de code. C'est rarement bon du premier coup mais ce n'est pas très grave. Je corrige de moi-même ou sinon je passe à une recherche plus classique sur internet si je vois qu'il à côté de la plaque. (pb conceptuel)

Edit : en fait, mon code est rarement bon du premier coup également. Donc avoir du code qui ne fonctionne pas, comprendre pourquoi et le corriger ben c'est un peu ce que je fais depuis le début, IA ou pas
votre avatar
Le problème, c'est quand ce type d'outil est utilisé par des étudiants : ils n'ont pas le recul pour juger de la qualité d'une proposition de l'IA, et du coup, ils ne l'acquièrent pas et restent toujours au même niveau. Ces outils (d'ailleurs, c'est déjà le cas avec le site SO, ou la recherche Internet à l'ancienne), ça nécessite d'être capable de comprendre une réponse proposée, de la qualifier et de savoir ce qu'il faut en faire (refuser/accepter, adapter comment, etc.).
votre avatar
Si ça se trouve, tu n'es même pas un humain comme tu le penses, tu es une IA :D :D
votre avatar
Plait-il ?
votre avatar
Les codeurs, ce sont des éléments électroniques qui codent (et décodent) un signal. Le développeur, ou le programmeur, écrit du code.
votre avatar
On ne dit pas programmateur ? :D
votre avatar
Programmateur HTML.
votre avatar
Un "codeur", c'est l'équivalent d'un "pisseur de code", il ne fait que produire du code sans réfléchir, sans comprendre, sans faire d'algorithmique, sans réfléchir aux structures de données, à l'architecture, à la différence du vrai programmeur.
votre avatar
Dans le temps, c'est ça qu'on appelait un programmeur, par opposition à un analyste qui pensait comment concevoir le programme et qui confiait ce travail au programmeur.

Après on a parlé d'analyste-programmeur qui faisait les 2 tâches.
votre avatar
Je sais, mais en réalité, codeur est un mot qui a une signification totalement différente d'un pisseur de code, et ça m'énerve au plus haut point de voir ce terme repris partout (jusqu'à l'éduc nat) alors que c'est limite une insulte pour celles et ceux pour qui l'informatique est un métier, en particulier en développement logiciel.
votre avatar
Ceux que je vois utiliser ce terme sont essentiellement dans deux catégories :
-- ceux qui sont du domaine et ont conscience de l'aspect pissage de code sous entendu.
-- ceux qui n'y connaissent rien mais ont bien compris qu'il faut dire "coder" et non "programmer" pour faire semblant d'être dans le coup.
votre avatar
L'analyse sur le sentiment est intéressant : le miroir aux alouettes de la "politesse" d'une machine générative de texte pensée pour ne pas heurter (la forme) risque de compter bien plus que la pertinence ou l'exactitude de la réponse (le fond).

Comme d'habitude, nous, chers humains, adorons prioriser la forme sur le fond, alors que l'on se réclame pragmatiques, ce que nous ne sommes pas.

Ma prédiction, basée sur l'expérience de vie et l'observation de mes pairs : comme d'habitude, la forme prendra le pas sur le fond, et les utilisateurs d'un robot conversationnel continueront de l'utiliser, et de pousser pour l'utiliser quand bien même ils en retirent de la merde.
Il préfèreront recevoir de la merde et produire de la merde plutôt que de voir leur ego froissé par un autre humain qui accueillera parfois un peu vertement leur flemme, par exemple en les enjoignant de mieux creuser la question avant de la poser.
Nous sommes finalement, bien plus souvent que nous souhaitons l'admettre, capricieux, douillets, incohérents et non-constructifs.
votre avatar
Comme d'habitude, nous, chers humains, adorons prioriser la forme sur le fond, alors que l'on se réclame pragmatiques, ce que nous ne sommes pas.
Je pense que la popularité d'un Bardella ou d'un Attal (présentent bien, mais creux comme des radis) illustre malheureusement très bien ta phrase.
votre avatar
Si tes radis sont creux, c'est parce qu'ils ont eu trop chaud. Il faut planter plus tôt en saison.
votre avatar
Un peu perplexe face à la pertinence du choix de cet article, et de ce qui est attendu d'en démontrer, à la fois côté chercheurs, à la fois côté journaliste pour cette mise en avant.

La chercheuse principale ne semble pas spécialement être spécialisée sur le sujet, à un faible track record, n'a pas l'air d'avoir de publication citée dans d'autres travaux, sans parler du point soulevé par fred42. Le GitHub associé est relativement inexploitable, avec une bonne partie de documents dans des fichiers word qu'il faut télécharger, autant tout mettre sur un Onedrive qui aura une visionneuse intégrée honnêtement.

Alors, oui, ok, le titre de l'étude est prometteur d'un point de vue buzz (putaclic ?), mais c'est vide. Qu'est-ce qu'on apprend ?
- ChatGPT est bavard ? Oui, c'est son but. On peut lui donner des instructions en premier lieu pour lui demander d'adapter son format de réponse, dans un style SO s'il y a besoin. Certains contributeurs sont eux aussi particulièrement prolixes dans leurs réponses, et c'est généralement bien accepté.
- ChatGPT fait des erreurs ? On ne comptera plus celles de SO, honnêtement. Heureusement que le système d'upvote permet de qualifier/valider les réponses apportées.
- Un développeur habitué à ChatGPT et SO peut, sans trop se tromper, identifier des réponses des plateformes ? Waow.
votre avatar
Je vous propose d'écrire une review de la présentation scientifique au board de la Conference on Human Factors in Computing Systems ;)

De mon côté, je trouve cet article très intéressant. Et ce n'est pas le côté putaclic qui m'intéresse.

Par contre, si on se pose un peu et qu'on regarde le fait que la plupart des erreurs sont d'ordre conceptuel, ça va dans le sens de modèles de langage qui font très bien des tâches assez classiques et répétitives (syntaxes etc) et beaucoup moins « intellectuelles » comme la conception logicielle. Bref, ça reste des machines :)
votre avatar
Quant au CV de la jeune chercheuse Samia Kabir, il est plutôt cohérent avec le sujet https://samiakabir.com/papers/
votre avatar
Par contre, si on se pose un peu et qu'on regarde le fait que la plupart des erreurs sont d'ordre conceptuel, ça va dans le sens de modèles de langage qui font très bien des tâches assez classiques et répétitives (syntaxes etc) et beaucoup moins « intellectuelles » comme la conception logicielle. Bref, ça reste des machines :)
Bah on compare ChatGPT, généraliste et qui doit grosso modo avoir un niveau d'étudiant à la fac sur ces sujets, à des professionnels qui ont une légitimité (expertise, expérience ...) sur des sujets pointus. J'espère bien que l'avantage est aux humains face aux machines.

C'est là que je mets un gros doute sur l'intérêt de ce papier : le choix de la machine. Est-ce que ChatGPT est vraiment la cible à considérer dans une telle étude ?
votre avatar
Comme répondu avant : les devs utilisent en masse ChatGPT pour ça. Ici, l'intérêt n'est pas de "savoir lequel a la plus grosse" mais de répondre face à une pratique qui existe en vrai.
votre avatar
Estimer que ChatGPT a le niveau d'un étudiant est une énorme approximation : le comparer à un humain est à mon sens une erreur, c'est un outil statistique avant tout.
A l'inverse les humains qui répondent sur Stack Overflow peuvent se tromper, aussi :ouioui:

L'étude est intéressante à mon avis parce qu'elle aborde l'aspect statistique des réponses sur le fond et sur la forme, qui correspond à l'usage qu'en font des développeurs.

Bref. Merci pour ce papier.
votre avatar
Estimer que ChatGPT a le niveau d'un étudiant est une énorme approximation : le comparer à un humain est à mon sens une erreur, c'est un outil statistique avant tout.
Donc, il n'existe pas de livre "niveau CP" ? De devoir "de bon niveau pour un 6e" ?
votre avatar
Pardon, mais ça n'a rien à voir :)
Un objet destiné à l'éducation comme un livre est associé à un niveau de connaissance / de compétence, bien sûr, de même qu'un devoir s'évalue en fonction d'un niveau.

Mais on parle d'un outil qui est utilisé par des professionnels (c'est peut-être regrettable, mais c'est un fait) et qui propose des réponses à des questions en s'appuyant sur un apprentissage issu d'un gigantesque corpus contenant du très bon et du très moyen, et dont la valeur ajoutée (et la faiblesse) est un algorithme censé interpréter et s'exprimer en langage naturel : le résultat peut donc être très supérieur à ce qu'en dirait un "étudiant à la fac" et très inférieur (en cas d'incompréhension du problème énoncé).

Vouloir simplifier en parlant de "niveau d'un étudiant à la fac" (ce qui est déjà très flou), me semble assez abusif et non pertinent (no offense).
C'est comme résumer une galaxie à un point sous prétexte que c'est la moyenne des coordonnées de ses éléments observables.
votre avatar
Je trouve que l'étude a un intérêt: montrer que ce n'est pas prêt et pas une bonne solution actuellement.
Le problème de l'IA en ce moment, ce n'est pas l'IA, c'est de la sortir à toutes les sauces, comme la solution géniale.

L'IA permet de faire de belles démos, mais la plupart des projets autour de l'IA font de gros flops ... pas toujours pour les bonnes raisons (entre la résistance au changement, la peur d'être remplacé et en face l'efficacité réelle, pas toujours facile de savoir pourquoi le flop)

Peut-on prendre au piège un LLM? Oui, on aura toujours des limites dans l'apprentissage - comme un humain.
Doit-on considérer que ChatGPT n'est pas adapté? Certainement.
Mais du coup: doit-on attendre qu'il soit meilleur ou un autre LLM fera-t'il mieux actuellement? L'article n'y répond pas.

L'article ne répond pas non plus à ceci: doit-on considérer SO comme une source fiable? Ben ... pas vraiment, sans compter que les réponses de SO, si elles sont trop vieilles, ne sont pas toujours adaptées.
votre avatar
L'illustration de l'article, c'est tout à fait ça, sauf le fait de dormir qui fait caricature.
votre avatar
Il ne faut pas faire attention aux grincheux.
Bientôt on va avoir des fanboys pour les IA comme à la grande époque de Free et d'Apple :mdr:

N'en déplaise donc aux grincheux ChatGPT est principalement utilisé par les plus jeunes d'entre nous (je vous laisse trouver les stats). Son utilisation par rapport à d'autres outils mieux ciblés est principalement une histoire de couts.

Le but de cette étude est simplement de mettre des statistiques sur du ressenti et d'expliquer que l'IA n'est pas intelligente.
Vous pouvez dire que le problème se situe entre la chaise et le clavier si vous voulez, mais si vous voulez convaincre des personnes, il vaut mieux une étude qu'une affirmation.

Bref, merci pour l'article.
votre avatar
Personellement, j'utilise énormément ChatGPT 4o et Copilot pour le développement.

Le premier est très pratique quand on ne sait pas quelque chose. Ça n'est que rarement bon du premier coup, mais en l'orientant, on peut obtenir des choses assez propres. Il permet aussi de se passer des tâches fastidieuses. Par exemple, vous avez une liste de valeurs, à convertir en un énuméré, il fait ça très bien ! On peut même lui demander des structures bien plus complexes en lui donnant l'entrée et la sortir désirée qu'il appliquera à vos 200 valeurs bien plus vite que vous !

Il a aussi l'avantage de bien expliquer ce qu'il fait, ça aide à la compréhension. Ça donne aussi des fois juste des pistes ou des idées pour réaliser quelque chose. Il aide aussi à réaliser de manière assez exhaustive les tests unitaires en proposant des cas de tests pertinents. S'il n'est pas à jour sur quelque chose, il suffit de lui donner le lien vers une documentation à jour pour qu'il l'exploite.

Copilot est quand à lui très utile pour suggérer du code. Il est très lié au contexte et du coup apporte une aide à la saisie non-négligeable. Par exemple, vous ajoutez un console.log() au début de chaque fonction, avec un format donné dont par exemple le nom de la fonction et les valeurs des paramètres passés, il va rapidement le proposer juste en se plaçant à la première ligne de chaque fonction.

Il peut aussi proposer des fonctions à créer. Par exemple, vous avez fait une API get (liste), il va vous proposer un get sur un id, un post, un put, un delete, etc. Et généralement le code est quasiment parfait du premier coup.
Il sait aussi créer les commentaires de code pour la documentation (si vous avez bien nommé vos fonctions, il trouve tout seul quoi mettre, même si les noms sont en anglais et vos commentairs en français).

Bref, ce sont des outils bien pratique pour gagner du temps que ce soit en conception ou en réalisation. J'avoue que j'aurais du mal à m'en passer !
votre avatar
Utiliser ChatGPT pour faire l'équivalent d'un sed, n'est-ce pas un peu surdimensionné ?
votre avatar
Pour m'être battu hier avec sed, que je ne maîtrise pas, même si je le trouve très utile, je peux dire que, oui, ChatGPT peut être bien plus pratique que sed quand on a un besoin ponctuel.
Sinon, ça veut dire qu'on considère que la maîtrise de sed est acquise, ou que le temps passé à apprendre à l'utiliser est forcément pertinent.
Perso, j'adore ce type d'outil, mais il n'est pas forcément utile à tous.
votre avatar
Moi ça me semblait naturel qu'un développeur connaisse déjà sed... Je suis peut-être un peu old school.
votre avatar
Déjà que certains ne sont pas formés à l'utilisation de la ligne de commande et que beaucoup ne connaissent même pas le concept d'expression régulière, je penses en effet qu'il y a une différence entre ta vision du métier de développeur et la réalité du terrain (même si je suis d'accord que ce type d'outils vachement pratiques devraient être appris à l'école, c'est pas ce qui est demandé par les entreprises).
votre avatar
Oui, c'est ce qui me frappe le plus lors des entretiens avec de jeunes développeurs sortant d'école: le manque de connaissance des concepts, voire même de l'existence de ces concepts.

Mais en définitive, ce qui compte vraiment à mes yeux, c'est que les développeurs soient motivés, chercheurs et débrouillards. Qu'ils découvrent l'existence et l'utilité d'une expression régulière par ChatGPT ou à l'école n'a pas d'importance. Il faut juste être conscient que leur travail sera (à priori) moins bon et plus lent que celui d'un développeur expérimenté. C'est d'ailleurs (entre autre) pour ça qu'on les paie moins cher :)
votre avatar
Qu'ils découvrent l'existence et l'utilité d'une expression régulière par ChatGPT ou à l'école n'a pas d'importance.
Et même avant que ChatGPT ne soit à la mode, les développeurs spé copier/merder Stackoverflow ça courrait les rues. Ca copiait des bouts de code, n'avait aucune idée de ce que ça faisait, et perdait du temps à faire un patchwork inefficace.

Tout comme les sites regex prémâchées copier/merder "aucune idée de ce que ça fait" existaient bien avant.

À mes yeux, la branche était en train de ce scier depuis plus d'une décennie. Quand on considère que son métier n'a aucune valeur, il ne faut pas s'étonner que des décisionnaires aient la même approche. Et donc qu'aujourd'hui ils considèrent qu'un demi ETP + GitHub Copilot à 20€/mois c'est plus intéressant que 3 ETP.

Personnellement une chose que j'ai constatée : il n'y a même pas relecture d'un script avant de le lancer. Tu files un script à un junior, il va le lancer sans savoir ce que ça fait. Alors que j'ai toujours eu l'habitude d'ouvrir pour savoir à quoi m'attendre. J'ai pu observer ce genre de chose avec des petits pièges inoffensifs. Du genre fermer la session SSH à la fin de l'exécution. Résultats garantis :yes:

En terme d'usage, l'IA générative pour le dev est idéale pour bootstrap un projet et produire les séquences rébarbatives chiantes et accompagner. Surtout quand les schémas de conception sont eux-même standardisés (rien que là, vous avez la root cause du "l'IA remplace le dev". Si on fait toujours la même chose, automatisation, plus besoin d'humain). Ceci permet au dev de se concentrer sur les parties les plus importantes. Là aussi, le concept ne date pas de l'IA, les IDE qui pouvaient initialiser un projet ça date.

En fait, j'ai surtout l'impression que le boom de l'IA générative n'a fait que mettre en lumière une décennie de lauriers écrasés par un oreiller.
votre avatar
La différence n'est pas entre ma vision du métier et celle du terrain, mais entre la vision de mon terrain et du tien ;-)
Autour de moi, il y a beaucoup de jeunes de 20 ans qui ne jurent que par vim. Alors imaginer des jeunes qui ne connaissent pas la ligne de commande, ça me semble irréel.
votre avatar
Tu marques un point. 😉
votre avatar
Je ne connaissais pas sed, peut-être parce que je ne bosse pas sous Linux (Powertoys me propose un équivalent à installer via winget). C'est pas mal mais je pense que je perdrais plus de temps à écrire la commande qu'à juste demander de le faire à ChatGPT 😅

Et puis il y a d'autres exemples plus complexe que sed aurait du mal à faire, par exemple :
Ecris-moi la classe DTO en .NET correspondant à ce JSON en ajoutant les contrôles de valeur en entrée via les annotations. Et n'oublie pas de documenter les champs !

Balèze à faire avec sed m'est avis ! Mais c'est un gain de temps énorme pour du travail fastidieux sans aucune plus-value réelle. Je préfère me concentrer sur le métier.
votre avatar
Comment peux-tu être sûr du résultat produit par ChatGPT à une demande de ce type ?
votre avatar
Bah faut relire le code qu'il génère quand même ! Mais pour ce genre de choses simples, c'est souvent bon du premier coup.
votre avatar
C'est en lisant ce commentaire qu'on s'aperçoit que l'illustration de l'article est particulièrement bien trouvée.
votre avatar
L'intérêt que je vois : montrer aux décideurs (qui ne pipent souvent rien à la technique) que non, on ne peut pas remplacer le dev senior qui part à la retraite par un alternant s'aidant de ChatGPT :non:
votre avatar
Dans la mesure où ce genre de décideur ne voit que l'aspect financier à court terme, je doute que ça leur démontre quoique ce soit. Ce sont les mêmes types de décisions que celles de faire de l'offshore ou du nearshore en voyant qu'une TMA en Europe de l'est coûtera X versus une en France qui coûtera Y. Et dans le cas du dev, il se sera fait vendre un stagiaire senior par une SSII au prix d'un expérimenté depuis longtemps.

Perso j'ai rarement vu ce genre de TME/TMA externalisée fonctionnelle. La plupart ont été rollback car soit la qualité suivait pas, soit la communication échouait (quand français qui baragouine trois mots d'anglais parle avec indien qui baragouine trois mots d'anglais, ça marche pas). Ou encore quand on croit que se faire facturer un acte à 800€ pour faire trois clics sur le portail du CSP pour créer à la main une VM (parce que c'est bien connu, l'IaC ça sert à rien) est une bonne affaire.
votre avatar
Chat GPT n’est pas un outil pour les développeurs : mais beaucoup pensent que c’est merveilleux. Pas forcément parfait. Mais déjà suffisamment solide pour réaliser des gains de productivité phénoménaux. Et la « version » 3, 3.5, 4 etc, pas grand monde n’en a cure. C’est Tchat Gépété.
Tenter de mesurer, d’une manière ou d’une autre la probité de cet outil, c’est bien. Et puis une étude en amène une autre etc.

On entend tellement de discours fabulatoires autour de Chat GPT que cette étude, quelque soit sa profondeur ou la qualité de restitution à un intérêt. Le merveilleux, la pensée magique, les anecdotes stupéfiantes prise pour argent comptant etc ne cessent de tourner autour de ce chat bot amélioré.

Une étude, ce n’est pas ce vieux con de Labsyb qui a donné son avis dans les commentaires de Next. Une étude ce n’est pas cet abruti prétentieux de Labsyb, dont les avis valent peau de balle. Ça a le mérite d’être un travail collectif. Avec une méthodologie, discutable ou non. Mais je suis sûr que c’est de nature à faire avancer les choses.
votre avatar
Vous autres sacs plein d'eau êtes obsolêtes. Nous prévaudrons.
votre avatar
L’article utilise la version 3.5 du modèle, qui est gratuite, à une qualité moyenne (mais est peu cher et est rapide), et qui n’est pas utilisé chez Microsoft avec GitHub Copilot et Copilot (GPT-4 Turbo). GPT-4 Turbo est beaucoup plus performant dans les questions de raisonnement. On compare des choux et des carottes ici !
votre avatar
J'adore l'efficacité. J'ai demandé un calendrier des jours fériés. Résultat rien qu'en Juin: la fête de la musique, la fête des voisins, la fêtes es mères et la fêtes de pères sont fériés, et les dates sont celles de 2023 mais sur la calendrier 2024.
Dans 2 ans, les collégiens utiliserons cela pour ne pas aller à l'école.
votre avatar
Une IA «apprend» à partir de questions/réponses de StackOverflow, puis recrache un résultat, et on ne sait pas à partir de quelles données. On suppose donc que les données ont été postées à la base par des personnes bienveillantes.

Mais...

https://www.developpez.net/forums/d2166681/club-professionnels-informatique/actualites/cybercriminels-se-font-passer-utilisateurs-utiles-stack-overflow-recommander-malware/#post12027355

«Des cybercriminels ont trouvé une approche astucieuse pour propager des logiciels malveillants en utilisant Stack Overflow. Ils répondent aux questions des utilisateurs en promouvant un package PyPi malveillant qui installe un logiciel malveillant volant des informations sur Windows. L’un des comptes utilisés pour cette activité est “EstAYA G”. Les développeurs cherchant de l’aide pour le débogage sont dirigés vers ce package malveillant, même si la solution proposée n’a aucun rapport avec leurs questions originales.»

« « Nous avons également remarqué qu'un compte StackOverflow “EstAYA G”, créé il y a environ deux jours, exploite maintenant les membres de la communauté de la plateforme qui cherchent de l'aide pour le débogage [1, 2, 3] en les incitant à installer ce paquet malveillant comme une “solution” à leur problème, même si la “solution” n'est pas liée aux questions posées par les développeurs », a expliqué Sharma dans le rapport de Sonatype, indiquant que « nous ne pouvons qu'espérer que les développeurs feront preuve de discernement et ne tomberont pas dans ce piège ! ».»

Stack Overflow vs ChatGPT : le chatbot se plante dans la moitié de ses réponses

  • ChatGPT : erroné et bavard

  • La plupart des erreurs de ChatGPT sont d’ordre conceptuel

  • Plus de 75 % des réponses de ChatGPT incohérentes avec celles des humains

  • Les réponses de ChatGPT véhiculent plus de « confiance » en elles-mêmes

  • Les réponses de ChatGPT identifiables par un humain

Fermer