Bon, "L'IA va remplacer les programmeurs", en pratique à court terme ça va être plutôt "Je ne sais pas programmer et l'IA m'a écrit mon projet, toi qui es programmeur, peux-tu le faire marcher ? Ça te prendra 5 mn je pense, tout est prêt". C'est juste la version moderne de "Toi qui es un dieu de l'informatique, tu peux dépanner mon Windows ? Trois fois rien pour toi sûrement".
@pb LOL. Un collègue (très jeune, tres loin) m'a demandé de valider sa PR : il a fait une fonction -sans entree -sans sortie -avec des strings hardcodees -dont le code ne faisait fonctionnement rien. -sans test unitaire 😵💫 Je demande d'expliquer comment il a testé... il n'a pas testé parceque python ne marche pas sur son PC. 🤯 100% sur que c'était du code chatgpt.
@thierrya ça va devenir une plaie... au moins lorsque les gens se font faire des images, ils ne vont pas casser les pieds d'un graphiste pour valider ça après.
@pb J'ai un cas très rigolo ici où il a été incapable de dire qu'il ne savait pas (problème récurrent avec les LLM) et a inventé quelque chose qui n'est pas complètement faux (toutes les API REST se ressemblent) mais quand même faux.
Les IA n'arrivent ps à générer du code qui fonctionne, donc elles n'ont aucune chance de générer un code qui fonctionne mieux, ni demain, ni après-demain, ni dans un an, ni dans dix.
(et je ne creuse même pas la question de ce qu'est, au juste, un code optimisé...)
@pb@mmu_man@thierrya oui mais par exemple sur la problématique d'optimisation : ressource taille vitesse ( et tous les bloated soft) demander dans 30 ans a une ia : allez hop optimise (et peu importe si son code est lisible je veux dire elle peut lire les js énormes et balancer un bloc en assembleur en sortie. pas demain mais après-demain ?
@pablopernot@mmu_man@thierrya ça fait 40 ans qu'on a ce genre de promesse tous les 10 ans. En fait le problème de fond est l'écriture de spécs précises. Et ce qui fait foi à la fin, c'est le code. D'expérience ça va plus vite dans pas mal de cas de coder soi-même un truc pointu que de chercher à expliquer la même chose en langage naturel à une machine et à boucler n fois en essai/erreur. Mais la machine peut aider.
@bortzmeyer ah oui strictement rien à voir en fait :). chatgpt hallucine des API quand ça l'arrange, c'est marrant. J'ai déjà eu un cas de question ferroviaire complexe sur comment trouver une gare dans l'API IDFM et il m'a juste inventé un appel d'API totalement inexistant mais qui donnait magiquement la réponse en 1 coup 🤣
En résumé : ce n'est pas impossible qu'une IA génère un code correct, mais ce n'est pas garanti.
Tu me diras, c'est pareil pour les humains...
... Sauf qu'un humain a conscience de lui-même, et une conscience aussi, que n'a pas une IA. Un humain qui en t'expliquant son code réalise qu'il est buggué te le dira et corrigera sans doute ; une IA ne réalisera rien ni pour un bug flagrant... ni pour un plus subtil.
@aaribaud@pablopernot@mmu_man@thierrya si si, elles arrivent déjà à générer du code qui fonctionne, et cela de manière répétable, ça je peux en témoigner. Alors c'est encore limité mais c'est bien du code qui fonctionne. Par exemple tu peux demander un "snake" en Python.
@aaribaud@pablopernot@mmu_man@thierrya elle y arrive, donc cette question est caduque. Du coup tu peux te demander comment elle y arrive, à la place, mais même ça : est-ce que tu as besoin de te demander comment, toi, tu écris du code qui fonctionne, pour pouvoir en écrire ?
@aaribaud@pablopernot@mmu_man@thierrya elles y arrivent et j'en témoigne. Tu peux le nier tant que tu veux et refuser d'appeler ça du code même si tu le souhaites, ça ne changera rien aux faits :)
Tu as affirmé plusieurs fois que les IA arrivent à coder, en fournissant pour démonstration des exemples (dont, par conséquent, il faudrait généraliser).
J'ai donné des contre-exemples démontrant que non, les IA n'arrivent pas à coder.
@aaribaud@pablopernot@mmu_man@thierrya je ne sais pas s'il y a une erreur d'argumentation mais de fait l'IA arrive à coder, donc la phrase devient "Je ne suis pas pour l'IA pour plein de raisons, mais elle arrive déjà à coder", donc ça ne sert à rien de contrer l'affirmation initiale, elle est déjà réalisée.
@pb en fait, si tu enseigne à une IA comment optimiser, ou au moins à repérer là où un système se traine, il est probable qu'elle sache le faire à terme. Et qu'elle sache réécrire le module coupable des plus gros ralentissements. Je ne l'ai encore jamais vu, mais j'intuite que ça puisse être possible. CC @pablopernot@mmu_man@aaribaud@thierrya
@pb@mmu_man@aaribaud@thierrya oui mais c'est encore de "la puissance de calcul". d'où des différences dans 10, 20,30 ans etc si tant est que l'on a les ressources pour cette puissance et qu'on la désire. Mais si cette puissance réduit x1000 nos bloated software (trop lents trop lourds) ?
@mmu_man@aaribaud@pablopernot@thierrya après, bien évidemment, si ça atteint un certain niveau de complexité, ça peut aussi te générer des bugs aux limites = le truc va répondre à ta question directe mais va oublier les sujets à la marge... exemple typique, bugs type injection de code, parsing incorrect dans certains cas, débordements etc.
@mmu_man@aaribaud@pablopernot@thierrya le sujet est classique, c'est comme un exercice scolaire, il est plus chronophage de faire un exercice que de corriger = lire si la solution est bonne quand on te la donne sur un plateau.
@mmu_man@aaribaud@pablopernot@thierrya le sujet était : est-ce que ça peut écrire du code qui fonctionne, la réponse est : oui. Ensuite, j'ai déjà fait écrire du code Javascript ou même threads quand j'avais la flemme de chercher dans la doc, du code "standalone" ou pour intégrer dans un framework, les 2 marchent. Donc du code que je n'aurais pas su écrire au débotté (au sens comprendre) mais que je sais relire.
Mais les humains sont conscients d'eux-mêmes et de leur faillibilité, ils peuvent analyser leurs propres raisonnement et apprendre de leurs erreurs, même tout seuls.
@aaribaud@nitot@pablopernot@mmu_man@thierrya oui enfin là on retombe dans des problématiques identiques à celles qu'on trouve avec des humains, qui eux aussi peuvent faire des erreurs (aka bugs).
Pour que ça marche, faudrait entraîner #IA avec des exemples avant (pas optimisé)/après (optimisé).
Je vois pas bien pourquoi ce serait infaisable.
Moi qui débute en #javascript, j’ai tenté 3/4 fois de demander un coup de main à #ChatGPT, et à chaque fois il m’a fait de la merde que même moi j’ai su identifier.
@aaribaud@nitot@pablopernot@mmu_man@thierrya ça dépend : tous les humains ne le font pas (manque de compétence, de recul, ça arrive). Mais je ne te parle pas de laisser l'IA tout faire toute seule, mais d'assister les humains qui, bien entendu, doivent être là pour vérifier. Tout comme ça se fait entre humains dans un environnement de travail.
Ah mais si, j'entends très bien que tu donnes des exemples d'IA ayant produit du code qui fonctionne. Mais ceci ne revient *pas* à dire qu'elles arrivent à produire du code, et quant à ne pas vouloir entendre, je ne crois pas t'avoir vu reconnaître les contre-exemples que j'ai donnés.
Le point discuté n'est pas la capacité des *humains* à produire du code fiable, mais celles de *IA*.
Et actuellement, concrètement, le fait est démontré que non, les IA ne sont pas capables de produire du code fiable, puisqu'on a des exemples (en grand nombre) de code produit qui n'est pas fiable (voire, qui n'est simplement pas exécutable).
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya mais personne ne sait "dans tous les cas" produire du code qui fonctionne, c'est une impossibilité (puisqu'il existe des problèmes insolubles). Beaucoup de gens ne savent pas produire du code tout court, d'ailleurs. Donc ton critère est inadapté. Les contres-exemples ? Lesquels ? Un contre-exemple montre que ça ne marche pas toujours, mais personne ne dit le contraire, et idem humains.
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya les humains non plus ne savent pas produire du code garanti fiable, et pourtant on utilise des humains pour produire du code. Ce problème n'est ni nouveau ni bloquant. Et il va y avoir un gap dès à présent entre les dévs qui utilisent l'IA pour les assister au moins sur des cas ponctuels adaptés (il en existe), et ceux qui s'en dispensent.
J'ai prétendu que tu avais affirmé la perfection des IA ? Non, n'est-ce pas ?
Et si on peut garder les termes méprisants, même hypothétiques, c'est mieux.
Et quant à l'utilité de l'IA, en matière de production de code, j'aimerais bien en avoir une *démonstration*, même pas parfaite, mais qui dépasse les anecdotes du genre "pour moi ça a marché".
Pour la troisième fois, la discussion ne porte pas sur les humains, ni sur les humains vs les IA, mais sur les IA. Seulement sur les IA.
Et concernant les IA, la discussion porte sur le fait de savoir si elles produisent du code fiable, pas si elles produisent du code plus fiable que celui des humains.
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya je te montre que le problème existe que ce soit de l'IA ou de l'humain ; qu'on utilise par le fait des humains jusque là et qu'on obtient des résultats ; donc que ton objection ne tient pas pour refuser l'IA.
Je ne râle pas, je conteste l'affirmation selon laquelle les IA sauraient générer du code fiable, et je le conteste par des contre-exemples qui démontrent largement mon propos.
Le reste de cette discussion, c'est toi qui ne reconnais (toujours) pas cette contestation et ces contre-exemples.
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya tu ne prétends pas que l'IA est une solution parfaite et moi non plus donc je ne vois pas pourquoi tu râles. Mais bref. Quant à la démonstration, au sens où tu la demandes apparemment (formelle), elle n'existe pas, pas plus qu'une méthode générique pour prouver qu'un programme est correct. Problème aussi vieux que l'informatique. Pourtant on arrive à bosser comme ça (le monde est imparfait, il faut vivre avec).
Je ne tente de prouver qu'une chose, c'est qu'il est faux de dire que les IA savent générer du code fiable, et les contre-exemples que je donne font de ma tentative un succès.
Il n'y a pas à mêler les humains à une démonstration qui ne les concerne pas.
@aaribaud@nitot@pablopernot@mmu_man@thierrya tu appliques à l'IA des critères plus sévères que ceux que tu appliques aux humains, afin de tenter de prouver son inadéquation là où les humains arrivent à gérer... mais du coup, ta démonstration dans ce cadre biaisé n'est pas complète.
Merci pour le mépris à peine voilé, mais juste par curiosité : vas-tu, *enfin*, écrire noir sur blanc que non, les IA ne "savent" pas générer du code et que des contre-exemples le démontrent ? Ou devrai-je encore voir mes arguments ignorés ?
Et là, je ne t'ai pas demandé une preuve formelle, je t'ai demandé reconnaître les contre-exemples que j'ai donnés montrant qu'une IA peut produire un code non fonctionnel, ou grossièrement faux faux, ou subtilement faux. Et tu ne l'as toujours pas fait.
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya mais pardon c'est quoi cette réflexion, il n'y a aucun mépris, je dis juste que je ne suis pas en mesure de répondre à tes injonctions et demandes de preuve formelle, que ça ne m'empêche pas de dormir dans mon propre usage de l'IA, et que ta manière de poser le problème t'appartient mais ne me parle absolument pas, j'y suis hermétique :)
(pour la Nième fois, la comparaison IA/humains n'est pas le sujet)
Une IA peut produire du code faux : bien, on progresse, il n'aura fallu que des dizaines de posts pour que ce point soit acquis.
Et si tu veux utiliser un IA pour produire ton code, libre à toi ; mais si tu dis publiquement qu'elle a appris à produire du code, attends-toi à être contesté et à juste titre.
@aaribaud@romu700@nitot@pablopernot@mmu_man@thierrya une IA peut produire du code faux bien entendu, c'est une évidence... comme un humain... et les deux peuvent aussi produire du code correct. Et tu sur-lis dans mon message des intentions qui n'y sont pas. Je te dis juste : fais comme tu l'entends, et je fais comme je l'entends (aka let's agree to disagree), pas besoin d'en faire un drama.
J'ai travaillé dans une boîte avec une techno basée sur le #ml
La clé c'est la contrainte. Plus on contraint l'IA, plus fort est le taux de réussite. C'est ce qu'on nomme les #RAG je crois avec les IA #LLM .
#ChatGPT et autre #Gemini sont bien trop généralistes pour être pleinement efficaces dans la production de code. Mais avec des bons #RAG, ça marchera, forcément. C'est une question de temps.
Quand je compare ces descriptions d'Oracle et d'Amazon, je vois d'un côté un descriptif clinique concis et de l'autre une invitation à pomper des (mes) données sans y avoir été autorisé, et du coup j'en retire le sentiment personnel que le bullshit se trouverait plutôt du côté d'Amazon.
@romu700@aaribaud@nitot@pablopernot@mmu_man@thierrya non, le RAG c'est la récupération "temps réel" d'informations. Par exemple un plug-in pour aller chercher une page web au moment de la consultation, ou accéder une API, etc, et digérer le résultat avant de le présenter à l'utilisateur.
J'ai vu passer un paquet de technos qui "allaient tout révolutionner"... Les IA (enfin, les IA génératives à base de LLM puisque c'est de ça qu'il s'agit ici) feront pareilet ne survivront que là où elles sont efficaces sans trop de contrainte--par exemple, produire un texte "dans le style de" (et encore, une relecture sera toujours salutaire). L'IA généraliste constamment et suffisamment pertinente, c'est juste un rêve. [1/2]
@romu700@pb@nitot@pablopernot@mmu_man@thierrya [2/2] et l'idée de spécialiser une IA générative pour la rendre plus pertinente ne fonctionnera pas non plus, pour au moins une raison : une IA n'est essentiellement qu'un échantillonneur statistique glorifié.
On a compris ton propos. Pas sûr que tu l'aides avec tant de véhémence. On a juste envie d'aimer l'IA maintenant alors que ce n'était pas le cas avant !