Blind Eval — l'éval à l'aveugle
Effort: light — un run de juge à l'aveugle : plusieurs lectures mélangées de la paire gelée par un modèle qui n'a écrit ni l'une ni l'autre. Élimine : les atterrissages auto-notés « c'est mieux » — les régressions de goût que l'auteur laisserait passer.
Une barrière de qualité garder-ou-annuler (keep or revert) pour les décisions qu'un
test ne peut pas trancher — la qualité d'une prose, un texte d'interface, la lisibilité
d'un refactor, la sortie d'un prompt, le rendu d'un design. Juge le changement sur ses
mérites, auteur masqué, puis GARDE-le ou ANNULE-le. Une égalité s'annule. Seul un gain
prouvé est conservé.
Quand la lancer
- Avant de livrer tout changement où « est-ce mieux ? » est une question de goût ou de
qualité.
- Comme barrière au cœur d'une boucle d'amélioration : proposer → essayer → mesurer →
garder ou jeter.
- Chaque fois que l'auteur est tenté de déclarer lui-même son travail « une
amélioration ».
La méthode
- Écris « mieux » AVANT de regarder. Un objectif en langage clair. Une mesure
principale ou un axe de grille qui porte une barre dure — un niveau à franchir, pas
un chiffre à pousser. Les axes secondaires en ordre de priorité (coût, longueur,
latence).
- Fige les deux versions. La base et le candidat, comme artefacts réels — jamais
une description de ceux-ci.
- Efface l'auteur. Étiquette-les A et B, mélange l'ordre, retire chaque nom,
chaque id de modèle et le raisonnement de l'auteur. Le juge ne voit que les
artefacts et la grille.
- Assieds un juge qui n'a écrit ni l'un ni l'autre — un modèle d'une autre
famille, ou un humain. L'auteur ne note jamais son propre travail.
- Juge sur les mérites. Note chaque axe de la grille. Cite une preuve tirée de
l'artefact pour chaque note — un verdict sans preuve est une supposition.
- GARDE seulement si le candidat franchit la barre ET bat strictement la base.
Une égalité n'est pas un gain — annule.
- Annule proprement. Restaure l'arbre à l'identique, octet pour octet, à l'état
d'avant le changement (une branche de brouillon ou un stash le fait en une seule
commande). Consigne le verdict dans les deux cas.
Les règles qui coupent la triche
- La barre se vérifie en premier, et les axes comptent dans l'ordre. Une
régression sur un axe plus prioritaire est fatale, même si tous les axes du dessous
s'améliorent. Et franchir la barre avec de la marge n'achète rien — tu ne peux pas
sur-réussir le principal pour « payer » une régression de coût.
- Ne baisse jamais la barre après avoir vu le résultat. Réparer la note en
affaiblissant l'éval est interdit. Garde la grille et l'éval hors des fichiers que
le changement a le droit de toucher.
- Pas d'auto-notation. Le juge ne voit jamais l'argumentaire de l'auteur — un juge
qui lit le pitch note le pitch, pas le travail.
- Débruite un juge stochastique. Les lectures à l'aveugle varient d'un run à
l'autre, et les juges préfèrent la première option qu'ils voient. Lance chaque
comparaison plusieurs fois, ordre mélangé, et prends le vote majoritaire — le
mélange tue le biais de position et les répétitions tuent le bruit, en un seul
geste. Si le vrai gain est plus petit que la variation du juge d'un run à l'autre,
la barrière ne distingue pas le signal de la chance — ajoute des lectures ou choisis
une mesure plus stable.
- Montage solo. Pas de seconde famille de modèles sous la main ? Une session
vierge qui n'a jamais vu la conversation de l'auteur juge — et le rapport nomme la
barrière affaiblie (« jugé même-famille-à-l'aveugle, pas inter-familles »).
- Pas de barre fiable ? Utilise la dominance. Quand le niveau de la base est
inconnu ou bruité, abandonne la barre absolue et ne garde que ce qui bat strictement
le champion en titre. Une régression ne peut jamais dominer, donc aucun plancher
n'est nécessaire.
- Ne note jamais un axe de coût sur des échecs. « Moins d'étapes » calculé sur des
tentatives ratées récompense l'abandon rapide. Calcule le coût et l'effort sur les
réussites seulement.
Débiaiser le juge
Le socle de la mécanique du juge. Il vit ici et nulle part ailleurs :
- Suite tenue à l'écart. Note sur une suite gardée HORS de portée d'écriture du
builder — le builder ne voit jamais les tests notés, donc il ne peut pas coder en
dur pour eux.
- Repartir d'un commit frais. Réduis l'espace de travail à un commit frais et
coupe le réseau sortant avant un run noté, pour qu'un pass soit DÉRIVÉ — pas
récupéré dans l'historique git ou dans le correctif de quelqu'un d'autre.
- Normalise la longueur. Les juges préfèrent nettement la réponse la plus longue —
corrige la longueur avant de comparer les notes.
- Critères cachés tournants. Utilise une grille oui/non à axes nommés, avec des
critères cachés qui tournent entre les runs. Une note holistique visible finit
gamée en théâtre de citations.
- Notation sur l'état final. Note un travail multi-étapes sur l'état FINAL, pas
sur chaque étape intermédiaire.
- Calibration du juge. Calibre le juge sur un petit jeu étiqueté par des humains —
rapporte ses taux de vrais positifs et de vrais négatifs — avant de lui faire
confiance sur ton domaine.
Le mélange d'ordre fait partie de la règle de débruitage ci-dessus — une seule loi,
énoncée une seule fois.
La variante en boucle
La même barrière alimente une boucle d'amélioration autonome : proposer un petit
changement → lancer une courte expérience → mesurer à l'aveugle → garder si mieux,
annuler sinon → répéter, sur un budget de tours fixé. Donne au proposeur les traces
d'échec du tour précédent, pas seulement l'objectif — un proposeur qui ne voit pas
pourquoi il échoue édite à l'aveugle. Même une boucle qui ne garde rien rembourse son
coût : les traces qu'elle collecte pointent des bugs concrets et réparables qu'aucun
score agrégé ne révèle.
Marche bien avec
- blind-tribunal — le panel de jurés, plus lourd, quand la question porte sur les défauts, pas le goût.
- red-first — quand un test PEUT trancher, écris le test à la place.
- clean-code-gauntlet — des barrières de qualité de code mesurées, à marier au jugement de goût.
Crédit du nom : Andrej Karpathy. Inspiration éponyme ; la discipline
garder-ou-annuler trouve un parallèle indépendant dans autoresearch de Karpathy
(2026, github.com/karpathy/autoresearch, MIT). L'aspect aveugle (auteur masqué), la
composition et les règles dures d'ici sont BACKS AIOS.
1---2name: blind-eval-43description: À utiliser avant de livrer quoi que ce soit où le goût ou la qualité du rendu est la question et qu'un test ne peut pas trancher. Juge un changement sur ses mérites, auteur masqué, puis garde ou annule — une égalité annule, seul un gain prouvé atterrit. Trigger words: blind eval, karpathy, keep or revert, quality gate, taste call, blind judge, A/B judge, prove uplift, éval à l'aveugle, garder ou annuler, barrière de qualité, question de goût, juge aveugle, gain prouvé.4license: MIT5---67# Blind Eval — l'éval à l'aveugle8**Effort:** light — un run de juge à l'aveugle : plusieurs lectures mélangées de la paire gelée par un modèle qui n'a écrit ni l'une ni l'autre. Élimine : les atterrissages auto-notés « c'est mieux » — les régressions de goût que l'auteur laisserait passer.910Une barrière de qualité garder-ou-annuler (keep or revert) pour les décisions qu'un11test ne peut pas trancher — la qualité d'une prose, un texte d'interface, la lisibilité12d'un refactor, la sortie d'un prompt, le rendu d'un design. Juge le changement sur ses13mérites, auteur masqué, puis GARDE-le ou ANNULE-le. Une égalité s'annule. Seul un gain14prouvé est conservé.1516## Quand la lancer1718- Avant de livrer tout changement où « est-ce mieux ? » est une question de goût ou de19 qualité.20- Comme barrière au cœur d'une boucle d'amélioration : proposer → essayer → mesurer →21 garder ou jeter.22- Chaque fois que l'auteur est tenté de déclarer lui-même son travail « une23 amélioration ».2425## La méthode26271. **Écris « mieux » AVANT de regarder.** Un objectif en langage clair. Une mesure28 principale ou un axe de grille qui porte une barre dure — un niveau à franchir, pas29 un chiffre à pousser. Les axes secondaires en ordre de priorité (coût, longueur,30 latence).312. **Fige les deux versions.** La base et le candidat, comme artefacts réels — jamais32 une description de ceux-ci.333. **Efface l'auteur.** Étiquette-les A et B, mélange l'ordre, retire chaque nom,34 chaque id de modèle et le raisonnement de l'auteur. Le juge ne voit que les35 artefacts et la grille.364. **Assieds un juge qui n'a écrit ni l'un ni l'autre** — un modèle d'une autre37 famille, ou un humain. L'auteur ne note jamais son propre travail.385. **Juge sur les mérites.** Note chaque axe de la grille. Cite une preuve tirée de39 l'artefact pour chaque note — un verdict sans preuve est une supposition.406. **GARDE seulement si le candidat franchit la barre ET bat strictement la base.**41 Une égalité n'est pas un gain — annule.427. **Annule proprement.** Restaure l'arbre à l'identique, octet pour octet, à l'état43 d'avant le changement (une branche de brouillon ou un stash le fait en une seule44 commande). Consigne le verdict dans les deux cas.4546## Les règles qui coupent la triche4748- **La barre se vérifie en premier, et les axes comptent dans l'ordre.** Une49 régression sur un axe plus prioritaire est fatale, même si tous les axes du dessous50 s'améliorent. Et franchir la barre avec de la marge n'achète rien — tu ne peux pas51 sur-réussir le principal pour « payer » une régression de coût.52- **Ne baisse jamais la barre après avoir vu le résultat.** Réparer la note en53 affaiblissant l'éval est interdit. Garde la grille et l'éval hors des fichiers que54 le changement a le droit de toucher.55- **Pas d'auto-notation.** Le juge ne voit jamais l'argumentaire de l'auteur — un juge56 qui lit le pitch note le pitch, pas le travail.57- **Débruite un juge stochastique.** Les lectures à l'aveugle varient d'un run à58 l'autre, et les juges préfèrent la première option qu'ils voient. Lance chaque59 comparaison plusieurs fois, ordre mélangé, et prends le vote majoritaire — le60 mélange tue le biais de position et les répétitions tuent le bruit, en un seul61 geste. Si le vrai gain est plus petit que la variation du juge d'un run à l'autre,62 la barrière ne distingue pas le signal de la chance — ajoute des lectures ou choisis63 une mesure plus stable.64- **Montage solo.** Pas de seconde famille de modèles sous la main ? Une session65 vierge qui n'a jamais vu la conversation de l'auteur juge — et le rapport nomme la66 barrière affaiblie (« jugé même-famille-à-l'aveugle, pas inter-familles »).67- **Pas de barre fiable ? Utilise la dominance.** Quand le niveau de la base est68 inconnu ou bruité, abandonne la barre absolue et ne garde que ce qui bat strictement69 le champion en titre. Une régression ne peut jamais dominer, donc aucun plancher70 n'est nécessaire.71- **Ne note jamais un axe de coût sur des échecs.** « Moins d'étapes » calculé sur des72 tentatives ratées récompense l'abandon rapide. Calcule le coût et l'effort sur les73 réussites seulement.7475## Débiaiser le juge7677Le socle de la mécanique du juge. Il vit ici et nulle part ailleurs :7879- **Suite tenue à l'écart.** Note sur une suite gardée HORS de portée d'écriture du80 builder — le builder ne voit jamais les tests notés, donc il ne peut pas coder en81 dur pour eux.82- **Repartir d'un commit frais.** Réduis l'espace de travail à un commit frais et83 coupe le réseau sortant avant un run noté, pour qu'un pass soit DÉRIVÉ — pas84 récupéré dans l'historique git ou dans le correctif de quelqu'un d'autre.85- **Normalise la longueur.** Les juges préfèrent nettement la réponse la plus longue —86 corrige la longueur avant de comparer les notes.87- **Critères cachés tournants.** Utilise une grille oui/non à axes nommés, avec des88 critères cachés qui tournent entre les runs. Une note holistique visible finit89 gamée en théâtre de citations.90- **Notation sur l'état final.** Note un travail multi-étapes sur l'état FINAL, pas91 sur chaque étape intermédiaire.92- **Calibration du juge.** Calibre le juge sur un petit jeu étiqueté par des humains —93 rapporte ses taux de vrais positifs et de vrais négatifs — avant de lui faire94 confiance sur ton domaine.9596Le mélange d'ordre fait partie de la règle de débruitage ci-dessus — une seule loi,97énoncée une seule fois.9899## La variante en boucle100101La même barrière alimente une boucle d'amélioration autonome : proposer un petit102changement → lancer une courte expérience → mesurer à l'aveugle → garder si mieux,103annuler sinon → répéter, sur un budget de tours fixé. Donne au proposeur les traces104d'échec du tour précédent, pas seulement l'objectif — un proposeur qui ne voit pas105pourquoi il échoue édite à l'aveugle. Même une boucle qui ne garde rien rembourse son106coût : les traces qu'elle collecte pointent des bugs concrets et réparables qu'aucun107score agrégé ne révèle.108109## Marche bien avec110111- [blind-tribunal](../blind-tribunal/SKILL.md) — le panel de jurés, plus lourd, quand la question porte sur les défauts, pas le goût.112- [red-first](../red-first/SKILL.md) — quand un test PEUT trancher, écris le test à la place.113- [clean-code-gauntlet](../clean-code-gauntlet/SKILL.md) — des barrières de qualité de code mesurées, à marier au jugement de goût.114115> Crédit du nom : Andrej Karpathy. Inspiration éponyme ; la discipline116> garder-ou-annuler trouve un parallèle indépendant dans autoresearch de Karpathy117> (2026, github.com/karpathy/autoresearch, MIT). L'aspect aveugle (auteur masqué), la118> composition et les règles dures d'ici sont BACKS AIOS.