- "Software is Changing (Again)"
- Le paradigme logiciel connaît une transformation fondamentale pour la première fois en 70 ans, et a évolué rapidement ces dernières années vers Software 1.0 (code traditionnel), 2.0 (poids des réseaux neuronaux), 3.0 (LLM et prompts en langage naturel)
- Les LLM ne sont pas de simples outils, mais un nouvel écosystème logiciel comparable à un système d’exploitation (Operating System), ouvrant une époque où chacun peut programmer un ordinateur en anglais ou dans d’autres langues naturelles
- La collaboration avec les outils et agents IA, ainsi que l’« autonomie partielle » (Partial Autonomy), devient le cœur des futurs produits logiciels, avec une validation et un contrôle humains rapides pour garantir la fiabilité
- L’IA et les LLM possèdent des caractéristiques de « people spirits », avec une mémoire et une capacité de connaissance immenses, mais aussi des limites propres comme les hallucinations, la perte de contexte et les risques de sécurité
- À l’avenir, logiciels, documentation et infrastructure devront être repensés pour être « agent-friendly (LLMs-friendly) », afin que les LLM puissent comprendre et agir plus facilement grâce à une évolution de la structure et des modes d’expression
Software 1.0 → 2.0 → 3.0 : l’évolution du paradigme
- Software 1.0 : le code source traditionnel écrit directement par des humains
- Software 2.0 : des modèles créés en ajustant les poids (paramètres) de réseaux neuronaux à l’aide de jeux de données et d’optimizers
- Software 3.0 : génération de programmes (instructions) via des prompts en langage naturel comme l’anglais, sur la base des grands modèles de langage (LLM)
- Sur GitHub, le code évolue récemment vers une forme mêlant anglais et code, et l’anglais comme langage de programmation se diffuse rapidement
- Hugging Face joue en quelque sorte le rôle de « GitHub » du Software 2.0 et mène l’écosystème open source des modèles
Les LLM sont un nouveau système d’exploitation (OS)
- Les LLM évoluent au-delà du simple rôle d’API ou d’utilitaire pour devenir une plateforme sur laquelle fonctionne une grande variété de logiciels, comme un système d’exploitation
- Aujourd’hui, leur usage s’inscrit dans une architecture centralisée orientée cloud, comparable à l’ère des mainframes des années 1960
- À plus long terme, l’arrivée d’une ère des LLM personnels (usage distribué et local) est également évoquée
- L’environnement d’usage des LLM ressemble aux interfaces traditionnelles de terminal et de ligne de commande, mais il n’existe pas encore de GUI véritablement universelle et mature
Capacités et limites des LLM
- Les LLM disposent d’une mémoire immense et d’une grande capacité d’acquisition de connaissances, mais présentent aussi des défauts intrinsèques comme les hallucinations (fausses informations), la perte de mémoire contextuelle et des vulnérabilités de sécurité
- Le « working memory » des LLM doit encore être géré explicitement par les humains, et l’apprentissage du contexte sur le long terme reste insuffisant
- Des risques concrets, comme la sécurité ou le prompt injection, imposent une utilisation prudente
Autonomie partielle (Partial Autonomy) et collaboration humain-LLM
- Des applications basées sur les LLM comme Cursor ou Perplexity évoluent vers une combinaison de manipulation manuelle traditionnelle et d’automatisation par LLM, autour de l’idée d’un « curseur d’autonomie » permettant d’ajuster le niveau de contrôle utilisateur / délégation à l’IA
- L’audit via une GUI et des boucles de validation rapides, ainsi qu’une méthodologie consistant à « garder l’IA sous contrôle sur un périmètre court », deviennent indispensables en pratique
- Il est prévu que les logiciels, produits et services renforcent progressivement leur « autonomisation partielle »
Cas concrets et culture du « Vibecoding »
- Une culture du « Vibecoding », où chacun crée directement des applications avec un LLM en anglais, se diffuse largement
- Karpathy partage aussi son expérience d’avoir créé en une seule journée une application iOS dans un langage qu’il ne maîtrisait pas (Swift), avant de l’étendre à un véritable service
- Les LLM facilitent réellement le développement de prototypes, mais la mise en production effective (authentification, paiement, déploiement, etc.) reste encore un goulot d’étranglement dominé par le travail manuel et le DevOps
- À l’avenir, le principal enjeu sera de concevoir des logiciels et une documentation « agent-friendly » afin que les parties nécessitant encore des clics et des réglages manuels puissent être prises en charge par des agents
Évolution de la documentation, de l’infrastructure et de l’agent-friendliness
- La documentation existante, pensée pour les humains (clics, séquences, etc.), est difficilement exploitable directement par les LLM et les agents, d’où la nécessité de la réorganiser autour de Markdown et de commandes
- Versell, Stripe et d’autres ont commencé à faire évoluer leur documentation vers un format plus adapté aux agents (par exemple avec des commandes
curl)
- Divers outils comme GitHub Ingest ou DeepWiki permettent de convertir dépôts de code et documentation dans une forme immédiatement exploitable par les LLM
Conclusion et perspectives
- C’est aujourd’hui la meilleure période pour écrire énormément de nouveau code et en réécrire
- Les LLM, en tant qu’outils d’assistance (« armure d’Iron Man »), collaboreront avec les développeurs humains, tandis qu’une innovation progressive mènera vers davantage d’autonomie
- Au cours des 10 prochaines années, l’augmentation graduelle du « curseur d’autonomie » devrait devenir la tendance centrale
- Les développeurs et les organisations doivent accélérer la refonte des logiciels, de la documentation et de l’infrastructure pour les optimiser pour les LLM et les agents
2 commentaires
Cette vidéo est vraiment excellente ! En évoquant la phrase d’Andrew Ng, « AI Is the New Electricity », il explique que si ChatGPT, utilisé par 800 millions de personnes, tombe en panne, c’est comme si l’électricité était coupée, et ça m’a vraiment parlé.
Avis sur Hacker News