Écrire dans un monde submergé par la génération

Programmes, billets, essais : j'écris des textes. Les programmes aussi écrivent des textes. Ils sont plus rapides que moi, simple humain, mais ils ne comprennent rien à ce qu'ils génèrent. On peut se réjouir et se lamenter en même temps, car s'ils ne sont pas capables de raisonner, ils ont déjà pourri le web. En sera-t-il de même pour l'écriture des programmes ?

Les programmes de génération de contenu (GenAI) peuvent rédiger des écrits classiques et des programmes. Les performances sont remarquables. Si ces outils peuvent être des aides, et il serait idiot de le nier, ils induisent cependant des coûts cachés pour l'utilisateur et un risque pour nos sociétés : bouillie de textes (AI Slop), perte d'autonomie, stagnation de ses compétences, voire pire.


Auteurs et développeurs, unis dans une même galère

Ce billet est très personnel.
Écrire est pour moi un travail et un loisir.

J'écris des programmes de traitement de données et je conçois des algorithmes de science des données (data science). J'écris des textes autour de ces sujets sur ce que j'aime et ce qui m'agace, quelque part entre opinion et vulgarisation technique. Comme beaucoup de professionnels de l'écriture, mes deux activités ont été fortement impactées par les programmes de génération de contenu (GenAI). Ces programmes ont fait irruption chez les professions intellectuelles, faisant croire au badaud et au décideur pressé à une forme d'externalisation de l'intelligence humaine. Est-ce un hasard si les services communication et marketing parlent de programmes IA ou agents IA ?

À partir d'un certain âge, on se rend compte que nier le réel est souvent une mauvaise idée. Qu'ils écrivent pour des humains ou des processeurs, les auteurs doivent désormais tenir compte de la génération automatique et peut-être en faire quelque chose.

Point sémantique

Je parlerai de textes pour les écrits classiques (article, fiction, littérature générale) et de code source pour la programmation.

La destination des textes s'est brouillée. Pensés pour des humains, ils sont lus et utilisés aujourd'hui par les moteurs de recherche, puis extraits et compilés en bases de données souvent utilisés pour l'entraînement de modèles d'apprentissage. Un glissement a eu lieu. Il faut se demander pour qui on écrit, et pourquoi.

Submersion, bouillie, ratiatouille

Différentes études semblent indiquer que les textes qu'on trouve sur le web ne sont plus, dans leur majorité, écrits par des humains. Ils sont maintenant générés par des programmes (ici, ). Les contenus peuvent être originaux, si ce terme a un sens dans le cas de la génération (spoiler: bof), ou traduits vers d'autres langues. Les anglophones appellent ce phénomène AI slop, une expression que j'ai très envie de traduire par bouillie IA ou mauvaise ratiatouille. Certains n'hésitent plus à parler d'Internet Zombie (404), pour décrire l'avalanche de textes et d'images générés par les programmes.

Nous laissons donc ces programmes pourrir le web. Correction : nous laissons des humains et des organisations pourrir le web avec ces programmes. Quel dommage de diluer ainsi notre univers informationnel dans une telle soupe.

Gustave Flaubert n'aime pas ChatGPT

Les sites webs m'ennuient. Les rapports publiés par des institutions sérieuses deviennent illisibles, noyés dans les formules vides typiques de la génération. Même les blogs personnels deviennent fades. Les textes générés sont systématiquement creux, ennuyeux et insipides. Il n'y aucune matière. J'emprunte les mots du génial auteur de Madame Bovary :

La conversation de Charles était plate comme un trottoir de rue, et les idées de tout le monde y défilaient dans leur costume ordinaire, sans exciter d'émotion, de rire ou de rêverie. Gustave Flaubert

Si la forme déplaît, le fond peut aussi être faux/ Je me suis rendu compte récemment que j'étais devenu méfiant quand je lisais quelque chose sur un écran. Les profs témoignent dans ce fil BlueSky récent de leurs difficultés très pratiques à devoir composer avec ces outils : notent-ils l'élève, le programme ou une bouillie concoctée par les deux ? La paranoïa rode.

This is not a bug, this is a feature

Les textes générés sont-ils corrects ? Peut-on différencier les informations pertinentes des hallucinations semi-exactes voire mensongères ? Est-il possible d'utiliser un agent comme un oracle ? Peut-on croire ce que nous racontent les agents ?

Non. Gary Marcus, Timnit Gebru, Luc Julia ou Yann LeCun s'expriment souvent sur la fiabilité des LLM en général et sur la pertinence de la bulle IA actuelle - avec une forme d'interrogation autour de la cohérence de LeCun, qui critique ce qu'il a contribué à construire. Ils sont unanimes. Techniquement, rien ne différencie une hallucination d'une information correcte.

