Du code écrit à la main aux logiciels gérés par l'IA : DHH réécrit une bibliothèque Python avec Claude

Il y a un an, David Heinemeier Hansson (DHH), le créateur de Rails, était l'un des développeurs les plus ardents défenseurs du plaisir d'écrire du code à la main. Aujourd'hui, sa position est bien différente.

发布于 2026年8月17日generalGEO 评分: 05 次阅读
Du code écrit à la main aux logiciels gérés par l'IA : DHH réécrit une bibliothèque Python avec Claude

Du code écrit à la main aux logiciels gérés par l'IA : DHH réécrit une bibliothèque Python avec Claude

Introduction

Il y a un an, David Heinemeier Hansson (DHH), le créateur de Rails, était encore l'un des développeurs connus pour défendre le plaisir du code écrit à la main.

Aujourd'hui, sa position est bien différente.

Après avoir passé plus de temps avec Claude Code et Codex, DHH a récemment utilisé Claude Fable 5 pour réécrire la bibliothèque Python TerminalTextEffects en Rust. Selon l'article source, ce projet a consommé environ 11 millions de tokens, principalement via un flux de travail d'agents autonomes.

Les résultats sont remarquables : le temps de démarrage est passé de 87 millisecondes à 2 millisecondes, avec une vitesse de rendu améliorée d'environ 9,6 fois.

Cette expérience soulève également une question plus vaste. Si un programmeur expérimenté peut confier une tâche de réécriture à grande échelle à des agents d'IA et obtenir des résultats utilisables avec une intervention directe minimale, que devront réellement faire les programmeurs dans cinq ans ?

Confier le clavier à l'IA, puis prendre sa retraite ?

Le contraste entre la position de DHH et celle de l'année dernière est évident.

En mai 2025, il a publié "La programmation devrait être une sensation !", plaidant pour que l'IA soit plus proche d'un programmeur en binôme : adaptée pour consulter les API, répondre aux questions et aider à résoudre des problèmes spécifiques, mais ne devant pas remplacer l'acte même d'écrire du code.

L'article source cite une position plus forte : si les développeurs devaient finalement confier entièrement le clavier à l'IA, DHH a déclaré qu'il préférerait prendre sa retraite.

Lors d'une conversation de six heures avec Lex Fridman, DHH a également décrit la perte de "mémoire musculaire" ressentie lorsque l'IA générait du code pour lui de manière répétée.

Un exemple concernait la construction d'une distribution Linux. Il a demandé à l'IA de générer plusieurs fois la même instruction conditionnelle Bash, mais s'est rendu compte que, n'ayant pas écrit lui-même cette instruction, il ne sentait pas l'avoir réellement apprise.

Cela a soulevé pour lui une question plus profonde : le codage assisté par l'IA érode-t-il progressivement la façon dont les développeurs apprennent le génie logiciel ?

Mais selon l'article source, d'ici avril 2026, sa position avait évolué vers un flux de travail axé sur les agents.

Aujourd'hui, il explore publiquement : à quoi ressemblera le développement logiciel lorsque le clavier ne sera plus l'interface principale ?

Claude Fable 5 décompose une bibliothèque Python et la reconstruit en Rust

Le projet choisi par DHH est TerminalTextEffects (TTE), un moteur d'effets visuels pour terminal, utilisable à la fois comme application en ligne de commande et comme bibliothèque Python.

TTE propose des mouvements de texte, des couleurs, des dégradés, des animations et d'autres effets visuels pour terminal. Son dépôt public le décrit comme un moteur d'effets visuels pour terminal et documente son utilisation en CLI et en bibliothèque Python.

L'article source indique que DHH a demandé à Claude de réécrire le projet en Rust.

Le projet Rust résultant, nommé ttfx, a été placé sous l'organisation Omarchy de DHH. Selon l'article, la nouvelle version peut exécuter 37 effets, est empaquetée en un exécutable d'environ 3 Mo, et ne nécessite pas d'environnement d'exécution Python.

