Bon, j’ai testé un peu ces outils d’IA qui génèrent des images, genre DALL-E et compagnie… Du coup, est-ce qu’on peut vraiment faire pareil avec du code ? Genre, demander une fonction en Python ou un bout de script et hop, ça sort un truc propre ? Vous en pensez quoi ?
Ce serait intéressant comme étude en effet.
Je sais que pour des langages pas trop compliqués et très utilisé (Python, TypeScript), il génère du très bon code, quand on sait bien lui expliquer, mais pour avoir testé en Ada (mon langage de presque tous les jours au taf), il est tout simplement très mauvais (et encore, je trouve que Claude.ai s’en sort mieux que les autres).
Je n’ai, pour ma part, pas encore testé ces outils.
Un point de vigilance tout de même. Regarde bien les politiques de vie privée, etc. afin de savoir ce qu’ils font de tes données. Dans la majorité des cas, si tu bosses sur des sujets sensibles (industriel, secret défense), tu ne seras tout simplement pas autorisé à utiliser ce genre d’outils au travail, sauf exception, s’ils hébergent en interne le LLM.
Je sais que pour des langages pas trop compliqués et très utilisé (Python, TypeScript), il génère du très bon code, quand on sait bien lui expliquer, mais pour avoir testé en Ada (mon langage de presque tous les jours au taf), il est tout simplement très mauvais (et encore, je trouve que Claude.ai s’en sort mieux que les autres).
Sur TypeScript, j’ai surtout constaté que ça génère très souvent des algos en O(n²) là où on pourrait être linéaire. Si on doit passer 15 ans à devoir lui expliquer qu’il faut pas générer des machins qui passent pas à l’échelle, autant écrire directement le code.
Je code plus en C ou en C++. En OCaml c’est naze en tout cas. Et alors je l’ai essayé sur pour générer des specs formelles et là, même les cas d’école, il ne sait pas les reproduire.
A ma connaissance (peu profonde, il est vrai), pour moi l’ia ne génère rien. Elle n’est pas capable d’analyser un besoin et de créer le code qui y correspond. Par contre, elle est capable de comprendre ce qu’on lui demande (à condition de savoir s’y prendre), d’aller chercher du code dans sa base de données (créée en allant vampiriser le net), et éventuellement d’en assembler (péniblement) plusieurs pour arriver à un résultat.
Quant à l’énergie consommée, cela doit être faramineux.
PS: je n’ai jamais utilisé l’ia, mais à part pour des besoins de code basique, les retours que j’en lis sont plutôt négatifs.
j’ai eu testé la génération de code OpenSCAD (pour créer des modèles 3D) par ChatGPT 4. En insistant beaucoup il avait finit par réussir à me générer quelques chose qui ressemblait vaguement à une montre. C’était pas incroyable.
Je viens de tester ChatGPT pour la génération de C++ et c’est loin d’être génial. Pour des problèmes très simples (parmi les premiers du Project Euler), il arrive à sortir du bon code. En revanche, dès qu’on sort des sentiers battus et qu’on demande quelque chose de plus complexe, ça deviens vite n’importe quoi.
J’ai décris une situation où j’ai 2 threads: un qui calcule incrémentalement les pixels d’une image et un autre qui doit afficher cette image en continue. J’ai demandé comment faire ça de la manière la plus efficace et il n’y a aucun bon point:
le problème est un peu ambigu (qu’est-ce que je veux dire par "plus efficace"), et il n’a demandé aucune clarification. Mais quelque soit le critère que je voulais optimiser, la solution choisi était loin d’être la plus efficace.
il a essayer d’utiliser une mutex pour protéger les accès aux variables partagés et une condition variable pour que le thread de calcul puisse notifier le thread d’affichage qu’il y a un nouveau pixel à afficher. Sauf qu’au final, c’est implémenté de tel manière à ce qu’un seul pixel ne pourra être calculé par frame affiché. Et au-delà de la mauvaise implémentation, il y a moyen d’avoir une approche nettement plus efficace en utilisant des atomics.
la mutex est acquise à des moments où il ne faut pas (e.g. pour notify_one de la condition variable) et ne l’est pas à tout plein de moments où il lit et modifie les variables partagés.
il essaye d’afficher l’image partiellement (je suppose que c’était pour éviter de ré-afficher un pixel qui est déjà calculé et affiché), sauf que c’est un fail complet et il n’affichera que la toute première version de l’image et ensuite n’affichera plus rien.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte