Le code IA et l’artisanat logiciel
(alexwennerberg.com)- Le « slop », ce contenu de mauvaise qualité généré par l’IA, se répand sur l’ensemble d’Internet, et un phénomène similaire apparaît dans le logiciel, au-delà de la musique, de la vidéo et du texte
- La production de contenu se concentre sur l’optimisation avec pour seul objectif de maximiser l’engagement et les revenus, tandis que l’esprit artisanal et la créativité sont en voie de disparition
- La baisse de qualité et la régression technique des grandes entreprises technologiques étaient déjà en cours avant l’arrivée de l’IA, et une division du travail excessivement étroite affaiblit la maîtrise et la capacité de réflexion des ingénieurs
- Les agents IA sont utiles pour des tâches répétitives bien définies, mais présentent des limites fondamentales : ils mentent, comprennent mal le code et génèrent du mauvais code
- Comme au temps du mouvement Arts and Crafts au XIXe siècle, il est temps pour le logiciel de restaurer les idées de l’informatique des débuts et de faire revivre un artisanat centré sur l’humain
La propagation du slop IA et la notion de technique
- Depuis la publication des modèles d’IA, les contenus IA de faible qualité appelés « slop » ont explosé dans l’audio, la vidéo et le texte
- Les contenus poubelles ont toujours existé, mais l’IA a réduit de plusieurs dizaines de fois le travail nécessaire pour les produire
- Dans les tâches sans discernement, ou lorsque le discernement n’a pas d’importance, l’IA a atteint un niveau suffisant pour remplacer la main humaine
- La notion de « technique » chez Jacques Ellul : une manière de penser qui réduit l’activité à un ensemble de moyens efficaces orientés vers des objectifs mesurables et définis
- Les Reels Instagram, vidéos YouTube et billets de blog sont considérés comme de « bons » résultats s’ils obtiennent un engagement maximal avec un effort minimal
- L’obsession des métriques et des performances érode des valeurs immatérielles comme l’artisanat, la beauté ou le plaisir
Comparaison de plateformes musicales : Bandcamp vs Spotify
- Bandcamp : centré sur l’album complet et la curation personnelle
- A soutenu le boom de la musique indie des années 2010 et 2020, contribuant à l’émergence d’artistes comme Car Seat Headrest, Mitski, Alex G et Phoebe Bridgers
- En tant que plateforme dont l’objectif est la musique elle-même, elle interdit la musique générée par l’IA
- Spotify : un modèle fondé sur les playlists et les recommandations algorithmiques
- L’accent est mis sur l’optimisation des métriques plus que sur la musique elle-même
- Diffusion d’une musique fade calibrée pour l’algorithme
- Dans un environnement où l’artisanat n’entre pas en compte, l’IA produit en masse des contenus bien plus avantageux du point de vue de la maximisation des revenus que la musique créée par des humains
La dégradation de la qualité dans l’industrie du logiciel
- Bien avant l’arrivée de l’IA, beaucoup de logiciels étaient déjà d’une qualité globalement faible
- L’ingénierie logicielle dans les grandes entreprises technologiques s’est dégradée jusqu’à ressembler à de la « plomberie »
- Elle se limite à relier divers systèmes pour faire circuler les données
- L’idée du « grand travail » évoquée par Richard Hamming, à savoir créer un cadeau pour l’humanité, est aujourd’hui perçue comme trop idéaliste dans l’industrie technologique
- De nombreux grands systèmes logiciels sont massifs, mal conçus et mal documentés
- Les utilisateurs sont contraints d’adopter en permanence une posture défensive pour ne pas être exploités dans le processus d’« enshittification » des plateformes, qui se dégradent peu à peu
- L’auteur adhère à la perspective présentée par Jonathan Blow dans sa conférence Preventing the Collapse of Software Civilization
- Les ingénieurs professionnels et les grandes entreprises logicielles ont oublié jusqu’à la manière de faire correctement leur travail
- En raison d’une structure de monopole non concurrentiel, protégée des pressions du marché
- les pratiques logicielles se relâchent
- les organisations s’alourdissent
- et la qualité d’ensemble chute fortement
- Les ingénieurs de la big tech n’occupent que des rôles extrêmement limités dans de vastes organisations
- les compétences d’ingénierie larges et l’esprit artisanal déclinent naturellement
Capital humain et problème de la division du travail
- Ce qu’une entreprise ou une société peut accomplir avec l’informatique dépend du capital humain, c’est-à-dire de sa capacité à former des ingénieurs dotés de compétences larges
- La division du travail extrême dans les grandes entreprises technologiques
- produit en masse une main-d’œuvre technique étroite, familière d’un seul domaine
- et la fige dans un profil qui ne fonctionne qu’au sein de l’organisation actuelle de la big tech
Deux phénomènes expliquent pourquoi l’IA devient une menace pour l’ingénierie logicielle
- 1. La perception réaliste que les agents IA menacent l’ingénierie logicielle professionnelle
- Pour les ingénieurs dont le rôle a été réduit à une production logicielle répétitive, étroite et de faible qualité
- l’IA agit réellement comme un substitut assez efficace
- 2. Une généralisation excessive des capacités des agents IA
- L’affirmation selon laquelle l’IA pourrait faire « l’essentiel, voire la totalité » de l’ingénierie logicielle
- ou l’analogie selon laquelle elle serait comme un compilateur qui transforme le langage humain en code
Les limites fondamentales des agents IA
- Pour que de telles affirmations tiennent, elles supposent une vision extrêmement étroite de ce qu’est le logiciel
- De la même manière que la musique générée par l’IA exige de ne voir la musique qu’à travers des indicateurs de consommation
- le logiciel n’est considéré que comme un outil au service d’une fin, avec l’idée que « suffisamment bon, c’est suffisant »
- D’après les expérimentations directes avec les agents IA, ils sont clairement utiles sur certains points, mais ont aussi des limites nettes
- Ils présentent des choses fausses de manière convaincante, comprennent mal le contexte et génèrent souvent du code de mauvaise qualité
- Ils peuvent encore progresser dans certains domaines, mais comme pour la musique ou le texte, leurs limites structurelles sont évidentes
- Les agents IA n’ont pas de pensée autonome et ne peuvent pas déterminer d’eux-mêmes ce que veut l’utilisateur
- Ils fonctionnent le mieux lorsque la demande correspond à un problème clairement défini
- Par exemple : « écrire des tests unitaires », « implémenter une fonction DB de cette forme »
- Les tentatives de généraliser leurs capacités échouent le plus souvent
- et produisent souvent un code monstrueux, certes nouveau, mais difficile à maintenir, comprendre et étendre
Les problèmes du « Vibe Coding »
- Au départ, cela peut sembler impressionnant, mais avec le temps ses défauts propres deviennent évidents
- un code inutilement verbeux et un style négligé
- une structure simple, mais un design plat et pauvre esthétiquement
- des tics récurrents qui finissent par devenir agaçants
- Quand des problèmes surviennent, le débogage se transforme en travail répétitif frustrant
- on code distraitement en regardant d’autres vidéos ou en faisant défiler les réseaux sociaux
- puis on répète sans cesse à l’agent : « il y a un bug, corrige encore »
- Caractéristiques fréquentes du code généré par l’IA
- des boutons avec un padding excessif
- des espacements et des couleurs incohérents
- une platitude esthétique générale
- des éléments d’interface dont la raison d’être n’est pas claire
- une tendance à ajouter des labels et explications inutiles à tous les éléments
Les problèmes systémiques de l’industrie du logiciel et la nécessité de l’artisanat
- Il est difficile de nier que la plupart du code n’est pas très bon, en particulier dans les grandes entreprises
- Avec l’IA, il devient possible de continuer à produire des logiciels de faible qualité plus vite et plus efficacement
- Mais l’IA ne résout pas les problèmes systémiques fondamentaux de l’industrie du logiciel
- Le problème de fond est que nous ne savons toujours pas vraiment comment bien fabriquer du logiciel à grande échelle
- Pour le résoudre, il faut non pas de l’automatisation, mais de l’artisanat et l’esprit critique humain
Le mouvement Arts and Crafts et ses parallèles avec le logiciel
- L’attention se porte sur le mouvement Arts and Crafts de la seconde révolution industrielle
- John Ruskin et William Morris ont réagi à une époque où les capacités étonnantes des machines et de la production industrielle évincaient l’artisan individuel
- Ils ne voyaient pas la production industrielle comme un progrès inconditionnel, et reconnaissaient qu’elle imprimait un « style » propre à ses produits et à ses conditions de travail
- Ils critiquaient la réduction progressive du travailleur au rang de simple pièce d’une immense machine industrielle
- Ils soulignaient qu’il existe clairement des domaines que la machine ne peut pas couvrir, et que cela n’a changé ni alors ni aujourd’hui
- Ils cherchaient comme source d’inspiration à restaurer l’artisanat médiéval
Une transition similaire nécessaire dans le logiciel
- Le domaine du logiciel a lui aussi besoin d’une transition et d’un mouvement comparables
- Il faut réétudier et restaurer les manières de faire et de penser de l’informatique des débuts
- Il existe un riche trésor d’idées ignorées par le courant dominant mais jamais disparues
- des projets impressionnants et beaux, conçus autrement que les logiciels d’aujourd’hui
- Nous sommes actuellement bloqués sur une branche très étroite de l’évolution technique, celle qui va de C/Unix à Javascript/web
- alors qu’il y a bien plus à explorer ailleurs
- Dès qu’on s’engage dans une direction un peu non conventionnelle, l’aide de l’IA disparaît presque entièrement
- l’auteur a essayé de faire écrire du Forth à Claude, avec un résultat proche de l’obstruction
- Comme point de départ, recommandation du wiki Permacomputing
Perspectives à l’ère du code IA
- Le code IA pourrait rendre encore plus courant le logiciel produit en masse et de faible qualité
- En même temps, il pourrait ouvrir un nouvel espace pour les ingénieurs qui cherchent à retrouver l’artisanat et l’expression créative
- Il n’y a pas de pessimisme absolu : plus l’artisanat devient rare, plus sa valeur propre augmente
- Alors que le logiciel dominant montre ses limites, que sa dégradation se poursuit et que la conscience politique conduit à réévaluer la valeur des structures centralisées
- c’est peut-être un bon moment pour voir briller à la marge des logiciels expérimentaux, fabriqués par des humains et opérés à échelle humaine
1 commentaires
Réactions sur Hacker News
J’ai aimé la référence à la pensée de Jacques Ellul
Cela fait réfléchir à nouveau au fait que l’essence du “progrès” technique consiste à ériger l’efficacité en valeur suprême
Il est intéressant de voir à quel point cette valeur a été acceptée presque sans contestation. Mais je crois toujours que d’autres choix restent possibles
Par nature, l’efficacité se fait au détriment de l’adaptabilité et de la résilience
En revanche, l’artisanat, le soin, l’émerveillement sont difficiles à mesurer. L’indicateur que j’utilise, ce sont les e-mails de vraies personnes, et c’est irrégulier et imprévisible
Je pense qu’on peut aussi produire du code de haute qualité avec des agents de codage
Ce n’est pas quelque chose qui se règle en un seul prompt, il faut un processus orchestré de planification–implémentation–vérification–revue
Au fond, cela reste un travail d’ingénierie, seuls les outils changent. Comme la différence entre une scie manuelle et une tronçonneuse : le résultat est le même, mais le processus diffère
Les logiciels d’entreprise sont de mauvaise qualité en particulier parce qu’ils sont vendus à des managers qui ne les utilisent pas
À l’inverse, les logiciels grand public sont plus agréables parce que les utilisateurs les choisissent eux-mêmes
Quand on écrit du code pour soi-même, on n’implémente que les fonctionnalités nécessaires, donc c’est brouillon mais ça fonctionne bien
On peut utiliser les agents de codage comme un nettoyeur haute pression pour laver un projet. Ce n’est pas de l’art, mais c’est satisfaisant
En revanche, il ne faut pas les utiliser sur du code délicat. Mais la plupart des web apps sont bien testées, et il n’y a presque plus de raison de tout faire à la main désormais
Résultat : on se retrouve avec une profusion de fonctionnalités et de toggles inutiles
Les managers veulent des données exactes, tandis que les employés se plaignent que la saisie soit pénible
Faute de budget d’intégration, ou avec des contrats courts, il est fréquent de ne même pas pouvoir faire de connexion CRM
À l’inverse, les logiciels d’entreprise sont déformés par des workflows absurdes à cause du décalage d’incitations entre celui qui paie et celui qui utilise
La plupart des ingénieurs logiciel se concentraient déjà davantage sur le salaire et l’efficacité que sur l’artisanat, même avant l’IA
Donc le code produit par l’IA n’est que du code médiocre parmi d’autres
Je pense que l’IA ne va pas raviver l’artisanat, mais plutôt en effacer les dernières traces
Les outils électriques n’ont pas fait disparaître l’ébénisterie artisanale, et l’IA fera pareil
À l’avenir, les “gens de l’IDE” et les “gens du prompt pour agent” coexisteront
Heureux de voir Forth mentionné. Je l’utilise souvent
Le code Forth généré par un LLM a un mauvais style qui ressemble à une traduction de C
Le Forth standard devrait être court et clair, mais les LLM produisent du code long, rempli de conditions imbriquées
Je lis en ce moment Turing’s Cathedral
Cela me fait redécouvrir l’artisanat de l’ingénierie de l’Amérique d’après-guerre
Aujourd’hui, on considère tout comme acquis et on semble avoir oublié ce qu’était la véritable ingénierie
La plupart du code a toujours été médiocre
Dans une culture centrée sur les résultats, la qualité est passée au second plan, et les bugs sont devenus une partie du coût du business
L’IA s’insère parfaitement dans cet environnement. Elle prospère déjà dans une culture du code de faible niveau
Je pense qu’on peut utiliser l’IA pour créer de meilleurs logiciels
On peut intégrer design, patterns et best practices même dans du code généré par l’IA
C’est comparable à la différence entre la fabrication traditionnelle de guitares et la fabrication moderne de guitares basée sur le CNC
Si on regarde la vidéo sur la fabrication de guitares d’Ulrich Teuffel, on voit que la technique et l’art peuvent coexister
Bien sûr, l’artisanat coûte cher, donc la plupart des gens choisissent des produits industriels
Ils sont en cours d’application à des projets de grande taille, mais les résultats à long terme restent inconnus
Des algorithmes que j’écrivais moi-même autrefois, je les confie désormais à un agent
Comme quand on passe du fraisage manuel au CNC, je fais évoluer ma stack technique pour produire des œuvres de meilleure qualité
Si l’IA permet de produire à bas coût un mauvais logiciel, très bien
La vraie question, c’est si la proportion de bons logiciels augmente. L’IA augmente cette possibilité
L’IA prospère dans un environnement qui optimise le logiciel vers un niveau “suffisamment correct”
Plutôt que de remplacer les excellents ingénieurs, elle met en lumière une réalité industrielle déjà mécanique et guidée par les métriques
Plus le code produit en masse deviendra courant, plus le jugement humain et le sens esthétique deviendront des ressources vraiment rares