- Dans la nouvelle ère du développement logiciel, on sent un changement : on est moins impliqué dans ce que l’on fait
- En déléguant via les LLM l’écriture de fonctions et la correction d’erreurs, le sentiment d’immersion diminue
- On passe d’un mode manuel à un état d’auto-pilot, où l’on répète le processus consistant à relire et accepter le travail du LLM
- Quand quelqu’un se consacre pleinement à sa compétence, il entre dans un état de flow. C’est comparable au fait de devenir un artisan
- Cela signifie un état où la frontière entre le sujet et l’objet disparaît, et où l’on est profondément absorbé dans la résolution de problèmes complexes
- Beaucoup soutiennent que la hausse récente de l’usage des LLM dans les workflows de programmation ne fait qu’introduire un niveau d’abstraction plus élevé
- Le passage de Binary → Assembly → C → langages de haut niveau a progressivement donné davantage de pouvoir
- Mais l’introduction des LLM n’est pas simplement un nouveau changement de niveau d’abstraction
- Les transitions du binaire vers l’assembleur, puis de l’assembleur vers le C, ont réduit la charge cognitive et aidé à se concentrer sur la logique
- Les LLM poussent à se concentrer sur la structure globale plutôt que sur la logique du programme → c’est différent des évolutions précédentes
- Un programme est fait de morceaux assemblés
- Nous comprenons nos programmes en comprenant toutes les pièces qui les composent
- Désormais, en déléguant la création de ces pièces, nous déléguons le travail de l’artisan et gérons l’acte de produire
- Nous sommes moins impliqués dans la fabrication, et notre sentiment de propriété sur le code produit par le LLM diminue
- Autrement dit, nous avons remplacé l’artisanat (
craftsmanship) par le management
- Nous nous intéressons davantage au résultat du travail qu’aux pièces exactes que nous fabriquons
- La programmation devient un moyen et non plus une fin
- Heureusement, ou malheureusement, des problèmes surviennent toujours dans le code, et il faut encore en comprendre le contexte puis les corriger
- Cela signifie qu’une intervention humaine reste nécessaire dans le processus de programmation
- On peut s’immerger davantage dans la programmation en utilisant des agents LLM
- Nous nous concentrons sur des abstractions de haut niveau, tandis que les agents LLM effectuent activement les changements
- Mais il n’existe pas encore d’outils vraiment adaptés
- La charge cognitive liée à de nombreux changements successifs est élevée, et il faut un moyen de la gérer
- La mémoire humaine a des limites (pour la mémoire à court terme, seulement 7±2 éléments peuvent être retenus), donc il faut des outils bien conçus capables de représenter l’information à différents niveaux d’abstraction
- On peut alors comprendre les détails puis dézoomer progressivement vers une vue d’ensemble
2 commentaires
Doit-on réserver l’artisanat uniquement au code ? Ne peut-on pas faire preuve d’artisanat dans le logiciel, dans le produit lui-même ?
À l’origine, la programmation n’a jamais été un objectif, mais un moyen.
L’évolution de ces outils nous a permis de consacrer notre temps non pas à des choses inutiles, mais à des idées plus vastes et au design.
Compilateurs, systèmes d’exploitation, langages de script, etc.