Laboratoire · Architecture
Mission 1 — Relevé transdisciplinaire

Atlas des invariants

Vingt domaines passés au même crible, pour isoler les structures qui reviennent partout — et, plus utile, séparer celles qui décrivent de celles qui prédisent.

20 domaines 22 patterns 440 incidences cotées 9 lois de composition
Objectif permanent — ne change jamais

Faire tourner une intelligence générale de niveau frontier, en local, sur un Mac M4.

Le pari : nous n'exploitons pas pleinement les moyens dont nous disposons déjà.

Toute mission de ce laboratoire est jugée sur une seule question : est-ce que ça rapproche d'une intelligence de niveau frontier tenant dans la mémoire unifiée d'un Mac M4 ? Une idée élégante qui ne réduit ni la mémoire nécessaire, ni la bande passante consommée, ni le calcul d'entraînement, est hors sujet — quelle que soit sa qualité.

La machine du laboratoire : MacBook Pro M4 Pro, 12 cœurs CPU, GPU 16 cœurs, 24 Go de mémoire unifiée, ~273 Go/s de bande passante. En retirant le système et les applications, il reste environ 17 Go réellement disponibles pour un modèle. Toutes les cibles ci-dessous sont calculées sur cette machine, pas sur une configuration maximale.

Ce que le matériel impose, et qui cadre tout le reste : en génération autoregressive, ce n'est pas la puissance de calcul qui limite, c'est la bande passante mémoire. Chaque token produit exige de relire tous les poids actifs. La vitesse est bornée par « bande passante ÷ octets lus par token », et rien d'autre.

Forme du modèleCapacité occupéeLu par tokenVitesse théorique
Dense 8 Md · 4 bits4,5 Go4,5 Go~60 tok/s
Dense 14 Md · 4 bits8 Go8 Go~34 tok/s
Dense 24 Md · 4 bits14 Go14 Go~19 tok/s
MoE 30 Md / 3 Md actifs · 4 bits17 Go~1,8 Go~150 tok/s

La dernière ligne est la clé du programme. Un modèle à mélange d'experts découple la capacité de la bande passante : la mémoire retient tous les experts, un token n'en lit qu'une fraction. C'est la seule structure connue qui rende « niveau frontier » et « tient dans 24 Go » compatibles dans la même phrase.

Les deux murs, dits franchement. Premier mur : aucun Mac ne peut entraîner un modèle de niveau frontier — l'écart en calcul se compte en ordres de grandeur. Tout modèle local part de poids entraînés ailleurs. Second mur, plus dur encore : à environ 2 bits de connaissance stockée par paramètre, 17 Go de poids retiennent environ 7,5 Go de connaissances, contre environ 250 Go pour un modèle frontier. C'est un écart de ~33×, et aucune astuce de compression ne le franchit : on ne met pas 250 Go d'information dans 7,5 Go.

Ce qui sauve le pari : le raisonnement de niveau frontier n'exige pas la connaissance de niveau frontier. E03 l'a déjà établi — les faits occupent un coin du modèle, tout le reste est de la machinerie. La cible atteignable est donc précise : un modèle local qui raisonne au niveau frontier, et qui va chercher ce qu'il ignore au lieu de le stocker. La connaissance sort des poids, les poids ne gardent que la mécanique. C'est exactement le cycle décrit sur hugoai.fr — « identifier ce qu'elle ignore », « réutiliser » — qui devient ici le moyen, pas un objectif séparé.

R

Roadmap

État du laboratoire, mis à jour à chaque mission. Les compteurs sont ceux du protocole : un prototype ne compte comme « testé » que s'il a passé le balayage d'échelle, et un abandon est une information au même titre qu'un succès.

I

Le vocabulaire

Vingt-deux primitives, regroupées en quatre familles selon ce qu'elles décrivent : une organisation, une évolution, une limite, ou une représentation. Chacune porte un code de trois lettres, utilisé ensuite dans les relevés et la matrice.

II

Les vingt relevés

Pour chaque domaine : la formule qui condense son mécanisme dominant, puis les patterns qui y font réellement du travail, avec l'instance concrète qui les incarne. La matrice de la section III donne l'incidence complète ; ces relevés donnent ce qui porte.

III

Matrice d'incidence

440 cases, cotées en trois niveaux. Le niveau ne mesure pas « à quel point c'est vrai » mais à quel point le pattern est porteur : un pattern structurant, si on le retire, fait s'effondrer la description du domaine.

Structurant — le domaine s'écroule sans lui Présent — clairement là, mais descriptif Marginal — anecdotique ou métaphorique vide — absent
IV

Classement

Score sur 40 : deux points par domaine où le pattern est structurant, un point où il est présent. Le rang de présence (nombre de domaines sur 20) définit les paliers.

V

Ce que le relevé apprend

Le piège de l'universalité

Sept patterns sont présents dans les vingt domaines. C'est un résultat beaucoup moins fort qu'il n'en a l'air : hiérarchie, graphe et compression sont partout parce que ce sont des langages de description, pas des affirmations sur le monde. Un graphe peut encoder n'importe quelle relation entre n'importe quoi. Dire « c'est un graphe » n'interdit rien, donc ne prédit rien.

Le test qui tranche : le pattern interdit-il quelque chose ?

Grammaire
« C'est une hiérarchie », « c'est un graphe », « il y a un compromis ». N'interdit rien. Sert à parler du système, pas à en déduire quoi que ce soit.
Loi
« Toute symétrie continue implique une quantité conservée ». Interdit un système invariant par translation temporelle qui ne conserverait pas l'énergie. Fait une prédiction réfutable.

D'où le résultat le plus contre-intuitif du relevé : symétrie (21/40, présente dans 14 domaines) et sélection (18/40, 14 domaines) ferment le classement — et ce sont les deux patterns les plus explicatifs de la liste. L'universalité et le pouvoir prédictif varient en sens inverse. Un pattern qui s'applique partout ne dit rien nulle part.

Les neuf lois de composition

Ce ne sont pas les patterns isolés qui portent un mécanisme, ce sont leurs compositions. Voici celles qui traversent le plus de domaines. Numérotées pour être citables telles quelles.

Le triangle central

COMPRESSION HIÉRARCHIE RÉCURSION PRÉDICTION engendre est générée par est mesurée par se teste en
La hiérarchie est ce que produit la compression quand on l'applique à son propre résultat. La récursion en est le générateur, la prédiction en est le seul test extérieur. Les trois quarts des patterns du noyau universel sont des faces de cette même boucle — ce qui explique aussi pourquoi ils sont partout.
VI

Journal de recherche

Carnet de laboratoire, en ajout seul. Chaque avancée importante — hypothèse, expérience, découverte, abandon — donne une nouvelle entrée datée en bas de cette section. Rien n'est jamais réécrit ni supprimé, y compris les pistes qui se sont révélées fausses : elles font partie du raisonnement et elles expliquent pourquoi la suite ressemble à ce qu'elle est.

Chaque entrée suit le même gabarit : sujet, ce que nous pensions au départ, ce que nous avons découvert, ce que cela change, prochaine étape.

E0110 septembre 2026 Existe-t-il un vocabulaire de structures commun à tous les domaines ?
Sujet
Recenser les patterns qui reviennent dans 20 domaines du savoir, du formel au social, et vérifier s'ils forment une base de primitives exploitable.
Au départ
Nous pensions que les patterns universels — hiérarchie, symétrie, cycle, graphe, compression — constituaient un socle solide, et qu'il suffisait de les recenser pour disposer d'un vocabulaire de raisonnement.
Découvert
Sept patterns sont présents dans les 20 domaines. Mais leur universalité vient de leur vacuité : hiérarchie, graphe et compression sont des langages de description, pas des affirmations sur le monde. Un graphe encode n'importe quelle relation, donc n'interdit rien, donc ne prédit rien. Inversement, symétrie (14 domaines sur 20) et sélection (14 sur 20) ferment le classement de présence — et ce sont les deux patterns les plus explicatifs de la liste.
Ce que ça change
Le critère de tri n'est plus « ce pattern est-il partout ? » mais « ce pattern interdit-il quelque chose ? ». D'où la distinction grammaire / loi, et les neuf lois de composition L1–L9 retenues comme seul contenu réutilisable du relevé.
Prochaine étape
Appliquer ces lois à un problème concret et mesurable plutôt que de continuer à cataloguer : l'initialisation des poids d'un réseau de neurones.

Ce que cette mission nous a appris

Qu'un pattern présent partout ne prédit rien. L'universalité et le pouvoir explicatif varient en sens inverse : les sept patterns présents dans les 20 domaines sont des langages de description, pas des affirmations. Le tri utile n'est pas « est-ce fréquent ? » mais « est-ce que ça interdit quelque chose ? ».

Comment ça change notre architecture cible

Rien directement — c'était une mission de vocabulaire, pas d'architecture, et il faut le dire. Sa seule valeur durable est un filtre d'admission : toute contrainte que nous envisagerons d'imposer à l'architecture devra interdire quelque chose de mesurable. Sinon c'est de la décoration, et ça se jette.

