Au printemps 1977, Donald Knuth reçut les épreuves d'une nouvelle édition de The Art of Computer Programming et les trouva laides. Son éditeur avait troqué la composition au plomb contre la photocomposition, et les mathématiques qui semblaient autrefois gravées paraissaient désormais photocopiées. Il n'écrivit pas de lettre furieuse. Il estima la réparation à six mois environ, mit ses recherches de côté et entreprit de construire son propre système de composition. Cela lui prit près de dix ans. Le LaTeX que nous tapons presque tous aujourd'hui est la gentillesse ultérieure de Leslie Lamport : une couche de macros accueillantes posée sur la machine que Knuth avait construite et nommée TeX.
Cette histoire, c'est mon mentor David Turnbull qui me l'a racontée lors d'un de nos points réguliers sur Zoom. Il m'a recommandé de lire les livres de Knuth. Dans la même conversation, il m'a montré deux éditeurs qu'il admirait : Typst, qui replie l'écriture et le rendu en une seule surface vivante, et LiquidText, qui permet d'épingler une pensée à l'endroit exact de la page qui l'a provoquée. Cet après-midi-là, je ne m'en suis pas rendu compte, mais il venait de me tendre, d'un même geste, une liste de lecture et un cahier des charges.
Ce qui m'est resté de l'histoire de Knuth, ce n'est pas la décennie héroïque. C'est le refus du début. Les pages étaient fausses, et il n'avait aucun moyen d'y plonger la main pour les corriger — alors il a construit le plonger-la-main. Il n'accepterait pas une sortie qu'il ne pouvait ni inspecter ni contrôler.
Cinquante ans plus tard, j'écris des articles avec un agent IA, et le même problème est revenu sans bruit, sous d'autres habits.
L'agent écrit LaTeX mieux que moi. Là n'a jamais été la question. Demandez à Claude de resserrer un paragraphe : vous obtenez un paragraphe plus serré. Ce qu'il ne peut pas vous donner, ce sont deux choses : le lieu et la preuve. Le lieu : quelle phrase, sur quelle page, dans quel fichier — l'agent modifie à l'aveugle, car il ne voit jamais la page rendue que vous êtes en train de lire. La preuve : après la modification, qu'est-ce qui a changé, exactement ? Vous pouvez le demander, le modèle répondra, et la réponse sera un témoignage. Le récit qu'un modèle fait de ses propres modifications est le souvenir d'une intention. Ce n'est pas un diff.
La réponse de Knuth à la mauvaise sortie fut un système où chaque marque sur la page remonte à une commande écrite de sa main. En construisant MagicTeX, notre réponse fut l'image en miroir : chaque marque laissée par l'agent doit s'inscrire, vers l'avant, dans un registre qui appartient à l'humain.
L'éditeur fonctionne ainsi. Vous lisez le PDF rendu comme un directeur de thèse
lit un tirage papier, et vous annotez la page elle-même : vous sélectionnez un
passage, vous écrivez « grand par rapport à quoi ? ». L'agent ne reçoit pas une
impression vague mais une instruction localisée : la page, le passage cité, le
fichier source et la ligne, votre demande. Il modifie exactement là. Et à
l'instant où l'article se recompile, le nouvel état est photographié dans une
ref git cachée : pas vos branches, pas votre git log — un registre parallèle
que l'espace de travail tient pour vous. Chaque compilation est un point de
contrôle. Chaque point de contrôle a son diff. N'importe quel fichier peut être
remis tel qu'il était. Typst a enseigné la fenêtre ; LiquidText a enseigné les
marges ; git, sans bruit, se charge de la mémoire.
C'est ce registre qui permet d'être généreux avec l'autonomie. MagicTeX possède
un mode appelé /ultra-agents : un agent relecteur critique l'article, accepte
ses propres suggestions et les corrige, tour après tour, sans approbation
humaine entre les tours. Décrit ainsi, cela semble téméraire. Ce n'est
défendable que pour une seule raison : il ne peut jamais distancer le registre.
Chaque tour atterrit comme un point de contrôle ordinaire et réversible, et
quand la poussière retombe, vous lisez l'historique en arbitre, pas en otage.
On peut confier la plume à plus rapide que soi, à condition de garder la page,
les marges et l'historique.
Knuth comprenait ce contrat social depuis l'autre côté. Il est célèbre pour envoyer un chèque de 2,56 dollars — un dollar hexadécimal — à quiconque trouve une erreur dans ses livres. La plupart des destinataires encadrent le chèque au lieu de l'encaisser, ce qui prouve précisément le propos : l'argent n'a jamais été la récompense. La récompense, c'est d'appartenir à un système qui dit : ici, les erreurs peuvent être trouvées, et les trouver est honoré. Voilà à quoi sert une piste d'audit. Pas à la suspicion : à l'hospitalité envers la correction.
Je ne crois pas que la leçon de 1977 soit de se méfier de ses outils. Knuth ne s'est pas replié sur la machine à écrire ; il a construit une meilleure machine, puis a inscrit une prime aux errata dans sa culture. La leçon, c'est que déléguer et contrôler ne sont pas des contraires — qu'on peut embrasser le collaborateur le plus rapide qu'on ait jamais eu et continuer d'exiger, poliment, des preuves.
C'est toute l'idée de MagicTeX, et elle a commencé par une histoire racontée sur Zoom. Vous annotez la page. L'agent travaille la source. Et git se souvient de ce qui s'est réellement passé — qui que ce soit, ou quoi que ce soit, qui ait tapé.