Arthur vit sur le bureau. Il répond en une milliseconde avec ses propres règles, appelle un grand modèle seulement quand il le faut — et refuse d'inventer quand il ne sait pas.
J'ai demandé à mon assistant : « c'est quoi la tour ? »
Il m'a répondu le cycle de reproduction du VIH.
Rien n'était cassé. Le mot français tour se cachait dans détournement, au milieu d'un document médical qu'il avait avalé. Il a trouvé, et il a répondu avec un aplomb total.
Le défaut n'était pas « le modèle n'est pas assez malin ». Le défaut, c'est que le modèle ne dit jamais qu'il ne sait pas. Tous les assistants que j'utilise préfèrent inventer une réponse plausible plutôt qu'avouer un trou.
Pour un compagnon posé sur un bureau toute la journée, qui lit une vraie machine et raconte ce qu'il y voit, ce n'est pas un petit défaut. C'est tout le problème.
Arthur est construit autour d'une seule règle : il préfère ne rien dire que dire quelque chose de faux.
Le dernier étage est le cœur du projet. « Je ne sais pas » n'est pas un échec : c'est une arrivée légitime. Si rien au-dessus ne peut répondre vrai, Arthur le dit et s'arrête.
Demandez-lui une question de santé, il refuse net. Demandez-lui la couleur du chapeau d'un voisin, il dit qu'il ne peut pas savoir. Coupez sa connexion au serveur, il dit « je n'ai pas pu regarder » — il ne comble jamais le silence par une supposition.
Ses outils mesurent à l'instant, ils ne récitent pas une réponse gardée :
> qui est en ligne ? Sur la tour (le serveur qui porte le site) : · pandemonium Up About an hour · petit-braignak Up 47 hours · tour-caddy-1 Up 41 hours → 8 en marche. A la maison : · le cockpit — porte 8790 · le cerveau qui reflechit ici — porte 8081
Un deuxième outil regarde la santé du serveur : depuis quand il tourne, sa charge, la place sur son disque, ce qui est tombé, et si les pages s'ouvrent. Puis il tranche.
Le tableau de bord de mon propre serveur répondait « introuvable ». Je ne le savais pas.
Le gagnant est plus lent de 163 millisecondes que son concurrent direct. Et il ne devine pas. Pour un projet bâti sur le refus d'inventer, le choix n'était pas serré.
Certains modèles réfléchissent d'abord. Si on ne leur laisse pas assez de place, toute la place part dans la réflexion, la réponse n'est jamais écrite, et ce qui revient est vide. Le programme qui appelle plante sans comprendre pourquoi.
Arthur le dit maintenant, au lieu de planter — et il ne rend jamais les brouillons du modèle comme si c'était sa réponse.
Le contrôle qui compte le plus casse la connexion au serveur exprès, puis vérifie trois choses : qu'il avoue n'avoir pas pu regarder, qu'il n'invente aucun nom, et qu'il ne dit surtout pas « tout va bien ».
Une porte qui n'a jamais rien refusé ne garde rien.
L'un comptait une réponse hors sujet comme juste, parce que le mot « aucun » apparaissait dedans. L'autre comparait la longueur d'un texte à 60 au lieu du texte lui-même.
Les deux étaient verts. Un contrôle vert qu'on n'a jamais essayé de casser est une décoration.
| Ce qu'il fait | |
|---|---|
| Répondre depuis ses règles | 1 à 5 ms |
| Calculer | 1 ms |
| Regarder qui tourne sur le serveur | 670 ms |
| Appeler le grand modèle | 891 ms |
| Refuser, et dire pourquoi | 1 ms |
| Réparer une panne tout seul | pas encore |
| Déployer une application | pas encore |
Les deux dernières lignes sont la suite du travail. Les écrire ici plutôt que les taire, c'est la même règle que celle d'Arthur.