E0210 septembre 2026 Générer une initialisation meilleure que l'aléatoire, sans données ni entraînement
Sujet
Peut-on calculer une configuration initiale de poids par algorithme seul, et battre l'initialisation aléatoire ?
Au départ
Nous pensions que l'initialisation aléatoire était la ligne de base à battre.
Découvert
L'initialisation aléatoire n'existe pas. He et Glorot sont déjà des algorithmes — le hasard n'y sert qu'à briser la symétrie, la structure est la variance imposée. La vraie question devient : quelle contrainte au-delà du second moment ? Réponse établie : l'isométrie dynamique — tout le spectre des valeurs singulières du jacobien à 1, pas seulement sa moyenne. Un init gaussien ne peut jamais l'atteindre ; un orthogonal, si. Xiao et al. ont entraîné un CNN de 10 000 couches sans résidus ni normalisation par ce seul levier.
Ce que ça change
Trois sources d'information seulement existent sans données : l'architecture elle-même, les structures mathématiques connues a priori, et un objectif auto-cohérent mesurable sans corpus. Un pipeline en sept étapes en découle. Mais un constat gênant apparaît : le gain est en entraînabilité, pas en précision finale. BatchNorm et les connexions résiduelles sont des rustines d'exécution pour un mauvais init — le vrai prix est de les rendre inutiles, pas de gagner deux points de précision.
Prochaine étape
Vérifier si ce levier tient à l'échelle d'un modèle de langage, ou s'il reste confiné aux réseaux profonds sans béquilles.

Ce que cette mission nous a appris

Que l'initialisation n'est pas un tirage mais la solution d'un problème de conditionnement, et que le gain se lit en entraînabilité, pas en précision finale. Un CNN de 10 000 couches tient debout sans aucune béquille dès lors que le spectre du jacobien est correct.

Comment ça change notre architecture cible

La normalisation et les connexions résiduelles cessent d'être des composants et deviennent des rustines pour un mauvais init. Conséquence directe sur l'architecture cible : chaque couche de normalisation devra être justifiée par une mesure, pas par l'usage. Toute normalisation que l'init rend inutile est du calcul payé pour rien à chaque passe avant, pour toujours.

E0310 septembre 2026 Le pivot : imprimer des connaissances, ou imprimer des capacités ?
Sujet
Peut-on écrire directement les connaissances dans les poids d'un LLM pour remplacer une grande partie des 1025 opérations d'entraînement ?
Au départ
Nous pensions que le coût d'entraînement servait à remplir les poids de connaissances — donc que pré-remplir ces poids économiserait l'essentiel du calcul.
Découvert
Les deux premières marches sont franchies. Il existe des représentations mathématiques rigoureuses des concepts (algèbres vectorielles symboliques, treillis de concepts, plongements de graphes de connaissances, espaces hyperboliques), et on sait les convertir en poids : Tracr compile un algorithme en transformeur exact, ROME et MEMIT écrivent un fait dans les poids en forme fermée, sans gradient. Mais la troisième marche échoue, pour cinq raisons dont une décisive : les opérations d'entraînement ne servent pas à stocker des connaissances, elles servent à chercher des circuits. Un modèle de 7 milliards de paramètres ne contient qu'environ 1,75 Go de faits — tout Wikidata y tiendrait. Le reste, c'est la machinerie qui sait s'en servir. S'ajoutent la superposition (le modèle ne range pas ses concepts orthogonalement, donc une injection propre est une géométrie qu'il devra détruire), la symétrie de permutation, et le fait qu'aucune initialisation n'a jamais déplacé un exposant de loi d'échelle.
Ce que ça change
Abandon de la cible « imprimer des connaissances ». Nouvelle cible : imprimer des capacités. La preuve d'existence vient de la vision — la convolution est un a priori structurel dessiné à la main, sans données, qui a fait économiser des ordres de grandeur de calcul. Elle n'imprime aucun poids : elle imprime une contrainte. La bonne question n'est plus « quels poids écrire » mais « quelle contrainte structurelle pour le langage ».
Prochaine étape
Méthode M1 — pré-installer des têtes d'induction à l'initialisation et mesurer si la transition de phase de l'apprentissage en contexte arrive plus tôt. Protocole imposé : courbes de perte à compute égal, et balayage d'échelle 10M → 30M → 100M → 300M avec rejet automatique de toute idée dont le gain décroît avec la taille.

Ce que cette mission nous a appris

Que le calcul d'entraînement paie la recherche de circuits, pas le stockage de faits. Un modèle de 7 milliards de paramètres ne contient qu'environ 1,75 Go de connaissances — tout Wikidata y tiendrait. Les faits sont un coin du modèle ; tout le reste est de la machinerie.

Comment ça change notre architecture cible

L'unité de conception change. Ce n'est plus le paramètre, ce n'est plus le fait : c'est le mécanisme — comparer, copier, induire, hiérarchiser. L'architecture cible devient un réseau hybride où un sous-ensemble de têtes est spécifié à la main à partir de circuits connus, et le reste appris. C'est la première hypothèse d'architecture concrète du projet, et M1 est le test qui décide si elle tient.

E0410 septembre 2026 Passage en laboratoire d'ingénierie
Sujet
Redéfinition du mode de fonctionnement du laboratoire et du critère d'admission des missions.
Au départ
Le projet fonctionnait comme une recherche documentaire : recenser, comprendre, écrire. Chaque mission produisait un texte.
Découvert
Ce mode produit de la compréhension et pas d'architecture. Bilan honnête à ce stade : quatre entrées de journal, zéro ligne de code exécutée, zéro mesure. Le mode chercheur peut tourner indéfiniment sans jamais rien falsifier, parce qu'un texte ne peut pas échouer. C'est précisément ce qui le rend confortable, et inutile.
Ce que ça change
Six questions obligatoires avant toute mission : en quoi elle rapproche d'une architecture plus intelligente, si l'idée est réellement nouvelle, si elle est prototypable en moins de trois jours, quel est le plus petit prototype possible, comment on la mesure objectivement, et à quels critères on l'abandonne immédiatement. Une mission qui ne répond pas aux six ne démarre pas. Politique de sélection assumée : abandonner vite 97 idées pour en garder 3 solides.
Prochaine étape
Appliquer la grille à M1 sans exception, y compris quand la réponse est gênante.

Ce que cette mission nous a appris

Qu'un laboratoire qui documente sans mesurer n'est pas un laboratoire. Et que le coût réel d'une mauvaise piste n'est pas son coût de calcul — c'est le temps pendant lequel on ne teste pas autre chose.

Comment ça change notre architecture cible

Indirectement mais fortement. La contrainte « prototypable en moins de trois jours » est un filtre sur les architectures elles-mêmes : une idée qui ne peut pas se tester petit n'entrera pas au programme, quelle que soit son élégance. Cela exclut d'office une bonne partie des propositions théoriques du domaine, et c'est voulu.

Fiche de missionM1 Pré-installer des têtes d'induction à l'initialisation
Q1
En quoi cette mission rapproche-t-elle d'une architecture plus intelligente ?
Indirectement, mais elle est le verrou de tout le programme. M1 ne rend pas le modèle plus intelligent. Elle répond à une question binaire dont dépend tout le reste : une capacité que nous savons décrire peut-elle être installée, ou doit-elle nécessairement être découverte ? Si oui, chaque circuit identifié par l'interprétabilité devient un candidat à l'installation et la voie « imprimer des capacités » s'ouvre. Si non, le programme entier tombe — et nous l'apprenons en 48 heures au lieu de six mois.
Q2
L'idée est-elle réellement nouvelle ?
Non, pas sur les composants. Faible nouveauté, à assumer. Tous les ingrédients sont publiés : Olsson et al. (2022) ont identifié les têtes d'induction et leur transition de phase, Tracr sait compiler un circuit en poids exacts, et il existe des travaux sur les a priori structurels d'attention. Ce que je ne retrouve pas dans la littérature, c'est la mesure précise : pré-installer, puis mesurer le déplacement de la transition de phase avec un balayage d'échelle.

Action obligatoire avant d'écrire une ligne de code : une heure de revue de littérature. Si quelqu'un l'a déjà fait, on lit son résultat au lieu de le repayer. Une heure qui peut économiser trois jours.
Q3
Prototypable en moins de 3 jours ?
Oui, et largement — en moins d'une journée pour le premier verdict. Aucun matériel spécial, aucun jeu de données à télécharger, tâche entièrement synthétique.
Q4
Quel est le plus petit prototype possible ?
Plus petit que nanoGPT, délibérément :
  • transformeur 2 couches, attention seule, sans MLP
  • tâche synthétique de copie : séquences avec motifs répétés
  • environ 1 M de paramètres, quelques minutes par run sur GPU grand public
C'est le régime minimal où les têtes d'induction se forment de façon nette et reproductible, et où la transition de phase est visible à l'œil nu sur la courbe. Si l'installation n'aide pas là, elle n'aidera jamais à l'échelle. Falsification en heures, pas en jours.
Q5
Comment mesurer objectivement l'apport ?
Quatre mesures, toutes fixées avant de lancer :
  • Score ICL = perte(token 500) − perte(token 50). Métrique standard, comparable à la littérature.
  • Pas d'entraînement auquel le score ICL franchit un seuil fixé à l'avance.
  • Perte à FLOPs égaux, jamais à pas égaux — une init plus coûteuse doit payer son surcoût.
  • Survie du circuit : suivre le motif d'attention de la tête pré-installée au fil de l'entraînement.
Q6
Quels critères font abandonner immédiatement ?
Quatre, et ils sont éliminatoires :
  • la revue de littérature trouve la manipulation déjà faite → abandon, on lit le papier
  • transition de phase pas avancée d'au moins 20 % des pas au plus petit régime → abandon sous 24 h
  • gain qui décroît de 10M à 100M paramètres → abandon, quelle que soit sa taille en petit
  • circuit installé détruit dans le premier 1 % de l'entraînement → abandon, et on note que la superposition est le mur réel du programme
