Aller au contenu
Mastering Claude

Accueil / Vérifier ce qu'il rend

Vérifier ce qu'il rend7 minFondation

Le remède contre l'invention peut inventer lui aussi

Un dispositif de vérification est un livrable comme un autre, produit par le même type de mécanisme que ce qu'il contrôle : rejouer ce mécanisme une seconde fois ne le rend pas indépendant, seule une méthode réellement différente le prouve.

Un dispositif de vérification, script ou agent, est un livrable comme un autre : il est produit par le même type de mécanisme que ce qu'il contrôle, et rien ne l'exempte du risque qu'il est censé couvrir. Un contrôle qui rend un verdict rassurant n'a rien prouvé de plus qu'un contrôle qui rend un verdict inquiétant, tant que sa méthode elle-même n'a pas été mise à l'épreuve d'une manière réellement différente.

Rejouer n'est pas vérifier

Relancer un contrôle une seconde fois donne l'impression d'une confirmation. Ce n'est pas le cas dès que le bug est déterministe : le même code, sur la même entrée, produit deux fois la même erreur, et l'accord entre les deux passages ne prouve que la stabilité du bug, pas son absence. Un script écrit pour compter les occurrences du nom de champ ADMIN_PASSWORD dans un fichier de configuration, par une recherche de sous-chaîne sensible à la casse, rend une seule occurrence à la première exécution, puis encore une seule à la seconde.

node compteA.js fixture.txt
occurrences trouvees : 1

node compteA.js fixture.txt
occurrences trouvees : 1

Le fichier contrôlé contient pourtant deux lignes qui affectent ce mot de passe, l'une écrite en majuscules, l'autre en minuscules. La répétition rassure sans rien apporter : c'est une méthode différente, pas une seconde exécution de la même méthode, qui change le résultat. Un second script, construit autrement, découpe chaque ligne sur le signe égal et compare en minuscules le nom de champ obtenu, plutôt que de chercher une sous-chaîne exacte.

node compteB.js fixture.txt
occurrences trouvees : 2

Deux instances du même mécanisme ne sont pas indépendantes

Cette confusion se retrouve à plus grande échelle avec un agent chargé de relire un autre agent. Deux modèles, même sous des noms différents, partagent souvent les mêmes angles morts d'entraînement : leur accord n'est pas la preuve d'une vérité, c'est la preuve d'une ressemblance de méthode. L'indépendance qui compte n'est pas celle de l'instance, un second lancement, une seconde IA du même type. C'est celle de la méthode : un algorithme de comptage différent, une lecture manuelle d'un échantillon, une source qui n'a pas été produite par le dispositif que l'on cherche à contrôler.

La règle pratique tient en une question, posée avant de faire confiance à n'importe quel verdict de contrôle : ce second résultat vient-il d'une méthode qui pourrait échouer d'une manière différente, ou seulement de la même méthode rejouée. Dans le premier cas, l'accord compte. Dans le second, il ne prouve rien de plus que la première exécution.

Ce principe prolonge testez le vérificateur avant de croire son verdict : un auto-test avec un cas connu suffit à repérer un contrôle cassé, mais seule une méthode réellement différente permet ensuite de faire confiance à un contrôle qui semble déjà marcher. Il rejoint aussi un vert ne prouve rien tant qu'il n'a pas été prouvé lui-même : un témoin positif prouve qu'un contrôle sait détecter, une seconde exécution du même contrôle ne le prouve jamais deux fois.

Figure 1

Rejouer le même contrôle, ou changer de méthode

Même méthode, rejouée

Le même script tourne une seconde fois sur la même entrée, avec le même bug : le résultat ne bouge pas, il confirme sa propre erreur sans rien apprendre de neuf.

Méthode indépendante, même entrée

Un second mécanisme, construit autrement, tourne sur la même entrée : l'écart entre les deux résultats révèle ce que la première méthode ne pouvait pas voir seule.

Sur la même entrée, le script rejoué à l'identique rend 1 deux fois de suite ; un mécanisme construit autrement sur cette même entrée rend 2, la valeur réelle.
Calibrez vous-même

Un script cherche le nom de champ ADMIN_PASSWORD dans un fichier par une recherche de sous chaîne sensible à la casse. Il tourne une première fois et compte une occurrence. Il tourne une seconde fois sur la même version du fichier et la même version du script, et compte de nouveau une occurrence.

Écrivez en une phrase ce que ce résultat établit, et en une phrase ce qu'il n'établit pas.

Ce qu’il faut retenir
  • Un dispositif de vérification est produit par le même type de mécanisme que ce qu'il contrôle, et n'est jamais exempté du risque qu'il est censé couvrir.
  • Un bug déterministe rejoué sur la même entrée, avec la même méthode, produit deux fois la même erreur : l'accord entre les deux passages ne prouve rien de neuf.
  • Deux instances du même type de mécanisme, deux modèles ou deux exécutions du même script, partagent souvent les mêmes angles morts et ne se vérifient pas l'une l'autre.
  • L'indépendance qui compte est celle de la méthode, un algorithme différent ou une lecture indépendante, jamais celle de l'instance qui la fait tourner.
À faire maintenant

Reprenez un contrôle automatique que vous utilisez déjà, et validez son dernier verdict par une méthode réellement différente, un autre algorithme ou une vérification manuelle sur un échantillon, avant de continuer à lui faire confiance sur un cas important.