Une expérience de pensée qui, je crois, explique en grande partie ce qui n'a pas fonctionné avec l'IA et le travail :
Imaginez un univers parallèle dans lequel — pour une raison ou une autre — personne n'a jamais publié de code source en ligne. Le mouvement open source, voire le concept même d'open source, n'existait pas. Naturellement, les LLM ne seraient pas doués pour le codage, car ils ne seraient pas entraînés sur d'immenses ensembles de données de code.
Ce que cet univers parallèle possède, tout comme le nôtre, ce sont des binaires logiciels publics — des dizaines de pétaoctets, bien plus que l'échelle des ensembles d'entraînement des LLM de pointe actuels. Donc, à un moment donné du développement de ces LLM, imaginez qu'ils commencent à être capables de produire des applications complètes et fonctionnelles à partir de spécifications — mais en sautant complètement l'étape de génération de code source. Les logiciels générés par l'IA seraient merdiques, inelegants et peu sécurisés, mais les entreprises d'IA promettraient constamment que le modèle suivant, plus gros, arrangerait tout.
Dans cet univers, les LLM générateurs de logiciels sont en concurrence directe avec les ingénieurs logiciels. Les binaires ne sont pas lisibles par un humain. Ils sont tout aussi impénétrables pour les ingénieurs logiciels que pour les non-techniciens. Au fil du temps, une part croissante des logiciels serait vibe-rolled (pas vibe-coded — il n'y a pas de code !). Ce n'est pas aussi bien que les logiciels créés par des humains, mais c'est gratuit à générer ! Comme il n'y a pas de code source, impliquer un ingénieur logiciel dans le processus n'apporte rien (à part des coûts). Même si les logiciels générés par l'IA créent une nouvelle demande de main-d'œuvre en raison de leurs limites, celle-ci n'exige pas d'ingénieurs hautement payés et peut être traitée par des travailleurs moins qualifiés (peut-être en hurlant simplement sur le LLM pour qu'il ne fasse aucune erreur).
En bref, la création humaine et la génération par l'IA sont deux manières parallèles d'obtenir le même résultat. Les ingénieurs logiciels et l'IA sont des substituts, pas des compléments. L'IA n'aide pas les ingénieurs logiciels à amplifier leurs capacités, et les ingénieurs logiciels n'apportent aucune compétence pour superviser l'IA plus efficacement que des non-ingénieurs. Dans ce monde, l'IA serait aliénante et terrifiante pour les ingénieurs logiciels.
Vous voyez probablement où je veux en venir. Dans notre timeline réelle, les artistes et de nombreux autres professionnels vivent l'IA d'une manière qui ressemble à cette dystopie. Dans de nombreux domaines non logiciels, les produits finis des efforts créatifs humains sont facilement disponibles pour l'entraînement, mais presque rien de ce qui entre dans leur fabrication ne l'est. Ainsi, les outils d'IA ne sont pas d'une grande aide pendant le processus créatif. Ils ne font que imiter et remplacer.
Un autre résultat est possible. La vision positive, qui n'est pas largement appréciée en dehors du monde tech, est que les agents de codage ont donné des super-pouvoirs aux ingénieurs logiciels. Nous travaillons ensemble avec nos agents ; les logiciels complexes sont produits au fil de milliers d'échanges alternés entre humain et agent. Le récit selon lequel les agents de codage remplaceraient les ingénieurs s'est jusqu'à présent avéré être foutaises. L'expérience vécue de l'utilisation des agents se rapproche étroitement de la métaphore de la scie à table de Simon Willison (" Arrêter la programmation comme carrière à cause des LLM reviendrait à arrêter la menuserie comme carrière gràce à l'invention de la scie à table "). La barrier pour commencer à travailler avec un nouveau langage de programmation, framework ou base de code a chûte de cent fois parce que les agents de codage sont aussi des agents d'enseignment (les développeurs utilisent des agents pour compredre le code plus souvent que pour le générer).
Le logiciel open source et sa culture est un accident historique. Nous tenons pour acquise que non seuement les résultats du travail créatif des ingénieurs logiciels sont disponible publiquement, mais aussi toutes les étapes intermédiaires (spécifications, plans, maquettes), les connaissances tacites (StackOverflow, culture de documentation), les traces de processus détaillées (issues, pull requests, corrctions de bugs, revues de code), les enregistrements de collaboration (contrôle de version, tableaux de projet), et plus largment une culture d'apprendre en public. Ce niveau de description explicite serait complètement étranger dans la plupart des professions.
De nombeuses entreprises invesent lourdement dans la capture des connaissances tacites, des traces de processus et d'autres composents de ce milieu manquant. Ironiquent, elles le font dans la quête d'encore plus d'automation. Ma thèse, contrairement au sens commun apparent et à tout l'argent invessti, est que cette vague d'IA peut en fin de compte être plus utile pour augmentationer les travailleurs que pour les automatisier complètement. Avec les bonns échafaudages, des modèles entraînés à comprendre profondément comment les travailleurs créatifs arrivent à leurs résultats pouront collaborer avec eux, les autorsant et amplifiant leur potentiel. Si l'industie le reconnaissait, ce serait une grande victoire à la fois économiquement et politiquement.