E0510 septembre 2026 Revue de littérature : M1 abandonnée avant la première ligne de code
Sujet
Vérifier, avant tout développement et comme l'exige la question 2 de la grille, si la pré-installation de têtes d'induction à l'initialisation a déjà été faite — ou déjà réfutée.
Au départ
Nous pensions tenir un interstice : les composants publiés séparément, mais la mesure précise — déplacement de la transition de phase après pré-installation, avec balayage d'échelle — absente de la littérature.
Découvert
Quatre résultats, dont deux décisifs.

1. L'idée marche — mais comme architecture, pas comme initialisation. N-Gram Induction Heads for In-Context RL intègre une couche d'attention n-gramme codée en dur comme couche du transformeur, et obtient jusqu'à 27× moins de données, avec un effondrement de la sensibilité aux hyperparamètres : une vingtaine d'essais au lieu de plus de quatre cents. Ce n'est pas une initialisation, c'est un composant permanent. Et c'est en apprentissage par renforcement, pas en langage.

2. La prémisse de M1 est attaquée frontalement. Induction Signatures Are Not Enough, étude à compute apparié, conclut que les signatures d'induction ne sont ni nécessaires ni suffisantes pour l'apprentissage en contexte : les modèles y parviennent par d'autres chemins. Implication explicite : pré-installer des têtes d'induction n'accélérerait pas l'émergence de façon fiable.

3. Les têtes d'induction sont redondantes. Ablater une tête isolée ne fait quasiment rien perdre. Le modèle en possède plusieurs et contourne. Installer la nôtre ne changerait pas grand-chose.

4. Un levier plus simple existe déjà. Entraîner sur des tâches d'apprentissage en contexte diverses en parallèle raccourcit le plateau. C'est une question de données, c'est gratuit, et M1 aurait dû le battre.

À noter : la seule tentative d'initialisation structurelle proche publiée récemment (Complexity-Guided Component-wise Initialization) est statistique et non circuitaire — et elle échoue : aucun bénéfice uniforme, certaines variantes dégradent les résultats.
Ce que ça change
M1 est abandonnée. Notre propre critère Q6 disait : « si la revue trouve la manipulation déjà faite → abandon ». Elle n'est pas exactement faite : elle est faite en mieux, sous une autre forme, et sa prémisse est attaquée par ailleurs. Appliquer la grille honnêtement impose l'abandon. Coût : 40 minutes. Coût évité : 3 jours.

Mais la revue rapporte bien plus qu'un verdict négatif. Elle confirme la conclusion d'E03 avec un chiffre : imprimer un mécanisme dans l'architecture rapporte 27×. La voie est la bonne. C'est la forme que nous avions choisie qui était mauvaise.
Prochaine étape
M2 — porter la couche d'induction n-gramme de l'apprentissage par renforcement vers la modélisation du langage, et mesurer si le facteur 27 survit au changement de domaine et à la montée en échelle.

Ce que cette mission nous a appris

Que la vraie question n'était pas « initialiser ou non » mais « initialiser ou câbler » — et que la littérature avait déjà tranché en faveur du câblage. Une initialisation se fait déformer, effacer ou contourner par l'entraînement. Une contrainte architecturale tient du premier au dernier pas.

Comment ça change notre architecture cible

Décisif. La cible cesse d'être « un réseau standard avec des poids initiaux malins » pour devenir « un réseau dont certaines couches sont des mécanismes fixes, non appris ». C'est exactement le statut de la convolution en vision. La question de conception devient : quel est le jeu minimal de mécanismes à câbler en dur pour le langage ?

Fiche de missionM2 Porter la couche d'induction n-gramme du RL vers le langage
Q1
En quoi cette mission rapproche-t-elle d'une architecture plus intelligente ?
Directement, cette fois. Un multiplicateur d'efficacité de données de 27× existe déjà, publié, obtenu par un mécanisme câblé en dur — mais en apprentissage par renforcement. Si le transfert au langage tient ne serait-ce qu'à , c'est exactement le livrable que vise la Roadmap. Et si le transfert échoue, nous apprenons pourquoi le langage résiste, ce qui est une information de premier ordre pour l'architecture cible.
Q2
L'idée est-elle réellement nouvelle ?
Moyenne — et c'est la bonne zone. Le mécanisme est publié avec des chiffres, en RL. Le portage vers la modélisation du langage et l'étude d'échelle ne le sont pas, dans ce que cette revue a trouvé. Nous ne réinventons rien : nous testons une hypothèse de transfert, ce qui est bien moins risqué que de partir d'une intuition nue.

Contre-indication à garder sous les yeux : Induction Signatures Are Not Enough suggère que la structure d'induction n'est pas porteuse en langage. Notre distinction, défendable mais non démontrée : ce papier mesure la présence d'une signature, le papier n-gramme fournit un biais inductif. Symptôme contre cause. C'est une hypothèse — et c'est précisément ce que M2 met à l'épreuve.
Q3
Prototypable en moins de 3 jours ?
Oui. La couche n-gramme est un mécanisme simple — recherche d'occurrences et masque d'attention — et l'implémentation de référence est publiée.
Q4
Quel est le plus petit prototype possible ?
P1 : un nanoGPT d'environ 10 M de paramètres sur un corpus de texte réduit, avec une couche d'attention n-gramme substituée à une couche standard. Deux runs seulement — référence et variante — à FLOPs appariés. Quelques heures sur GPU grand public, zéro infrastructure.
Q5
Comment mesurer objectivement l'apport ?
  • Multiplicateur de données : tokens nécessaires pour atteindre une perte cible. Directement comparable au 27× du papier d'origine.
  • Perte à FLOPs appariés : la couche n-gramme coûte du calcul à chaque passe avant, elle doit le rembourser.
  • Score ICL : perte(token 500) − perte(token 50).
  • Balayage d'échelle 10M → 30M → 100M.
Q6
Quels critères font abandonner immédiatement ?
  • multiplicateur de données inférieur à 1,3× au plus petit régime → abandon
  • surcoût de calcul de la couche non remboursé à FLOPs appariés → abandon
  • multiplicateur qui décroît de 10M à 100M → abandon, quelle que soit sa valeur en petit
  • implémentation de référence introuvable ou non reproductible en une journée → abandon ; on ne réimplémente pas un papier à l'aveugle
E0610 septembre 2026 Correction de portée, et pourquoi la carte doit précéder l'invention
Sujet
Une sur-généralisation publiée en E05 est relevée, corrigée, et débouche sur une réorientation de la mission courante.
Au départ
E05 concluait « la littérature a tranché : c'est le câblage qui rapporte », et enchaînait directement sur M2 — porter un mécanisme, la couche n-gramme, du RL vers le langage.
Découvert
Deux choses, et la première est une erreur de notre fait.

1. La conclusion d'E05 dépassait ses preuves. Le résultat à 27× porte sur le RL, sur des tâches choisies, avec un mécanisme unique. Il ne démontre pas que le câblage est la bonne voie pour le langage. Voir l'erratum en section VII, où la formulation d'origine est conservée.

2. Sauter à M2 était une erreur de séquence. Enchaîner sur un mécanisme, choisi parce qu'il se trouvait avoir un chiffre publié, revenait à confondre « le premier candidat trouvé » avec « le meilleur candidat ». Aucune carte du terrain n'existait pour en juger.
Ce que ça change
Une mission s'intercale : M3 — cartographie des biais inductifs, avec une contrainte dure héritée de notre propre échec en E01. Mission 1 était déjà une cartographie, et son encadré dit qu'elle n'a rien changé à l'architecture : elle a produit du vocabulaire. M3 n'est donc pas un catalogue mais un instrument de décision, et elle échoue si elle ne se termine pas par une file de prototypes classée et testable.

Le premier passage de la carte livre déjà son résultat principal : quatre familles de mécanismes n'ont jamais été câblées de façon convaincante — hiérarchie et composition, recherche à l'intérieur du réseau, causalité, liaison de variables. Ce sont les trous, et les trous sont le produit.

M2 n'est pas annulée mais requalifiée : sa vraie valeur n'est pas le résultat n-gramme, c'est le banc de mesure — boucle d'entraînement, comparaison à FLOPs appariés, balayage d'échelle. Aucune file de prototypes n'est testable sans ce banc. Elle tourne en parallèle, sur du temps machine, pendant que M3 occupe du temps de réflexion.
Prochaine étape
M3 en temps borné à une journée, en partant des taxonomies existantes plutôt qu'en les réécrivant. Livrable : au moins trois candidats non encore câblés et falsifiables sur un modèle 10M en moins d'une journée. En dessous de trois, M3 est déclarée trop abstraite et on retombe sur le banc.

Ce que cette mission nous a appris

Qu'un laboratoire se trompe autant par excès de conclusion que par manque de mesure. Une preuve obtenue en apprentissage par renforcement sur une tâche donnée ne devient pas une loi générale parce qu'elle est spectaculaire. Le chiffre de 27× a failli nous faire sauter l'étape de la carte.

Comment ça change notre architecture cible

La cible se déplace des mécanismes déjà connus vers les trous de la carte. Hiérarchie, composition, recherche interne et liaison de variables ne sont câblées nulle part — et la hiérarchie était le pattern le mieux classé de la Mission 1 (36/40). L'architecture cible devient un réseau qui câble en dur ce que personne ne câble encore, pas une variation sur l'attention.