Il est actuellement impossible de différencier les hallucinations des informations pertinentes. Les LLM hallucinent donc tout le temps et génèrent parfois des informations pertinentes ou vraies. La vérité est cruelle, les modèles de langage fonctionnent ainsi. Certains s'emploient maintenant à essayer de contraindre ces programmes afin de mieux cadrer les réponses et limiter les inventions. Je leur souhaite beaucoup de courage, de patience et de drogue.

Donald Knuth formule les choses d'une façon percutante dans un rapport sur ChatGPT :

Il est stupéfiant de constater à quel point la confiance affichée [par ChatGPT] donne de la crédibilité à toutes ces inepties. Il est presque impossible pour quelqu'un qui ne connaît pas [le sujet] de remarquer que les informations présentées comme factuelles ne sont pas pertinentes et n'ont pas fait l'objet de recherches approfondies. Donald Knuth (2022)
Prix Turing 1974

Écrire encore ?

À force de vouloir entrer dans le moule, on finit par devenir tarte, disait ma grand-mère maternelle. Elle disait aussi qu'il ne fallait pas mener des combats perdus d'avance. Je répète à mon tour ce genre de choses à mon chat, quand ma fille est trop occupée à construire des cabanes pour ses tétards.

Résister à la submersion de la génération, c'est aller sur un terrain que les programmes n'ont pas (encore) envahi. Oui, il reste encore des endroits de calme relatif. Le raisonnement, la pensée, la précision, par exemple. Tout ce qui a trait à l'expérience directe du monde. La vie, notamment. Les programmes n'ont pas de point de vue, les programmes n'ont pas de trucs à raconter le soir à leur famille ou leurs amis, les programmes n'ont pas d'opinion. Les programmes n'ont pas de subjectivité.

Les programmes sont des putains d'objets.

Nous autres, auteurs humains, nous pouvons avoir un point de vue. Nous pouvons formuler une opinion. Nous pouvons proposer un regard humain face à l'IA slop. Quittons le cortège des commentateurs et des fanatiques modérés du consensus mou et chérissons les idées originales. C'est une des raisons qui me motive à faire vivre ce site : raconter des trucs et des machins. Les autres raisons relèvent assurément du discours égotique, de la psychothérapie sauvage ou de l'auto-analyse.

(le saviez-vous ? en 2025, les agents conversationnels sont régulièrement utilisés comme psychothérapeutes virtuels)

Une querelle des anciens et des modernes ?

Le code source est un texte comme un autre, avec son vocabulaire, sa grammaire, son style.

Les programmes doivent être écrits pour que les gens les lisent, et seulement accessoirement pour que les machines les exécutent Abelson et Sussman (1985)

L'intérêt de la génération de code divise les informaticiens. Certains se prosternent, certains acceptent, d'autres renaclent, d'autres encore ne s'en servent pas. Ce n'est pas clair. Je renvoie à ce sondage sur linuxfr.org pour se faire une idée des problématiques que rencontrent les informaticiens expérimentés.

J'ai le sentiment que le code généré, quand il fonctione, est plutôt de faible qualité, voire jetable ... et donc souvent jeté. J'attends des études sérieuses et systématiques sur les gains réels concernant la qualité de la génération et sur la maintenance à moyen et long terme des bases de code ainsi produites. Différentes conversations privées m'indiquent cependant que les bénéfices de la génération de code ne sont pas au niveau des attentes, loin de .

La qualité du code est un sujet important. Les non développeurs l'ignorent habituellement. Voici ce qu'en dit un autre boss de niveau, Linus Torvalds, créateur et dictateur en chef de Linux :

La véritable qualité, c’est lorsque les développeurs sont fiers du [code source] qu’ils écrivent, qu’ils s’y investissent pleinement et s’en sentent personnellement responsables. Linus Torvalds (2008)

Post coïtum animal triste

Je vais prendre le temps d'expliquer mon point de vue sur la génération de code.

Comme tout le monde, j'ai été impressionné par l'agent conversationnel ChatGPT et les LLM en général. J'y vois un remarquable tour de force technique. On en parle ici et un peu partout dans les derniers billets. Mais une fois l'excitation de la découverte retombée, ses erreurs systématiques m'ont vite lassé. Rappelons que les programmes de génération construisent des phrases qui sonnent juste mais sans les comprendre. Or il se trouve que dans mon métier, le sens est important. Ne pas comprendre ce qu'on écrit est rédhibitoire.

L'usage massif et systématique de la génération par l'ensemble des professions intellectuelles m'a poussé vers une forme de résistance, à la fois pour de bonnes raisons éthiques et pour de mauvaises raisons personnelles. Je ne peux pas me résoudre à laisser dire que mon travail peut être réduit à une génération aléatoire de symboles.

Une insulte et une erreur

Réduire le travail de développeur à une génération aléatoire de symboles est une insulte et une erreur. Dire qu'un programme peut être écrit sans réflexion, c'est littéralement prendre les développeurs pour des crétins. Et c'est une erreur de penser qu'on peut assembler un programme en égrenant des symboles de manière probabiliste, token par token, sans plan d'ensemble et sans aucune forme de compréhension : le code source ainsi généré ne sera pas satisfaisant.

