22 points par xguru 2025-03-14 | 2 commentaires | Partager sur WhatsApp
  • 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

 
superego 2025-03-17

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 ?

 
kandk 2025-03-14

À 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.