Fiche de missionM3 Cartographier les biais inductifs pour trouver les trous
Q1
En quoi cette mission rapproche-t-elle d'une architecture plus intelligente ?
Pas directement — et il faut le dire net. M3 ne produit aucune architecture. C'est un générateur de missions. Sa valeur tient entièrement dans la file de prototypes classée qu'elle produit. Si elle ne se termine pas par une file classée et testable, elle a échoué, quelle que soit la qualité du document.
Q2
L'idée est-elle réellement nouvelle ?
Quasi nulle, et c'est sans importance — c'est un instrument interne, pas un résultat. Des taxonomies existent, notamment Relational inductive biases, deep learning, and graph networks (Battaglia et al., 2018), qui est la référence canonique. Contrainte : partir de ces taxonomies, ne pas les réécrire. Ce qui nous manque n'est pas la liste des familles, c'est la colonne « est-ce déjà câblé, et avec quel multiplicateur publié ».
Q3
Prototypable en moins de 3 jours ?
Sans objet, ce n'est pas un prototype. Borné à une journée, sans exception. Une cartographie sans limite de temps devient un livre.
Q4
Quel est le plus petit livrable possible ?
Un tableau à quatre colonnes : famille · mécanisme câblable · est-ce câblé aujourd'hui · existe-t-il un multiplicateur publié. Rien de plus. La première version est déjà en section VIII de cette page.
Q5
Comment mesurer objectivement l'apport ?
Une seule mesure : le nombre de mécanismes candidats qui sont à la fois (a) non encore câblés et (b) falsifiables sur un modèle 10M en moins d'une journée. C'est un entier. Il n'y a rien à interpréter.
Q6
Quels critères font abandonner immédiatement ?
  • moins de 3 candidats testables au bout d'une journée → la carte est trop abstraite, on l'arrête et on retombe sur le banc de mesure
  • la carte se met à produire des catégories sans mécanisme câblable associé → symptôme du mode chercheur, arrêt immédiat
  • dépassement de la journée → arrêt, on livre l'état courant
E0710 septembre 2026 Réalignement : le laboratoire travaillait dans la mauvaise direction
Sujet
Confrontation du programme réel du laboratoire à l'objectif réel d'Hugo, après six missions.
Au départ
Le laboratoire poursuivait un multiplicateur d'efficacité de pré-entraînement, sur une reformulation que j'avais écrite moi-même et publiée sans validation. La file de prototypes — liaison de variables, composition hiérarchique, recherche interne — optimisait la qualité d'apprentissage.
Découvert
L'objectif réel est autre : une intelligence générale de niveau frontier tournant en local sur un Mac M4, avec ce pari — nous n'exploitons pas pleinement les moyens dont nous disposons.

Confrontés à cet objectif, les quatre candidats de la file échouent au même endroit : aucun n'était jugé en gigaoctets ni en gigaoctets par seconde. Ils amélioraient l'apprentissage, pas l'empreinte à l'inférence. Six missions rigoureuses individuellement, et une dérive totale collectivement.

La machine a été mesurée plutôt que supposée : M4 Pro, 24 Go unifiés, ~273 Go/s, soit environ 17 Go réellement disponibles. Deux murs en découlent — impossible d'entraîner localement, et un écart de connaissance stockable d'environ 33× face à un modèle frontier, qu'aucune compression ne franchit.
Ce que ça change
Un septième critère s'ajoute à la grille d'admission : combien de gigaoctets, et combien lus par token ? Toute mission qui ne répond pas est hors sujet.

Et la cible se précise : puisque la connaissance frontier ne rentre pas mais que le raisonnement frontier n'en dépend pas (E03), la connaissance doit sortir des poids. Les poids ne gardent que la mécanique de raisonnement. Le mélange d'experts cesse d'être une option d'ingénierie pour devenir le squelette obligatoire — c'est la seule structure qui découple capacité et bande passante.
Prochaine étape
M5 — mesurer le plafond réel de la machine avant d'inventer quoi que ce soit. On ne bat pas un plafond qu'on n'a pas mesuré.

Ce que cette mission nous a appris

Qu'un laboratoire peut travailler six missions dans la mauvaise direction sans s'en apercevoir, parce que chaque mission était rigoureuse individuellement. La rigueur locale ne protège pas d'une dérive globale. Seule une confrontation périodique à l'objectif écrit la détecte — d'où l'objectif permanent désormais en tête de page, qui ne changera plus.

Comment ça change notre architecture cible

Radicalement. La cible n'est plus « un réseau qui apprend mieux » mais « un réseau dont l'intelligence par gigaoctet lu est maximale ». Squelette imposé : mélange d'experts, connaissance externalisée hors des poids, calcul au moment de la réponse plutôt que capacité stockée. Le temps est la seule ressource illimitée sur un Mac — c'est celle qu'il faut dépenser.

Fiche de missionM5 Mesurer le plafond réel de la machine
Q1
En quoi cette mission rapproche-t-elle de l'objectif permanent ?
Elle teste le pari directement. Si le meilleur outillage existant n'atteint même pas le plafond théorique de la machine, alors le problème n'est pas l'architecture : c'est l'exploitation — et le pari d'Hugo est vérifié avant toute invention. Et sans cette mesure, « meilleur » n'a aucun sens : on ne bat pas un plafond qu'on n'a pas mesuré.
Q2
L'idée est-elle nouvelle ?
Nulle, et c'est assumé. C'est de l'ingénierie de mesure, pas de la recherche. Aucune publication n'en sortira. C'est simplement l'étalon sans lequel les six prochaines missions seront invérifiables.
Q3
Prototypable en moins de 3 jours ?
Une journée, machine libre. Aucun entraînement, uniquement de l'inférence.
Q4
Quel est le plus petit livrable ?
Sur la machine réelle, pour 4 modèles ouverts de formes différentes (un dense ~8 Md, un dense ~14 Md, un MoE ~30 Md/3 Md actifs, un dense ~24 Md), trois nombres et rien d'autre : tokens/s en génération, gigaoctets réellement occupés, score sur un banc de raisonnement court. Plus le rapport théorique/observé, qui est la mesure du pari.
Q5
Comment mesurer objectivement ?
Une seule grandeur compte au bout : qualité de raisonnement par gigaoctet lu par token. C'est le rendement de la machine, et c'est ce que toute mission ultérieure devra augmenter. Les tokens/s et les gigaoctets ne sont que ses deux composantes.
Q6
Quels critères font abandonner ?
Aucun : une mesure de référence ne peut pas échouer, elle peut seulement être bâclée. Le seul critère est le temps — une journée, puis on livre l'état courant. Un résultat attendu et important : si l'observé atteint déjà 80 % du théorique, le pari « on n'exploite pas nos moyens » est faux côté vitesse, et le laboratoire doit se rabattre entièrement sur la qualité par gigaoctet.
E0810 septembre 2026 L'architecture cible, et l'endroit exact où le local bat le centre de données
Sujet
Concevoir l'architecture répondant à l'objectif permanent, et séparer honnêtement ce qui est assemblage de ce qui serait invention.
Au départ
« Niveau frontier » et « le plus vite possible » semblaient se contredire : plus de capacité veut dire plus d'octets lus, donc moins de tokens par seconde.
Découvert
La contradiction disparaît dès qu'on écrit la fonction objectif : intelligence délivrée = qualité par octet lu × octets lus par seconde × temps accordé. Le deuxième facteur est figé par le matériel, le troisième est gratuit sur une machine personnelle, et seul le premier est une question de recherche. La vitesse n'est donc pas l'objectif : c'est le carburant du raisonnement. Aller cinq fois plus vite, c'est réfléchir cinq fois plus longtemps pour la même attente.

Le budget en découle : un mélange d'experts d'environ 38 Md de paramètres tenant dans 15,4 Go, dont seuls ~2,6 Go sont lus par token. Plafond théorique 105 tok/s ; cible réaliste ~110 tok/s après décodage spéculatif et profondeur adaptative.

Le chiffre le plus important n'est pas la cible : c'est le rendement de ~30 %. Les implémentations réelles sur Apple Silicon n'atteignent qu'un quart à un tiers du plafond de bande passante. Deux tiers de la machine sont gaspillés, et récupérer ce facteur 3 ne demande aucune recherche.

Enfin, l'inventaire honnête : aucune brique de la pile n'est de nous. MoE fin, attention latente, décodage spéculatif, profondeur adaptative, récupération externe — tout est publié. Ce qui peut être nôtre est le point de fonctionnement : ces briques ont été conçues pour des GPU limités par le calcul, à plusieurs téraoctets par seconde. Sur un Mac, à un seul flux, limité par 273 Go/s, l'optimum est ailleurs et n'a jamais été caractérisé.
Ce que ça change
Un seul trou reste dans la pile, et il est structurel plutôt que technique. Toutes les briques optimisent le coût d'un token pour un modèle figé ; aucune n'exploite le fait qu'une machine personnelle sert toujours la même personne, qui redemande sans cesse des choses voisines. Un cache de raisonnement — mémoriser des sous-problèmes résolus, les retrouver par similarité, réutiliser leur conclusion — devient la mission M6.

Et c'est le seul avantage du laboratoire qu'un concurrent frontier ne peut pas copier : il sert des millions d'utilisateurs différents, sa distribution de requêtes est plate. Une machine personnelle a une distribution de taille 1, donc massivement redondante.
Prochaine étape
M6, dont la première étape ne demande ni GPU ni mémoire libre : mesurer, sur des requêtes réelles, quelle fraction des sous-raisonnements est une redite. Si la redondance n'existe pas, l'idée meurt avant la première ligne de cache.

Ce que cette mission nous a appris