Les techbros et suiveurs fanas d'innovation diront que je suis un peu réac', grand bien leur fasse.

Je ne me sens pas en concurrence avec ces programmes. J'exerce depuis vingt ans le difficile métier de data scientist, et je doute qu'un programme me remplace efficacement. J'observe avec intérêt ceux qui se servent de ces outils et qui succombent plus ou moins systématiquement aux nouvelle modes qui fusent ici ou là (vibecoding, systèmes hybrides).

Je plains sincèrement les jeunes développeurs qui entrent dans la profession en devant affronter une concurrence déloyale. Qu'ils se rassurent : créer un programme n'est pas uniquement écrire du code. Il faut aussi réfléchir à sa conception et à l'articulation des tâches. Fred Brooks parle de la difficulté de la conception des programmes dans son article ultra connu no silver bullet. Je souscris à ses propos presque quarantenaires.

Je pense que la partie la plus difficile de la construction d'un logiciel est la spécification, la conception et le test de cette construction conceptuelle, et non le travail de représentation et de test de la fidélité de la représentation. Nous faisons encore des erreurs de syntaxe, c'est certain, mais elles sont floues par rapport aux erreurs conceptuelles de la plupart des systèmes. Si cela est vrai, il sera toujours difficile de créer des logiciels. Il n'y a pas de solution miracle (no silver bullet). Frederick Brooks (1986)

Les programmes ne sont que des programmes

La génération peut aider les développeurs. Les agents suggèrent des bouts de code et font de l'auto-complétion. Ils fonctionnent comme des ersatz de moteur de recherche ou une interface à SO. Certains les uilisent comme canards en plastique 3.0. Est-ce vraiment une révolution ? Assurément pas.

L'auteur de the Art of Computer Programming (TAOCP) cité plus haut conclut ses observations sur ChatGPT de cette manière :

I find it fascinating that novelists galore have written for decades about scenarios that might occur after a "singularity" in which superintelligent machines exist. But as far as I know, not a single novelist has realized that such a singularity would almost surely be preceded by a world in which machines are 0.01% intelligent (say), and in which millions of real people would be able to interact with them freely at essentially no cost. I myself shall certainly continue to leave such research to others, and to devote my time to developing concepts that are authentic and trustworthy. And I hope you do the same. Donald Knuth (2022)

Si beaucoup d’auteurs de science fiction ont imaginé l’après-singularité, ils ont tous ignoré le moment où des machines très peu intelligentes interagissent massivement avec nous : le moment que nous vivons aujourd'hui n'a pas été pensée.

Le lecteur aura deviné que je me range dans le camp de la reproductibilité, de la compréhension et de la fiabilité. La génération de texte plausible fonctionne de manière globalement satisfaisante, elle ne relève donc plus de l'intelligence artificielle. Ce sujet ne m'interesse plus vraiment. Je propose de limiter la génération aux cas où elle est réellement utile. Et s'il faut ne pas s'en servir, c'est bien aussi. Chacun placera donc le curseur où il le souhaite. Les devs expérimentés à qui je parle me tiennent souvent le même genre de discours.

Générez ce que vous voulez, utilisez les outils qui vous plaisent, faites vos choix. Mais gardez en tête que si votre travail se résume à interroger ChatGPT ou un autre agent, vous courez le risque d'être rendu inutile lors de la prochaine mise à jour du modèle. Le risque ne me parait pas totalement négligeable.

Produire, c'est bien.
Apprendre, c'est mieux.

De l'importance de choisir ses titres

Cette punchline glanée sur Reddit me permet d'amorcer une forme de conclusion.

On a délégué notre esprit critique à des cartes graphiques qui font tourner des LLMs dans le cloud. Y’en a pas marre, sérieux, de bouffer de la bouillie d’IA toute la journée ?

Le printemps actuel de l'intelligence artificielle n'est pas un épiphénomène. L'hiver arrivera, sous une forme ou une autre, mais les outils resteront et seront utilisés. Il ne faut espérer un quelconque désapprentissage de ces nouvelles technologies.

L'industrie de l'informatique (= tech) s'est inventée de nouveaux outils puissants. Ils sont aujourd'hui en voie de démocratisation. Les outils de traitement massif de l'information sont efficaces. Les systèmes de génération, s'ils ne sont pas parfaits, montrent de bonnes performances. Ils auront certainement un impact sociétal majeur. Nos sociétés doivent gérer intelligemment la génération automatique de contenu, et plus généralement les usages de programmes.

La génération pour les masses ?
Le contenu original pour les privilégiés ?
Quelle jolie perspective.


Thomas


Nous ne sommes toujours pas des machines. Nos textes sont pensés et écrits par des humains. Aucun texte n'est généré. Tout soutien sera le bienvenu.