- Ces derniers temps, les utilisateurs d’ordinateurs répètent d’innombrables tâches dénuées de sens indépendamment de leur volonté, en se contentant de suivre ce que la machine leur demande.
- Les LLM influencent désormais la manière dont les développeurs conçoivent les API, au point que ceux-ci adoptent des fonctionnalités proposées par l’IA, et que certains prédisent bientôt un monde où l’IA écrira la majorité du code.
- Par exemple, Soundslice a réellement ajouté une fonctionnalité que ChatGPT décrivait à tort.
- Cela tient au fait que les LLM analysent un grand nombre d’API et proposent donc des conceptions intuitives qui sont celles auxquelles un développeur penserait le plus spontanément.
- Les LLM ne sont pas adaptés à la mise au point d’idées nouvelles ou d’approches originales, mais dans la plupart des cas, suivre la conception la plus évidente peut s’avérer efficace.
- Nous entrons désormais dans une époque où l’IA ne se contente plus d’utiliser les outils, mais influence aussi leur conception.
Gaslight-driven development
Des tâches absurdes devenues ordinaires
- Quiconque utilise un ordinateur depuis dix ans répète sans cesse des actions intrinsèquement inutiles comme créer un compte, valider un e-mail, accepter les cookies ou remplir un captcha.
- Même lorsque ce n’est pas ce qu’il veut, l’utilisateur n’a d’autre choix que de suivre les instructions de l’ordinateur.
- À force de ces tâches répétitives, nous nous sommes déjà en partie habitués à une vie où l’on obéit à la machine.
Comment les LLM transforment la réalité du développement
Ce que signifie ce phénomène
- Il est difficile de juger si cette évolution est positive ou négative.
- D’un côté, comme les LLM ont appris sur d’innombrables API, ils tendent à proposer ce qui paraît le plus intuitif du point de vue du développeur.
- C’est aussi une nouvelle manière de tester une API depuis la perspective d’un débutant (newbie’s POV).
- Autrefois, quand un développeur se trompait, il allait consulter la documentation et corrigeait de lui-même ; désormais, les LLM continuent de fournir des exemples d’usage erronés, ce qui permet aussi aux développeurs d’identifier plus vite les problèmes.
Limites et interrogations
- Cette approche n’est pas adaptée aux travaux véritablement innovants.
- Les LLM ne comprennent ni les schémas qui leur sont peu familiers, ni les concepts entièrement nouveaux.
- Au final, dans des domaines comme les API, la solution la plus banale est peut-être la meilleure.
- Dans la majorité des situations, plutôt que de concevoir quelque chose de complexe, il est préférable d’opter pour une forme que l’IA comme les développeurs peuvent comprendre intuitivement.
Conclusion : le début d’une nouvelle époque
- L’IA ne se contente plus d’utiliser les outils qu’on lui donne ; elle commence à avoir son mot à dire sur la manière même dont ces outils devraient être conçus.
- Et cet avis agit souvent comme une forme de gaslighting sur les développeurs et les organisations, comme si « cela avait toujours été ainsi ».
- À l’avenir, un développement aligné sur les attentes et le sens commun de l’IA a de fortes chances de devenir une norme naturelle.
6 commentaires
J’ai parfois l’impression qu’un clou puissant appelé dépendance aux LLM est en train d’être enfoncé dans le grand concept de dépendance au chemin. Le glissement de « parce qu’on l’utilise depuis longtemps » vers « parce que les LLM l’aiment bien »… au final, où cela va-t-il nous mener ?
C’est quelque chose qu’on utilisait déjà depuis longtemps, et le LLM l’a appris..
« Vous pouvez maintenant éteindre votre ordinateur. »
Une métaphore parfaite !!
Avis Hacker News
421: Misdirected Request, ou bien utiliser le vrai501: Not Implemented; et si la nuance de501ne convient pas, je propose un nouveau code de statut :513: Your Coding Assistant Is WrongRéférence wiki des codes de statut HTTP
513: Your Coding Assistant Is Wrongm’a beaucoup fait rire, merci pour ce moment ; cela dit, j’aimerais aussi proposerHTTP 407 Hallucination, pour dire que le serveur comprend bien la requête, mais juge qu’elle ne correspond pas à la réalitéExemple « GPS is wrong »
(code JavaScript fourni)
Lien vers l’article scientifique, Référence wiki en neurosciences
Capture d’écran de Chess Royale
tx.updategère à la fois l’insertion et la mise à jour des entités, mais le LLM continuait d’écrire du code avectx.create, alors j’ai fini par créer aussi une fonctiontx.create; je me suis demandé si, dans ce genre de cas ambigu, non seulement les LLM mais aussi de vrais développeurs n’avaient pas déjà perdu inutilement beaucoup de tempstx.createn’existait pas à l’origine, personne n’aurait eu de temps à perdre, non ?putplutôt queupdate, carupdatepeut prêter à confusionupsertme paraît plus appropriéputsuggère qu’on écrase le contenu existant, tandis queupsertsignifie explicitement insertion/mise à jourÀ mon avis, si les utilisateurs font une vérification par e-mail ou s’inscrivent, ce n’est pas parce que l’ordinateur l’a exigé, mais parce qu’un humain a fait ce choix de design
Au lieu de se concentrer sur la lisibilité du code, les principes SOLID ou la complexité, il semble qu’il devienne plus important de savoir à quel point l’agentic IDE que j’utilise peut bien indexer le contexte du code, et à quel point le modèle peut bien générer à partir de ce code
Comme la vitesse de modification du code augmente énormément, la maintenabilité du code pourrait au contraire devenir l’indicateur clé, et nous allons peut-être vers un monde où l’alignement entre prompt et code, ainsi que l’utilisabilité d’un code qui tombe « par hasard » juste, attireront davantage l’attention
Par exemple, dans l’univers AWS on a
devetprod, alors que dans Expo on atestetproduction, si bien qu’en passant d’un projet à l’autre il faut réfléchir plus qu’on ne le penseJ’imagine que les LLM rencontrent le même problème, mais à une échelle bien plus grande
Si l’on pouvait consacrer à des choses réellement utiles les synapses du cerveau gaspillées à cause de cette confusion inutile autour du nommage et du comportement des API, ce serait l’idéal
Même si un LLM devient très habile pour nommer les choses, le problème demeure puisqu’il repose sur un incoherent stochastic process
Et j’aimerais demander si l’on s’est déjà sérieusement interrogé sur la raison pour laquelle les noms d’environnement ne sont pas harmonisés
En tant qu’ancien CTO, j’y vois un signal qu’il faut améliorer la communication au sein de l’organisation et le manque de standards
Comme ce sont des points simples à corriger et qu’ils permettent réellement d’améliorer la culture et la conscience collective, j’aimerais dire qu’au lieu de laisser cela au LLM, il faudrait s’en occuper plus directement
Voir la discussion Hacker News précédente
Le succès viral de Soundslice