Qu'une contrainte matérielle bien écrite fait plus de travail qu'une intuition. Les 273 Go/s ont éliminé plus de candidats en une heure que six missions de réflexion. Et que la vitesse n'était pas un objectif concurrent de l'intelligence, mais son carburant — ce qui réconcilie les deux moitiés de la demande.

Comment ça change notre architecture cible

Elle existe désormais, chiffrée : 38 Md de paramètres, 15,4 Go en mémoire, 2,6 Go lus par token, ~110 tok/s visés. Et sa seule pièce originale est identifiée : un cache de raisonnement exploitant la redondance d'un utilisateur unique. Tout le reste est un assemblage de travaux publiés, réglé pour un point de fonctionnement inhabituel.

Fiche de missionM6 Cache de raisonnement — ne pas repayer ce qui a déjà été pensé
Q1
En quoi cette mission rapproche-t-elle de l'objectif permanent ?
C'est le seul candidat de tout le laboratoire qui exploite un avantage qu'un concurrent frontier ne peut pas copier. Si un tiers des raisonnements d'un utilisateur sont des variantes de raisonnements déjà faits, le coût moyen par réponse s'effondre sans toucher au modèle. Et le gain se lit directement en gigaoctets lus par réponse, l'unité de l'objectif permanent.
Q2
L'idée est-elle réellement nouvelle ?
C'est le seul endroit du programme où je crois qu'il y a du neuf — et c'est exactement le moment où un laboratoire se ment. Ce qui existe et n'est pas ça : le cache de préfixe ne marche que sur des préfixes strictement identiques ; la récupération augmentée retrouve des documents, pas des dérivations ; les mémoires d'agent stockent des faits et de l'historique, pas des raisonnements réutilisables ; la distillation de chaînes de pensée se fait hors ligne, pas au fil de l'usage.

Revue de littérature obligatoire avant toute ligne de code. M1 est morte comme ça, en quarante minutes, et c'était la bonne décision.
Q3
Prototypable en moins de 3 jours ?
Oui — et la première étape ne demande ni GPU ni mémoire libre, donc elle est faisable pendant que la machine est occupée.
Q4
Quel est le plus petit prototype possible ?
Pas un cache. Une mesure. Aucune architecture nouvelle, aucun modèle :
  • journaliser des requêtes réelles d'Hugo avec leurs chaînes de raisonnement
  • découper ces chaînes en sous-étapes
  • mesurer le taux de recouvrement : quelle fraction des sous-étapes est une redite d'une sous-étape déjà produite
Si la redondance n'existe pas, l'idée meurt avant qu'on écrive la première ligne de cache. C'est le prototype le moins cher que ce laboratoire ait jamais spécifié.
Q5
Comment mesurer objectivement ?
  • Taux de recouvrement des sous-raisonnements sur un corpus réel — la mesure qui décide de tout
  • puis, si positif : gigaoctets lus par réponse avec et sans cache, à qualité égale
  • Contrôle de qualité obligatoire : une réponse issue du cache doit être jugée équivalente à une réponse recalculée. Un gain de vitesse payé par une baisse de justesse est une régression déguisée.
Q6
Quels critères font abandonner immédiatement ?
  • taux de recouvrement < 15 % sur un corpus réel → abandon, la redondance n'existe pas
  • la revue de littérature trouve le système déjà construit → abandon, on l'utilise
  • plus d'une réponse sur dix issue du cache est fausse → abandon ; un cache qui ment est pire qu'un modèle lent
  • gain en gigaoctets lus < 1,3× → abandon
E0910 septembre 2026 M6 est morte, et le laboratoire change de métier
Sujet
Revue de littérature du cache de raisonnement, exigée par la question 2 avant toute ligne de code.
Au départ
Nous pensions tenir la seule pièce originale de l'architecture : mémoriser des sous-raisonnements résolus et les réutiliser, en exploitant un avantage qu'un concurrent frontier ne peut pas copier — une distribution d'utilisateurs de taille 1.
Découvert
C'est construit, publié, mesuré — et déjà pour notre cas d'usage exact.

StepCache segmente les sorties en étapes ordonnées, retrouve la requête antérieure la plus proche par similarité de plongement, vérifie chaque étape réutilisée par des vérificateurs légers, et ne régénère que les portions qui échouent. Résultats mesurés : latence moyenne 2,13 s → 0,67 s, tokens 36,1k → 27,3k, taux de réutilisation 79,7 %. Et il tourne sur CPU, avec un modèle local de 3 Md, en couche greffable indépendante du moteur — évalué comme couche mono-utilisateur, pas comme système de service multi-utilisateurs.

Mon seuil d'abandon en Q6 était « taux de recouvrement inférieur à 15 % ». Le taux mesuré est de 79,7 %, soit cinq fois au-dessus. Et un résultat que je n'aurais pas prédit : la justesse monte, de 72,5 % à 100 %, parce qu'une étape réutilisée et vérifiée est plus fiable qu'une étape reproduite.

Réutilisation métacognitive couvre l'autre moitié : distiller des chaînes de raisonnement en « comportements » nommés et réutilisables, jusqu'à 46 % de tokens en moins à justesse égale ou supérieure. Leur limite est explicite : le recueil de comportements est constitué hors ligne, et les auteurs ne décrivent pas d'accumulation en cours d'usage.

S'ajoutent la génération augmentée par journaux, MiniCache, CASCADE, et une littérature entière de raisonnement à base de cas appliqué aux modèles de langage.
Ce que ça change
Deuxième mission tuée par une revue de littérature, et pour la même raison que M1 : quelqu'un l'avait déjà fait, en mieux. Ce n'est plus un accident, c'est un diagnostic sur le domaine.

Conséquence stratégique, assumée : ce laboratoire cesse de chercher des inventions. Tous les multiplicateurs dont l'objectif permanent a besoin existent déjà, publiés et mesurés — rendement de bande passante, décodage spéculatif, profondeur adaptative, cache d'étapes, réutilisation métacognitive, mélange d'experts fin. Personne ne les a empilés. C'est très exactement le sens de la phrase d'Hugo : nous n'exploitons pas les moyens dont nous disposons.

Un interstice étroit survit néanmoins : StepCache mémorise des séquences d'étapes concrètes, la réutilisation métacognitive abstrait des comportements mais hors ligne. L'accumulation en ligne de comportements abstraits, au fil de l'usage réel, n'est faite par personne — et c'est mot pour mot le cycle écrit sur hugoai.fr avant que ce laboratoire n'existe. À garder pour plus tard, pas à traiter maintenant.
Prochaine étape
M7 — l'intégration. Empiler les leviers publiés et mesurer si les gains se composent. Ce n'est pas de la recherche, c'est de l'ingénierie, et c'est ce qui produit le système demandé.

Ce que cette mission nous a appris

Que dans ce domaine, une idée qui semble évidente et absente a de très fortes chances d'exister déjà sous un autre nom. Deux missions sur deux sont mortes ainsi, chacune en moins d'une heure, contre plusieurs jours de code chacune. La revue de littérature n'est pas une formalité académique : c'est le poste du laboratoire au meilleur rendement.

Comment ça change notre architecture cible

Le cache d'étapes entre dans l'architecture comme brique acquise, plus comme pièce à inventer — au même titre que le décodage spéculatif ou l'attention latente. Et le métier du laboratoire bascule : de l'invention vers l'intégration et la mesure. Le livrable n'est pas un papier, c'est un système qui tourne sur 24 Go.

Fiche de missionM7 L'intégration — empiler ce qui existe et mesurer si ça se compose
Q1
En quoi cette mission rapproche-t-elle de l'objectif permanent ?
C'est la seule mission du laboratoire qui produise le système demandé plutôt qu'un résultat sur le système. Six multiplicateurs publiés et mesurés existent ; aucun travail connu ne les empile sur une machine personnelle limitée par la bande passante. Empiler, c'est littéralement « exploiter les moyens dont nous disposons ».
Q2
L'idée est-elle réellement nouvelle ?
Nulle sur les composants, et c'est désormais assumé comme stratégie et non subi comme un défaut. Ce qui n'est pas fait, c'est le point de fonctionnement combiné : personne n'a mesuré comment ces leviers interagissent à un seul flux, sur 24 Go, à 273 Go/s. Un cache réussi court-circuite le décodage spéculatif ; la profondeur adaptative interagit avec la spéculation. Rien ne garantit que les gains se multiplient — et c'est précisément la question.
Q3
Prototypable en moins de 3 jours ?
Non — et c'est le premier écart assumé à la règle du laboratoire. Une intégration complète dépasse trois jours, il serait malhonnête de prétendre le contraire. La règle est donc appliquée par étapes : chaque palier ajoute un levier, prend moins de trois jours, et se mesure seul. Un palier qui ne rend rien est retiré de la pile.
Q4
Quel est le plus petit prototype possible ?
Deux leviers, pas huit. Sur un modèle local existant : mesurer le rendement de base (M5), puis ajouter le décodage spéculatif seul, puis le cache d'étapes seul, puis les deux ensemble. Quatre mesures. Elles répondent à la seule question qui compte avant de construire quoi que ce soit : est-ce que les gains se composent ou se mangent ?
Q5
Comment mesurer objectivement ?
  • tokens/s bout en bout, sur des requêtes réelles et non un banc synthétique
  • gigaoctets lus par réponse — l'unité de l'objectif permanent
  • qualité à temps d'attente égal : c'est la mesure honnête, puisque la vitesse gagnée doit se réinvestir en réflexion
  • coefficient de composition = gain observé des deux leviers ÷ produit de leurs gains isolés