L'exécution rapportée a duré environ 3 heures et 11 minutes.

L'implémentation Rust contient environ 21 000 lignes de code principal, proche de la taille du code source Python d'origine.

Le flux de travail diffère également radicalement de la "saisie semi-automatique IA" traditionnelle.

L'article source mentionne que huit agents ont travaillé en parallèle sur des branches indépendantes. Chacun lisait le code, générait une implémentation, compilait les résultats, exécutait les tests, corrigeait les échecs, puis passait à l'étape suivante.

En ce sens, la description "fait en une seule fois" ne signifie pas que l'IA a tout produit via une seule génération. Plutôt, DHH a délégué la tâche et laissé les agents assumer la boucle de développement eux-mêmes.

Codex a reçu la même tâche

DHH a répété l'expérience avec Codex.

Selon l'article source, une seule invite a suffi pour produire un autre résultat solide. Cependant, la version Codex aurait pris environ 30 % plus de temps, pour un coût d'environ 43 dollars, soit environ 290 yuans.

Cette comparaison est précieuse car elle éloigne l'attention de l'idée simpliste que "la programmation par IA est soit magique, soit terrible".

Deux agents de programmation différents peuvent recevoir la même tâche large et produire des résultats utilisables, tout en différant en termes de vitesse, de coût et de comportement du flux de travail.

L'équipe d'Anthropic a également remarqué cette expérience.

Selon les rapports, Boris Cherny, le créateur de Claude Code, a publiquement répondu à ces résultats, tandis que le chercheur d'Anthropic Thariq a demandé à DHH combien de planification ou de conception de flux de travail il avait investi dans la réécriture.

La réponse de DHH est peut-être la partie la plus surprenante.

Il a dit qu'il avait essentiellement laissé Claude établir le plan, puis s'était retiré.

Pas de flux de travail pré-construits méticuleusement, pas de longues listes d'étapes définies manuellement, pas d'intervention continue pour guider.

Cette approche était une attitude délibérée de non-intervention.

Fait en une seule fois ne signifie pas aveugle

Il y a ici une distinction importante.

Une tâche de codage entièrement autonome repose toujours sur le fait que l'agent dispose de suffisamment d'informations pour juger de ce que signifie le succès.

L'article source indique que DHH a d'abord demandé à Claude de formuler un plan, puis a laissé l'agent exécuter, tester et itérer par lui-même.

Cela s'apparente davantage à déléguer un projet de génie logiciel qu'à demander à un système de saisie semi-automatique de générer les dix prochaines lignes de code.

Ce style de développement axé sur les agents repose largement sur :

  • Des dépôts de code avec une structure compréhensible.
  • Des suites de tests automatisés robustes.
  • Des commandes de compilation et d'exécution claires.
  • La capacité de créer des branches et de fusionner des modifications.
  • Des agents capables d'inspecter les échecs et de réessayer.

Sans ces fondations, l'automatisation "en une seule fois" devient beaucoup moins fiable.

La démonstration plus vaste : la migration d'un million de lignes de Bun

TerminalTextEffects reste un projet relativement petit.

Par conséquent, l'article source pointe vers un cas plus important : Bun, le runtime JavaScript créé par Jarred Sumner.

Bun a été historiquement construit autour de Zig. En 2026, sa base de code a subi une migration majeure vers Rust, avec une utilisation intensive d'agents de codage IA.

L'article source décrit ce travail comme une migration d'environ un million de lignes, réalisée en moins de deux semaines.

Des enregistrements publics ultérieurs confirment que la réécriture Rust de Bun a été fusionnée dans son dépôt principal. La demande de tirage (pull request) GitHub concernant la réécriture a été fusionnée le 14 mai 2026, remplaçant la voie de construction prioritaire Zig par une architecture prioritaire Rust.

La migration est plus nuancée qu'un simple "l'IA a réécrit Bun".

