2123 liens privés
Pas qu’on me l’a demandé, mais je suis en train d’explorer le sujet et donc j’en vois des avantages comme des inconvénients. Attention, mon avis va comporter des points positifs et négatifs et n’est pas tranché.
J’avais commencé à tester ChatGPT quand je faisais certains de mes outils en ligne. Ne serait-ce, au début, que pour essayer de solutionner des problèmes compliqués ou pour expliciter ou convertir d’un langage à un autre du code trouvé ailleurs.
Désormais, je peux demander « fais-moi un outil qui fait ça » et il me pond tout ça en 10 secondes alors que ça m’aurait pris une heure de code et 4 jours de documentation.
C’est le cas de cet outil par exemple, qui est un lecteur hexadécimal d’un fichier quelconque.
Hormis le design et un poil le CSS pour s’adapter à mon template perso, tout le reste a été fait par Claude.ia (version gratuite). Y a pas beaucoup de code, mais c’est assez spécifique, et le résultat est là : ça marche d’entrée de jeu. La requête que j’ai faite c’est ça :
Can you create a page where I can explore files as an hexeditor? The page should have a file selector. The display should be done line by line with the index on the left, hex data in the midle and ascii on the right
Si je traduis :
« Peux-tu me faire une page web où je peux explorer un fichier tel un éditeur hexadécimal ? La page doit avoir un sélecteur de fichier. L’affichage se fait ligne par ligne avec l’index sur le côté gauche, les données au centre et la correspondance Ascii sur le côté droit. »
Et bim ça me pond un truc complet. Il fait lui-même les lignes flexibles et le fait qu’on ne doive pas sélectionner l’index sur la gauche.
Alors oui, je sais que ce code est probablement pompé d’un autre outil ailleurs, ou une lib quelque part sur GitHub et dont le readme.md correspond plus ou moins à ce que je demande. Mais tout de même : il a confectionné la page, indenté tout ça à sa façon et ajouté des styles plutôt sympa qui étaient totalement en phase avec les différents outils/pages/codes que j’avais demandés plus tôt.
Ce que je veux dire, c’est que ça n’a pas non plus recraché bit pour bit ce qu’il a trouvé.
Maintenant, cet outil était parfait et j’ai jeté ça dans une page à moi, retouché quelques trucs mineurs, et mis ça en ligne.
Cette expérience correspond cependant à l’exception. Des outils créés par ChatGPT ou par Claude.AI qui marchent du premier coup, ça reste rare.
La version limitée de ClaudeAI permet seulement 4 ou 5 itérations d’une même requête, et donc un nombre restreint d’améliorations ou corrections d’un truc qu’il a fait. La version payante n’est pas réellement plus puissante, mais elle permet davantage d’itérations d’un même projet (qui finit généralement par s’embourber à force de modifier des trucs déjà retouchés, et qui fait qu’il faut s’adapter à sa façon de fonctionner). Ça reste donc limité, mais ça permet de découvrir des astuces qu’une IA peut trouver ou découvrir, alors que nous, à moins de connaître toute la doc d’un langage par cœur, on se serait contenté de passer par une lib externe (regardez le code de l’outil : c’est du JS natif très léger).
Maintenant quoi dire de plus ? Sayé, je suis un gros défenseur du code pondu par IA ?
Non.
Un gain de temps certain, mais une qualité qui reste à désirer
J’en suis — actuellement — à reconnaître pleinement les gains de temps que cela procure pour les routines simples et les codes que je pourrais écrire moi-même avec beaucoup plus de temps. Lui le fait en 15 secondes et moi en plusieurs heures.
Généralement la seule chose qui reste à faire avec le code produit, c’est quelques tweaks algorithmiques, des inversions de boucles, ou ajouter un cas précis qu’il aurait oublié. Des trucs mineurs.
Par contre, dès que le projet devient un peu complexe, là l’IA, que ce soit Claude ou ChatGPT, se chient dessus complètement. Le code ne compile même pas, il utilise plusieurs fois le même nom de variable, ou alors utilise un const au lieu d’un let… bref, de petites choses que même un commercial ne ferait pas. Il manque des choses, des routines de vérification qui n’ont rien avoir avec le principe d’un LLM, mais des trucs spécifiques à la programmation qui demandent de l’intelligence véritable et pas juste des stats de langage.
L’on voit qu’il ne fait que concaténer des bouts de code qu’il trouve à droite et à gauche et les rendre cohérents (noms de variables tout ça). Il subsiste tout de même une phase de débogage manuelle sur le code final.
Est-ce que cette phase va finir par sauter ?
Je pense que oui, quand il pourra exécuter son code et analyser les erreurs du compilateur, pour ensuite les corriger.
Est-ce que ça va remplacer un programmeur humain ?
Non, je pense pas.
… Et est-ce que ça va permettre à une entreprise de diviser par 10 le nombre de programmeurs ?
Ça je pense que oui. Par contre, il faudra les remplacer par autant d’experts qui savent parler à l’IA et formuler les requêtes qui vont bien (tout en sachant programmer). On restera donc bien loin d’un entrepreneur qui va produire de gros logiciels très importants avec juste une armée d’IA.
… Ah et il faudra probablement aussi une armée d’avocats car l’IA aura craché du code copyrighté et que les huissiers vont commencer à toquer à la porte, mais ça c’est autre chose.
… et sans parler des ressources nécessaires pour entraîner l’IA, là ça sera la planète qui va gueuler car aujourd’hui ce n’est absolument pas viable (voir le dernier chapitre de cet article).
Quoi qu’il en soit, d’un point de vue de la qualité du code produit, j’en suis à ce stade. Il est possible que ce soit moi qui ne suis pas très doué pour formuler les bonnes requêtes pour obtenir un résultat satisfaisant du premier coup, mais je donne mon avis, mon retour et ma perception, pas la vérité sur la question. Get over it.
Pour le moment donc, le truc fait gagner du temps, mais ne fait pas encore le café.
Je le vois donc un peu comme un robot de cuisine (style Thermomix) : c’est utile et procure un gain de temps pour les choses triviales et chiantes, mais il faut apprendre à s’en servir, et il faut tout de même le nettoyer à la fin.
Et dans tous les cas, le gâteau arrivera seulement plus rapidement : il n’en sera ni forcément meilleur, ni plus sain non plus.
Le risque de prendre la parole d’IA comme vérité absolue
Concernant les IA qui sont plus généralistes, style ChatGPT (pas réellement orienté niveau programmation comme Claude.AI), il faut bien voir que ce sont essentiellement des moteurs de recherche qui trient un peu mieux que les autres et qui nous recrachent des réponses, pas seulement une liste de pages web.
Maintenant, si les données qu’on donne à manger à l’IA sont bonnes, la réponse à une requête sera bonne. Sinon, ça sera de la merde. Et comme il ne sait pas faire le tri entre le vrai du faux, de la merde, il en bouffe à la pelle avec tout le reste.
Et le pire — le pire — c’est qu’autant un moteur de recherche comme Bing ou Google nous dit quand il n’y a pas de résultats disponibles, autant ChatGPT s’il n’a pas la réponse, il va en inventer une. La réponse paraîtra plausible, mais sera sortie d’un chapeau sans aucune preuve de véracité.
C’est comme si vous me demandez de parler en suédois.
Voyez ce texte par exemple :
Steja padora vente ta prådager pro bönök oätt fön in a la sköng. I väks rahi promkre misek up paringst restöter by tsökar er. Toninahl år skroffa i mantska sallartöd.
Alla människor är födda fria och har lika värde och rättigheter. De är utrustade med förnuft och samvete och bör handla gentemot varandra i en anda av broderskap.
Ici, l’un des deux est du vrai suédois (c’est l’article premier de la DUDH en suédois). L’autre est du charabia suédoïde produit par mon générateur de noms de meubles Ikea qui utilise l’analyse de fréquence des lettres et des sons dans une langue donnée.
Un Suédois n’aura pas de mal à discerner les deux, mais n’importe qui d’autre n’y verra que du feu..
Eh bien ChatGPT, et même toutes les autres IA actuellement c’est exactement ce qu’ils font, constamment, avec le fond d’un contenu. C’est juste un peu plus précis, mais cela reste de la génération basée sur des probabilités quand-même.
Et dans les rares cas où une requête est tellement technique ou tellement hors sol qu’il n’a aucune source à laquelle se rattacher, eh bien il va sortir des mots au hasard et pondre un texte syntaxiquement et grammaticalement correct, possibilité plausible pour quelqu’un qui ne connaître rien au sujet, mais complètement à la ramasse sur la véracité du fond. Et à mes yeux, c’est ça qui est dangereux.
Hélas, je vois de plus en plus de gens prendre pour argent comptant ce que leur sort ChatGPT.
Je trouve ça très inquiétant quant à l’avenir de notre société : où va-t-on — sérieusement — si l’on remet dans les lois du hasard et des probabilités les réponses à nos questions ? Surtout si ces réponses vont dicter notre conduite, notre façon de diriger le monde, de gérer notre argent, de gérer une entreprise ou juste « enrichir » nos connaissances personnelles (de choses potentiellement fausses, donc) ?
On peut très bien se moquer de ceux qui brandissent la Bible ou le Coran pour dire que ceci ou cela est autorisé, interdit ou existe, ou s’est produit et quand ; mais si c’est pour brandir ChatGPT ou une IA à la place qui est tout aussi éclatée, ça n’en vaut pas le coup.
Il n’y a pas une once d’intelligence dans ces machines. Et comme la plupart du temps les questions que l’on pose à ChatGPT sont des questions auquel l’on n’a pas la réponse, comment on fait pour savoir si ce qu’il répond est juste ou faux ?
On ne peut pas.
Dans le doute, il faudrait considérer ça comme faux. Dans les faits, c’est le contraire qui se produit. Seul quelqu’un d’expert dans le domaine peut alors détecter l’erreur.
Mais maintenant, qui est l’expert devant le ChatGPT tout puissant dont la réponse a fait le tour du monde et est devenue une vérité générale en moins de temps qu’il n’en faut pour l’expert en question d’écrire un papier pour dire que c’est faux ?
C’est à ça qu’il faut faire attention.
L’IA n’est pas prête pour nous, car il reste des imperfections, mais nous ne sommes pas prêts non plus pour l’IA par manque de prudence, d’intelligence, de sagesse.
Des exemples assez drôles de ChatGPT-Fails sont visibles par exemple dans cet article ou celui-ci.
Donc on arrête les IA ?
Est-ce que dans l’ensemble ces trucs-là doivent être arrêtés et jetés par la fenêtre ? Non.
Côté technique et pertinence des résultats, on n’est qu’au début et ça sera amélioré et corrigé, comme tout. Ce n’est qu’une question de temps pour obtenir des choses précises et fonctionnelles du premier coup (pour du code par exemple).
Il subsiste par contre un problème de taille : l’énergie et les ressources requises pour les faire tourner. Là je n’ai pas de solution, et je ne sais pas comment ça va finir non plus. Et comme je ne suis pas une IA, je ne vais pas vous en inventer une. On peut en revanche faire des suppositions éclairées, des extrapolations de ce que l’on sait.
Le problème de notre civilisation actuellement c’est l’énergie. On utilise essentiellement de l’énergie fossile (que ce soit directement ou pour produire de quoi produire de l’énergie renouvelable, ce qui est en soi une aberration mais passons) qui pose un problème majeure à notre civilisation. Réellement : nous somme sur la trajectoire d’une destruction, et tout indique que nous continuons d’accélérer en direction de ce mur.
Pourquoi ? Dans les années 1950, on pensait à un avenir où l’énergie serait illimitée : d’où l’idée des voitures volantes partout et l’insouciance quant à la consommation et l’efficience des appareils. Sauf que cette révolution énergétique n’a jamais eu lieu. À la place, on a une la révolution de l’information : c’est l’information est qui est illimitée, accessible partout, et traité d’une façon qu’on n’avait pas anticipée d’aucune manière.
Ça a ses avantages, mais nos ressources énergétiques sont toujours limitées et c’est bien ça qui fait tourner tout l’ensemble. C’est ça qui est source de conflits, de guerres, de tensions et du problème climatique.
Je pense que notre civilisation est foutue et qu’on va droit dans le mur. Néanmoins ça ne m’empêche pas de sortir la carte du futurisme : l’étude du futur, au sens de 10 000 ou 100 000 ans dans le futur, voire plus. On va dans la science-fiction, mais avec davantage de science que de fiction.
Dans ce cadre-là, et si l’on parvient à éviter le mur climatique qui se profile, je la vois notre révolution énergétique : des sphères ou des essaims de Dyson capter l’énergie d’une étoile entière, et l’utiliser comme on veut.
Dans ce cadre-là, l’énergie n’est plus un problème, et les ressources non plus : si on est capable de faire ça, on est capable de miner tous les astéroïdes pour en faire des calculateurs. L’univers est virtuellement illimitée à notre échelle actuelle.
Nos travaux de recherches sur l’IA actuellement sont largement en avance par rapport à ce que l’on peut se permettre au vu de nos ressources disponibles. Mais placé 10 000 ans dans le futur, tout ça sera normal et possible sans « détruire » l’environnement (on peut très bien exploiter sans détruire).
Dans ce cas, oui, des machines qui produisent le logiciel et même d’autres machines pour subvenir à n’importe quel de nos besoins techniques et technologiques, ce sera notre quotidien.
Tous les efforts mis sur l’IA actuellement ne sont donc pas perdus. Ils sont juste… anachroniques. On a la théorie pour étendre ça à des échelles monstrueuses, c’est juste qu’on n’a pas — encore — les ressources pour.
Il n’y aurait pas de problèmes de consacrer des ressources pharaoniques à n’importe quel projet, si ces ressources sont illimitées.
Nos travaux sur les systèmes d’IA actuellement nécessitent une quantité importante d’énergie que nous peinons à produire, et que nous produisons en détruisant notre climat aujourd’hui.
Hélas, nos travaux sur l’énergie propre et illimitée sont largement moins financés que ce qu’ils devraient, là où les IA sont subventionnées à la pelle.
Les ressources seraient bien mieux allouées, selon moi, si l’on faisait les choses dans l’ordre.
Une suffisance énergétique solutionnerait plus de problèmes qu’une IA, pour notre civilisation dans son ensemble. Malheureusement, ce n’est pas le bien être de la société (ou de la planète) qui gouverne les allocations de ressources, mais l’économie et la stabilité financière, même si l’on parle de bulles et de secteurs non rentables à l’heure actuelle.
Deux choses qui ne sont pas du tout en train d’être conciliables actuellement.