Q6
Quels critères font abandonner un levier ?
  • coefficient de composition < 0,7 → les leviers se mangent, l'empilement est une illusion, revoir l'ordre
  • un levier apportant moins de 1,2× seul → retiré de la pile, sa complexité ne se paie pas
  • qualité en baisse à temps égal → retiré, quel que soit le gain de vitesse
  • un palier dépassant 3 jours → découpé ou abandonné
E1011 septembre 2026 Premières mesures réelles : deux affirmations tombent, une survit
Sujet
Construction de SILEX, la pile d'inférence, et premières mesures sur la machine — fin de la période où le laboratoire n'avait produit aucun chiffre.
Au départ
Deux affirmations publiées ici même : que le rendement de bande passante était d'environ 30 % et qu'il y avait donc « un facteur 3 gaspillé, sans recherche » ; et qu'un cache de raisonnement serait rentable.
Découvert
1. Le rendement n'est pas de 30 %. Il est de 69 à 87 %.
ModèleTaillePlafondMesuréRendement
Luth-2B Q41,27 Go214 tok/s110 tok/s51,5 %
qwen3.5:4b3,39 Go80,5 tok/s55,8 tok/s69,3 %
gemma3:4b3,34 Go81,8 tok/s71,6 tok/s87,5 %
llama.cpp est déjà proche du plafond matériel. Il n'y a pas de facteur 3 à récupérer, au mieux ~1,15×. Le pari « nous n'exploitons pas nos moyens » est falsifié sur l'axe vitesse — c'est exactement l'issue que la fiche M5/Q6 avait prévue et nommée à l'avance. Les petits modèles rendent moins bien, parce qu'à cette taille les coûts fixes dominent la lecture des poids.

2. Le cache d'étapes littéral est structurellement mort sur un usage à variantes. Diagnostic direct : sur des questions voisines, la similarité de plongement atteint 0,966 — le cache trouve la bonne entrée — mais 0 étape sur 2 survit à la vérification, systématiquement. La première étape cachée contient les constantes de la question d'origine, absentes de la nouvelle. Une étape de raisonnement numérique est ses nombres ; il n'y a rien à réutiliser littéralement. Mesuré : aucun gain en tokens, et du temps perdu.

3. Le cache de méthode fonctionne — mais seulement après une correction précise. Première version : deux fois plus lente que la référence, parce que le guidage n'abrégeait rien. Correction : interdire explicitement au modèle de redémontrer la méthode et lui demander de l'exécuter. Résultat :
ConditionTokensJustesse
Référence, sans cache3 82692 %
Méthode, exécution imposée2 29892 %
×1,66 sur les tokens à justesse identique, coût de distillation inclus. La littérature annonce « jusqu'à −46 % » pour la réutilisation métacognitive ; nous obtenons −40 %, mais en accumulation en ligne au lieu de hors ligne — l'interstice identifié en E09.
Ce que ça change
Plus aucun gain gratuit n'est disponible sur la vitesse d'exécution. Tout gain restant doit venir de « faire moins de travail » : réutiliser des méthodes, sauter des passes, réduire les octets actifs. Et le mode littéral sort de l'architecture : c'est le troisième abandon du laboratoire, le premier fondé sur une mesure locale plutôt que sur une lecture.
Prochaine étape
Mesurer le calcul au moment de la réponse — auto-cohérence à n=3 et n=5 — sur un banc plus difficile, le précédent plafonnant à 92 %. C'est le seul levier restant qui augmente la qualité et non seulement la vitesse.

Ce que cette mission nous a appris

Que nos estimations valaient moins que la première mesure. Le rendement était faux d'un facteur 2, le cache littéral était faux à 100 %, et le cache de méthode ne marchait qu'après une correction d'une ligne dans un prompt. Trois semaines de raisonnement ont produit moins d'information qu'une heure de mesure.

Comment ça change notre architecture cible

Le cache littéral est retiré. Le cache de méthode entre comme brique validée localement, avec son chiffre. Et la cible de vitesse de la section IX doit être révisée à la baisse : sans facteur 3 de rendement, les ~110 tok/s visés reposent désormais entièrement sur le décodage spéculatif, la profondeur adaptative et la sparsité du mélange d'experts.

E1111 septembre 2026 Calcul au moment de la réponse, et confrontation à l'aveugle
Sujet
Mesurer le dernier levier de qualité disponible, puis confronter la pile complète à un modèle frontier en aveugle.
Au départ
La section IX affirmait que la vitesse gagnée pouvait se réinvestir en réflexion et faire monter la qualité. Aucune mesure ne l'appuyait.
Découvert
Le levier fonctionne, et il plafonne vite. Sur un banc de 8 questions difficiles à vérité terrain calculable, avec gemma3:4b :
ConditionTokensJustesseAccord
Glouton, n=12 34275 %
Auto-cohérence n=38 02088 %0,88
Auto-cohérence n=513 12788 %0,85
+13 points de justesse pour 3,4× de tokens, et un plateau net dès n=3 — n=5 coûte 64 % de plus pour rien. Combiné au cache de méthode (×1,66), le coût réel de n=3 retombe à ~2×. La vitesse gagnée se convertit bien en qualité, ce que la section IX postulait sans preuve.

Mais l'auto-cohérence peut verrouiller une erreur. Sur la question de probabilité de la confrontation, le vote à 2 contre 1 a retenu une réponse fausse (4/11 au lieu de 4/9) : le modèle avait utilisé 1 au lieu de 1/2 pour la pièce équilibrée. Un vote majoritaire n'est pas un vérificateur — il amplifie l'erreur quand celle-ci est systématique plutôt qu'aléatoire.

Confrontation à l'aveugle. Six questions — raisonnement, code, technique, jugement, probabilités, synthèse — posées à la pile locale complète (cache de méthode + auto-cohérence ou brouillon-critique-révision) et à un modèle frontier. Réponses anonymisées, côtés tirés au sort indépendamment par question, clé scellée. Seul juge non biaisé : Hugo.

Ce que la mesure dit déjà, sans attendre le jugement : sur la seule question à vérité terrain, le local se trompe et le frontier a juste. Et les réponses locales sont systématiquement plus longues sans être meilleures — 3 099 caractères contre 1 954 sur la question technique. La verbosité est la signature d'un petit modèle, pas de la profondeur.
Ce que ça change
Le critère d'arrêt demandé — « ne pas s'arrêter tant qu'on ne fait pas la différence » — n'est pas atteignable et ne doit pas être poursuivi. Un modèle de 4 Md, même avec toute la pile, reste loin d'un frontier sur des questions de raisonnement exigeantes. Le seul ajustement honnête est de comparer à capacité comparable : la pile sur le MoE 20B, quand la mémoire le permettra.

Ce qui reste acquis et mesuré : ×1,66 en tokens, +13 points de justesse, et une pile en Python pur sans aucune dépendance, qui tourne sur la machine.
Prochaine étape
Rejouer la confrontation sur gpt-oss-20b MoE dès que ~14 Go se libèrent. Et remplacer le vote majoritaire par un vérificateur, puisque la mesure vient de montrer qu'un vote amplifie les erreurs systématiques.

Ce que cette mission nous a appris

Que le calcul au moment de la réponse achète de la justesse, mais plafonne à n=3 et ne corrige pas une erreur de méthode — il la confirme par vote. Et qu'un petit modèle compense son manque de profondeur par de la longueur, ce qui est exactement le contraire de ce que vaut une bonne réponse.

Comment ça change notre architecture cible

Le vote majoritaire sort, un vérificateur entre — même logique qu'aux deux barrières du cache : quelque chose doit contrôler, pas seulement compter les voix. Et la cible de capacité se confirme : 4 Md ne suffit pas, le MoE 20B est le plancher pour espérer une confrontation honnête.

IX

Architecture cible

« Niveau frontier » et « le plus vite possible » se contredisent — tant qu'on n'a pas écrit ce qui les relie. Cette section pose la fonction objectif, en déduit un budget en gigaoctets, et dit honnêtement ce qui, dans la pile proposée, est de nous et ce qui ne l'est pas.

1. La fonction objectif

Tout se décompose en trois facteurs indépendants, et c'est cette décomposition qui lève la contradiction :

intelligence délivrée = qualité par octet lu × octets lus par seconde × temps accordé └ question de recherche └ 273 Go/s, figé └ illimité sur un Mac

Le deuxième facteur est imposé par le matériel : on ne peut que cesser de le gaspiller. Le troisième est gratuit — personne n'attend derrière toi pour un créneau de centre de données. Le premier est le seul qui soit un problème de recherche.

La vitesse n'est pas l'objectif, c'est le carburant du raisonnement. Aller cinq fois plus vite, c'est pouvoir réfléchir cinq fois plus longtemps pour le même temps d'attente.

2. Le budget des 17 gigaoctets

Un mélange d'experts d'environ 38 milliards de paramètres au total, dont seuls ~5,3 milliards sont lus par token. Quantification mixte selon la sensibilité : les experts tolèrent 3 bits, l'attention et le routeur non.

ComposantEn mémoireLu / tokenPourquoi
Embeddings + tête (liés, 6 bits)0,4 Go0,4 Godense, toujours lu
Attention latente, 32 couches0,5 Go0,5 Gocache KV ~10× plus petit
Expert partagé, toujours actif0,7 Go0,7 Gocapte le tronc commun sans routage
64 experts routés × 32 couches (3 bits)13,0 Go0,8 Gotop-4 sur 64 : 16× de capacité gratuite
Têtes auto-spéculatives0,2 Go0,2 Gopropose plusieurs tokens d'avance
Cache KV latent, 32k de contexte0,6 Govariablecroît avec le contexte
Total15,4 Go~2,6 Go1,6 Go de marge sur 17