Le récit public de Jarred Sumner, résumé par Simon Willison, décrit un flux de travail complexe avec plusieurs agents, comprenant la décomposition dynamique des tâches, des exécutions d'essai, des revues contradictoires et une validation répétée.

C'est une distinction significative.

Les migrations logicielles assistées par IA à grande échelle nécessitent encore beaucoup d'ingénierie architecturale. La différence est qu'une fois les systèmes périphériques suffisamment bien conçus, la majeure partie du travail d'implémentation peut désormais être déléguée aux agents.

Le coût marginal du code tend vers zéro

L'article source tire une conclusion plus large de ces exemples.

À mesure que les agents de codage deviennent plus performants, le coût marginal de génération d'une implémentation supplémentaire continue de diminuer.

Générer du code devient de moins en moins cher.

Tester, refactoriser, porter entre langages et itérer sur les défauts peuvent de plus en plus être réalisés en parallèle par des agents.

Cela modifie la structure des coûts du développement logiciel.

La question n'est plus simplement :

Combien de développeurs pouvons-nous embaucher pour écrire ce code ?

Elle devient de plus en plus :

Combien de tâches logicielles utiles un développeur peut-il déléguer à un ensemble d'agents d'IA ?

C'est la transition du codage assisté par IA vers le développement logiciel géré par IA.

La prochaine génération de programmeurs pourrait ressembler davantage à des dresseurs de dragons

La peur évidente est que si moins de personnes écrivent ou lisent directement du code, les programmeurs disparaîtront.

L'article source estime que cette conclusion est trop simpliste.

"Personne n'écrit de code à la main" ne signifie pas "il n'y a pas de programmeurs".

Le contenu du travail peut évoluer.

Au lieu de passer la majeure partie de la journée à implémenter des fonctionnalités ligne par ligne, les développeurs pourraient consacrer plus de temps à :

  1. Définir ce qui doit être construit.
  2. Établir des contraintes et des interfaces.
  3. Concevoir les systèmes de test.
  4. Examiner l'architecture et les compromis.
  5. Vérifier que le code généré par l'IA est effectivement correct.
  6. Décider ce qui doit être automatisé et ce qui ne doit pas l'être.

Dans ce modèle, la compétence rare n'est plus la frappe de la syntaxe.

C'est de savoir ce qui vaut la peine d'être construit, et ce que signifie réellement un comportement correct.

Quand l'IA écrit le code, qu'est-ce qui devient précieux ?

Si l'implémentation devient de plus en plus bon marché, d'autres compétences deviennent plus précieuses.

Jugement produit

Quelqu'un doit encore décider quels problèmes méritent d'être résolus.

L'IA

Générer rapidement dix implémentations ne vous dira pas quel problème a de la valeur commerciale, quels compromis sont cruciaux, ni quelle fonctionnalité devrait être prioritaire.

Conception système

Les agents peuvent écrire des fonctions et des classes, mais les systèmes plus vastes nécessitent toujours des frontières, des interfaces, des modèles de données, des règles de déploiement et des exigences de fiabilité.

Tests

Plus l'IA peut générer de code, plus les tests automatisés deviennent importants.

Sans une couche de validation solide, accélérer le rythme de codage ne fait qu'augmenter la quantité de code susceptible de contenir des erreurs.

Orientation technique

Quelqu'un doit indiquer à l'agent les contraintes à respecter.

Cela inclut les budgets de performance, les exigences de compatibilité, les frontières de sécurité, les dépendances et les objectifs de maintenance à long terme.

En d'autres termes, le rôle humain se déplace vers un niveau d'abstraction supérieur.

À l'avenir, il s'agira peut-être moins de coder et davantage

d'orienter

Les exemples de l'article source pointent vers une autre définition de la programmation.

Les développeurs devront peut-être encore comprendre le code en profondeur, mais la production principale ne sera plus nécessairement le fichier source lui-même.