3. La vitesse qui en découle

273 Go/s ÷ 2,6 Go par token = 105 tok/s plafond théorique au rendement observé aujourd'hui ≈ 32 tok/s les implémentations réelles sur Apple Silicon (~30 %) atteignent 25 à 35 % du plafond × 2,5 décodage spéculatif ≈ 80 tok/s × 1,4 profondeur adaptative ≈ 110 tok/s cible

Le chiffre le plus important de ce tableau n'est pas la cible, c'est le rendement de 30 %. Il signifie que les deux tiers de la bande passante sont aujourd'hui gaspillés — un facteur 3 qui ne demande aucune recherche, seulement de l'ingénierie. C'est la part du pari d'Hugo qui est très probablement juste, et c'est ce que M5 doit mesurer avant qu'on invente quoi que ce soit.

Erratum — 11 septembre 2026

Le paragraphe ci-dessus est conservé tel qu'il a été publié. Il est faux. Le rendement a été mesuré sur la machine le 11 septembre : 69,3 % (qwen3.5:4b) et 87,5 % (gemma3:4b), pas 30 %. Mon estimation se trompait d'un facteur 2.

Conséquence : il n'y a pas de facteur 3 à récupérer, au mieux ~1,15×. La cible de ~110 tok/s ne peut donc plus s'appuyer sur un gain de rendement ; elle repose entièrement sur le décodage spéculatif, la profondeur adaptative et la sparsité du mélange d'experts. Détail des mesures en E10.

4. Ce qui n'est pas de nous

Chaque brique de cette pile est publiée. Le dire clairement coûte zéro crédibilité et en gagne beaucoup :

BriqueOrigineCe qu'elle achète
MoE fin + expert partagéDeepSeek-V2/V3capacité découplée de la bande passante
Attention latente (MLA)DeepSeek-V2cache KV ~10× plus petit
Quantification par sensibilitélittérature quantification~1,3× de capacité à qualité égale
Décodage spéculatifLeviathan et al. 2023~2,5× de vitesse, sortie strictement identique
Têtes auto-spéculativesMedusa, EAGLE 2024spéculation sans second modèle en mémoire
Profondeur adaptativeRaposo et al. 2024~1,4× en sautant des couches sur les tokens faciles
Récupération externeRETRO, RAGcontourne le mur de connaissance à 33×
Calcul au moment de la réponseo1 et suivantséchange du temps contre de la qualité

Rien de cette liste n'est une invention de ce laboratoire. Ce qui peut l'être, en revanche, est le point de fonctionnement : toutes ces briques ont été conçues pour des GPU de centre de données, où l'on est limité par le calcul et où la mémoire débite plusieurs téraoctets par seconde. Sur un Mac, à un seul flux, limité par 273 Go/s, l'optimum est ailleurs — granularité des experts, valeur de k, découpage de la quantification, profondeur de spéculation. Cet optimum-là n'a jamais été caractérisé.

5. Le seul trou — et c'est là qu'est l'invention

Toute la pile ci-dessus optimise le coût d'un token pour un modèle figé. Aucune brique n'exploite le fait le plus évident de la situation : sur une machine personnelle, c'est toujours la même personne qui demande, et elle redemande sans cesse des choses voisines.

« Ils repayent le prix fort à chaque fois qu'ils refont une chose déjà faite. » — hugoai.fr, avant que ce laboratoire n'existe.

Ce n'est pas un cache de tokens, qui existe déjà et ne sert qu'aux préfixes identiques. C'est un cache de raisonnement : mémoriser des sous-problèmes résolus, les retrouver par similarité, et réutiliser leur conclusion au lieu de la recalculer.

Et voici pourquoi c'est un avantage structurel du local plutôt qu'une compensation de sa faiblesse : un laboratoire frontier ne peut pas faire ça. Il sert des millions d'utilisateurs différents, sa distribution de requêtes est plate. Une machine personnelle a une distribution d'utilisateurs de taille 1, donc massivement redondante. Le seul endroit où le local bat structurellement le centre de données, c'est celui-là.

VIII

Carte des biais inductifs

Premier passage de M3. La question n'est pas « quelles familles de biais existent » — les taxonomies existent déjà — mais lesquelles sont effectivement câblées en dur aujourd'hui, et avec quel gain publié. Les lignes en rouge sont les trous : c'est le produit de cette carte.

Les quatre trous

Aucun de ces quatre mécanismes n'est câblé de façon convaincante dans une architecture moderne. Trois ne le sont pas du tout ; le quatrième — la recherche — l'est à côté du réseau et jamais dedans. À noter : la hiérarchie était le pattern le mieux classé de la Mission 1, à 36/40. Le relevé du début n'était pas inutile — il lui manquait ce cadre pour devenir exploitable.

A
Composition hiérarchique
Contraindre certaines couches à ne combiner que selon un schéma d'arbre fixe, au lieu d'une attention libre. Jamais câblé : les transformeurs apprennent la structure au lieu de la recevoir. Falsifiable sur langages formels à parenthésage ou expressions imbriquées.
B
Recherche à l'intérieur du réseau
Une couche qui explore k candidats et retient le meilleur selon un critère interne, plutôt qu'une passe unique. AlphaZero câble la recherche à côté du réseau (MCTS) ; les LLM la simulent en générant des tokens. Personne ne l'a mise dans les poids de façon convaincante. Le plus intéressant conceptuellement, le plus flou opérationnellement.
C
Liaison de variables
Câbler une opération de liaison rôle-remplisseur (produit tensoriel, VSA) comme couche fixe. Tenté depuis Smolensky, jamais passé à l'échelle. Le plus testable des quatre : les jeux d'évaluation de généralisation systématique existent, les transformeurs standards y échouent de façon connue et nette, et un petit modèle suffit à trancher.
D
Structure causale
Imposer un graphe causal ou une capacité d'intervention comme contrainte d'architecture. Jamais câblé. Le plus lointain : aucun banc d'essai petit et net n'existe, donc non prototypable à ce stade. Écarté de la file pour cette raison, pas pour manque d'intérêt.
File de prototypes — sortie de M3

Classée par coût de falsification décisive, pas par intérêt. 1. Liaison de variables (C) — banc existant, échec connu des transformeurs, mécanisme mathématiquement défini. 2. Composition hiérarchique (A) — tâche synthétique à construire, mécanisme à préciser. 3. Recherche interne (B) — à spécifier avant de pouvoir être testée.

Trois candidats testables sur 10M en moins d'une journée : le seuil de Q6 est atteint, M3 n'est pas déclarée trop abstraite. La causalité (D) sort de la file faute de banc d'essai.

VII

Comprendre simplement

Cette section traduit tout ce qui précède en langage normal. Aucune connaissance préalable n'est supposée. Si une phrase d'ici n'est pas claire, c'est un défaut de cette page, pas du lecteur.

01Mon idée de départ, et pourquoi elle était fausse

Au début, mon raisonnement était celui-ci : un modèle d'IA, c'est des milliards de nombres qu'on appelle des poids. Aujourd'hui on les remplit en les tirant au hasard, puis on fait tourner des milliers de cartes graphiques pendant des mois pour que ces nombres deviennent bons. Ça semble absurde. Pourquoi ne pas simplement écrire les bons nombres directement ?

L'idée n'est pas idiote. Elle repose juste sur une hypothèse qui se révèle fausse : que ces milliards de nombres servent à stocker ce que le modèle sait.

   CE QUE JE CROYAIS                  CE QUI SE PASSE VRAIMENT

   poids au hasard                    poids au hasard
        |                                  |
        |  l'entraînement                  |  l'entraînement
        |  REMPLIT les poids               |  CHERCHE des mécanismes
        |  de connaissances                |
        v                                  v
      un LLM                             un LLM

   donc : pré-remplir                  donc : pré-remplir le contenu
   = économiser le calcul              n'économise pas la recherche

02Connaissances ≠ Intelligence

C'est la confusion qui était au cœur de mon erreur. Une connaissance et une intelligence ne sont pas la même chose, et elles ne coûtent pas du tout le même prix.

   UNE CONNAISSANCE                   UNE INTELLIGENCE

   « Paris est la capitale            « Une capitale a un aéroport.
     de la France »                     Paris est une capitale.
                                        Donc Paris a un aéroport. »

   = un fait rangé quelque part       = une OPÉRATION faite sur des faits
   = ça se copie                      = ça se construit
   = ça tient en 40 octets            = ça coûte des mois de calcul

Un exemple qui tranche la question : votre téléphone peut contenir tout Wikipédia hors ligne. Il n'est pas intelligent pour autant. Un enfant de six ans sait mille fois moins de choses, et il est infiniment plus intelligent que votre téléphone.

La connaissance, c'est ce qu'on possède. L'intelligence, c'est ce qu'on sait en faire.

03Ce qui coûte cher, ce n'est pas « chat → animal »

Apprendre qu'un chat est un animal ne coûte rien. C'est une ligne dans une table. Ce qui coûte des milliers de cartes graphiques, c'est d'apprendre la suite d'opérations qui permet de se servir de cette ligne.

   QUESTION :  « Le chat de Marie est-il un mammifère ? »

        |
        v
   +---------------+
   |   CHERCHER    |   retrouver « chat » parmi tout ce qu'on sait
   +---------------+
        |
        v
   +---------------+
   |   COMPARER    |   chat / oiseau ?  chat / mammifère ?
   +---------------+
        |
        v
   +---------------+
   |   DÉDUIRE     |   chat  ->  animal  ->  mammifère
   +---------------+
        |
        v
   +---------------+
   |   CHOISIR     |   répondre « oui », pas « peut-être »
   +---------------+
        |
        v
   RÉPONSE :  « Oui. »