La production est un système d'exigences, de contraintes, de tests et de jugement qui permet à un logiciel correct d'émerger.

C'est pourquoi les ingénieurs expérimentés peuvent encore avoir de la valeur, même si le codage manuel devient moins central.

Ceux qui comprennent l'architecture, les modes de défaillance, les besoins des utilisateurs et le comportement des systèmes seront mieux outillés pour diriger des agents de codage autonomes.

Questions fréquentes

DHH a-t-il vraiment réécrit une bibliothèque Python avec l'IA ?

Selon l'article source, oui. David Heinemeier Hansson, fondateur de Rails, a utilisé Claude Fable 5 et un flux de travail multi-agents très délégué pour réécrire TerminalTextEffects de Python vers Rust.

Qu'est-ce que TerminalTextEffects ?

TerminalTextEffects (TTE) est un moteur d'effets visuels pour terminal, utilisable également comme bibliothèque Python. Sa documentation publique décrit des effets de mouvement de texte, de couleurs, de dégradés, d'animations et d'autres traitements visuels de terminal.

En quoi la réécriture en Rust diffère-t-elle du codage IA ordinaire ?

L'article source décrit plusieurs agents travaillant sur des branches indépendantes, compilant le code, exécutant les tests, corrigeant les échecs et fusionnant les résultats. La différence clé est que l'IA a traité l'essentiel de la boucle de développement, et pas seulement suggéré des lignes de code éparses.

Codex a-t-il aussi réalisé la réécriture ?

Selon l'article source, DHH a confié la même tâche, tout aussi large, à Codex, qui a également produit un excellent résultat. Cela a pris environ 30 % de temps en plus, pour un coût d'environ 43 dollars.

Bun a-t-il également été réécrit avec des agents IA ?

Oui. La réécriture à grande échelle de Bun de Zig vers Rust a été réalisée avec l'aide massive d'agents IA, et le code en Rust priorisé a été fusionné dans le dépôt principal en mai 2026.

Les programmeurs vont-ils disparaître si l'IA écrit la majeure partie du code ?

Pas nécessairement. Le changement probable est que les programmeurs passeront moins de temps à saisir des détails d'implémentation et plus de temps à définir les exigences, les contraintes, l'architecture, les tests et les critères d'acceptation.

Quelles compétences sont les plus importantes dans un flux de travail de codage avec IA ?

La conception système solide, les tests, le débogage, le jugement produit et la capacité à définir des contraintes claires deviennent particulièrement importants. Savoir comment examiner et valider le code généré par l'IA est également essentiel.

Outils associés

  • Claude Code : l'environnement de codage agentique d'Anthropic pour le développement logiciel au niveau du dépôt.
  • OpenAI Codex : l'agent de codage d'OpenAI pour les tâches de développement logiciel en plusieurs étapes.
  • TerminalTextEffects : le projet d'effets de terminal Python discuté dans l'article source.
  • Bun : un environnement d'exécution JavaScript qui a réalisé une réécriture majeure de Zig vers Rust en 2026.
  • Rust : le langage de programmation système utilisé pour les réécritures de TTE et de Bun.

Liens connexes

Résumé

L'expérience TerminalTextEffects de DHH est un exemple utile montrant comment les agents de programmation IA peuvent transformer l'unité de travail logiciel. Plutôt que de demander à l'IA d'écrire une fonction à la fois, les développeurs délèguent de plus en plus des refactorisations et des migrations entières à des équipes d'agents.

La réécriture de Bun pointe dans la même direction, mais à une échelle plus grande : lorsque le dépôt, les tests, les outils et les flux de travail sont suffisamment robustes, l'IA peut désormais participer à des travaux d'ingénierie logicielle vastes et multi-étapes.

Le plus grand changement n'est peut-être pas que l'IA écrit davantage de code, mais que le travail du programmeur passe de l'écriture du code à la définition de ce que le code devrait accomplir et à la preuve qu'il y parvient réellement.