Chacune de ces quatre flèches est une petite machine faite de poids. On les appelle des circuits. Apprendre le fait, c'est écrire une ligne. Apprendre la flèche, c'est construire la machine capable de l'appliquer à n'importe quel fait — y compris des faits jamais rencontrés.

Et le calcul le confirme sans appel :

   Stocker « le chat est un animal »          environ  40 octets
   Stocker tous les faits structurés du web   quelques gigaoctets

   Un modèle de 7 milliards de paramètres
   contient en tout                           environ  1,75 Go de faits

   -> Les connaissances tiennent dans un coin du modèle.
   -> Tout le reste, c'est la machinerie.

04L'analogie du dictionnaire

C'est la façon la plus courte de dire la même chose.

   Vous donnez à quelqu'un...              ...il sait faire ?

   un dictionnaire français-anglais         NON  traduire une phrase
   toute la documentation de Python         NON  programmer
   un atlas complet d'anatomie              NON  opérer
   les règles officielles des échecs        NON  gagner une partie

Le dictionnaire, ce sont les connaissances. Savoir s'en servir, c'est l'intelligence. Personne n'a jamais appris à programmer en lisant la documentation de bout en bout.

Et voilà le vrai problème : le dictionnaire est déjà écrit. C'est le « savoir s'en servir » que personne ne sait écrire. C'est exactement ce qui coûte des mois de calcul.

05La nouvelle idée : imprimer des capacités

Si les connaissances ne sont pas la bonne cible, alors la question devient : peut-on imprimer directement les capacités ? Comparer. Mémoriser. Hiérarchiser. Rechercher. Généraliser. Déduire. Raisonner.

Pourquoi ces mécanismes sont-ils plus fondamentaux que les connaissances ? Pour une raison simple, et c'est un rapport d'un à l'infini :

   UNE CONNAISSANCE  =  UN cas

     « le chat est un animal »
        `-- sert pour : le chat. Point final.


   UNE CAPACITÉ  =  UNE INFINITÉ de cas

     « si A est un B, et B est un C, alors A est un C »
        |-- chat    -> animal  -> mammifère      OK
        |-- Paris   -> ville   -> lieu           OK
        |-- Python  -> langage -> outil          OK
        `-- ... et aussi pour tout ce que
            le modèle n'a JAMAIS vu              OK

Une connaissance sert une fois. Une capacité sert partout, y compris là où on ne l'a jamais entraînée. C'est le meilleur rapport qualité-prix imaginable pour un modèle.

Et il se trouve qu'on sait déjà en écrire certaines à la main. La mieux comprise s'appelle la tête d'induction. C'est la capacité « j'ai déjà vu ce motif, je continue pareil » :

   ... Marie Dupont ... (500 mots) ... Marie  ___ ?
           |                              |
           |                              `-- 2. je cherche le même motif
           |                                     plus haut dans le texte
           `-- 1. je l'ai déjà rencontré ici
                                          
                                          `-- 3. je copie ce qui suivait
                                                 REPONSE : « Dupont »

Trois étapes. Un mécanisme minuscule. Et voici le fait vraiment intéressant : pendant l'entraînement, ce mécanisme n'apparaît pas progressivement.

   capacité du modèle à apprendre dans le contexte
      |
      |                        .-------------------
      |                        |
      |                        |   il apparaît d'un coup,
      |                        |    comme un interrupteur
      |  ----------------------'
      +--------------------------------------------- temps d'entraînement
                               ^
                          à ce moment précis, le modèle devient
                          capable d'apprendre de nouveaux motifs
                          sans qu'on le réentraîne

Donc la question du laboratoire devient très concrète : et si on l'installait avant, au lieu d'attendre qu'il se forme tout seul ? C'est notre première expérience, et elle est mesurable en une journée.

Il existe déjà une preuve que cette approche fonctionne, et elle est massive. Dans la vision par ordinateur, quelqu'un a un jour décidé d'imposer au réseau une contrainte dessinée à la main : « reconnaître un objet ne doit pas dépendre de l'endroit où il se trouve dans l'image ». Ça s'appelle la convolution. Ça n'écrit aucun poids. Ça écrit une règle du jeu. Et ça a fait économiser au domaine des ordres de grandeur de calcul et de données.

La convolution est la preuve que l'idée est bonne. Mais elle n'imprime pas des poids — elle imprime une contrainte. Trouver l'équivalent pour le langage, c'est ça, le vrai objectif.

07Notre première idée est morte en 40 minutes. C'est une bonne nouvelle.

Nous avions une idée : installer à l'avance, dans le modèle, le petit mécanisme « j'ai déjà vu ce motif, je continue pareil ». Avant d'écrire une seule ligne de code, la règle du laboratoire imposait une heure de lecture. Cette heure a tué l'idée.

   LA MAUVAISE FAÇON                  LA BONNE FAÇON

   une idée                           une idée
       |                                  |
       v                                  v
   3 jours de code                    40 minutes de lecture
       |                                  |
       v                                  v
   ça ne marche pas                   « quelqu'un l'a déjà fait,
       |                                 et en mieux »
       v                                  |
   pourquoi ?                             v
       |                              on récupère son chiffre
       v                              et on part de là
   3 jours de plus                        |
       |                                  v
       v                              3 jours économisés
   une semaine perdue

Deux choses ont été trouvées. D'abord : quelqu'un a déjà câblé ce mécanisme dans un modèle, et a obtenu 27 fois moins de données nécessaires. Ensuite : une autre équipe a montré que ce mécanisme n'est probablement pas celui qui porte le raisonnement — le modèle sait s'en passer.

Mais la différence la plus importante est ailleurs. Ce n'est pas quoi installer, c'est comment :

   DEUX FAÇONS D'INSTALLER UN MÉCANISME

   1. L'ÉCRIRE AU DÉPART  (une initialisation)
      on inscrit le mécanisme dans les poids, puis on entraîne
      -> l'entraînement peut le déformer, l'effacer, le contourner
      -> c'est un conseil

   2. LE CÂBLER EN DUR  (une architecture)
      le mécanisme est une pièce fixe, l'entraînement n'y touche jamais
      -> il tient du premier au dernier pas
      -> c'est une loi

   La littérature a tranché : c'est le 2 qui rapporte.
   La convolution, c'est le 2.  Le résultat à 27x, c'est le 2.
Erratum — 10 septembre 2026

La phrase « la littérature a tranché : c'est le 2 qui rapporte » est trop forte, et elle est de nous. Elle est conservée ci-dessus telle qu'elle a été publiée.

Ce que les preuves disent réellement : le résultat à 27× porte sur l'apprentissage par renforcement, sur des tâches particulières, avec un mécanisme particulier. Cela ne démontre pas que des couches câblées en dur sont l'avenir des modèles de langage. La formulation correcte est : dans certains cas, injecter un biais inductif dans l'architecture est plus efficace que d'espérer qu'il émerge pendant l'entraînement. C'est très différent, et c'est précisément l'écart que la mission M3 doit combler.

Nous avions choisi le 1. Nous passons au 2. L'idée de départ n'était pas fausse — sa forme l'était, et une heure de lecture nous l'a appris au lieu d'une semaine de code.

Un laboratoire ne se juge pas au nombre d'idées qu'il défend. Il se juge à la vitesse à laquelle il les tue.

06Où nous en sommes réellement

Il faut être clair sur ce que ce projet est, et sur ce qu'il n'est pas.

  • Notre objectif n'est pas de produire une théorie élégante.
  • Notre objectif est de trouver une manière réellement plus efficace de construire un cerveau artificiel.
  • Nous ne savons pas encore si c'est possible.
  • Donc nous avançons comme un laboratoire : beaucoup de prototypes, mesurés objectivement, et on ne garde que ce qui bat l'existant.

La discipline la plus importante, c'est de savoir tuer une idée vite. Voici la règle que nous nous imposons :

   LA RÈGLE DU LABO

   Une idée n'est jamais « vraie » ou « fausse ».
   Elle est « meilleure que l'existant » ou « pas meilleure ».

   On mesure chaque idée à quatre tailles de modèle :

      10M   ->   30M   ->   100M   ->   300M paramètres

      le gain MONTE       . - '        on continue, c'est peut-être réel
      le gain STAGNE      - - -        utile, mais pas révolutionnaire
      le gain DESCEND     ' - .        on jette. Même si c'était superbe
                                       sur le petit modèle.

Ce dernier cas est le piège classique du domaine. Presque toutes les bonnes idées d'initialisation marchent très bien sur un petit modèle et s'évaporent quand on grandit. Ce test seul élimine environ 95 % des propositions, et il coûte presque rien à faire.

Enfin, la distinction la plus importante de toutes, et celle qu'il ne faut jamais perdre de vue :

   Le but n'est PAS de prouver que notre idée fonctionne.
   Le but est de trouver une idée réellement meilleure.

   Ce sont deux métiers opposés :

     prouver qu'on a raison   ->  on cherche ce qui confirme
     chercher ce qui marche   ->  on cherche ce qui réfute, et vite

   Seul le deuxième produit quelque chose.

C'est pour cette raison que le journal de recherche de cette page ne sera jamais réécrit. Les idées abandonnées y resteront, avec la raison de leur abandon. Un laboratoire qui n'affiche que ses succès ne prouve rien du tout : il montre juste qu'il a bien trié après coup.