Aller au contenu
Mastering Claude

Accueil / Plusieurs agents et vérification adverse

Plusieurs agents et vérification adverse8 minApplication

Plafonner une boucle de juges avant de la lancer

Fixez le plafond avant la première passe, dans les critères du lot : un nombre maximal de passes de juge et d'agents. Le critère d'arrêt appartient au juge, que vous ne maîtrisez pas, et tant qu'il trouve quelque chose, la boucle continue et son coût grimpe. À l'atteinte du plafond, on corrige les constats majeurs sourcés et on clôt.

Une boucle de vérification typique corrige un livrable, le fait juger, corrige encore, et recommence jusqu'à ce que le juge réponde OK. Son critère d'arrêt appartient au juge, que vous ne maîtrisez pas : tant qu'il trouve quelque chose, la boucle continue et son coût grimpe, sans que chaque tour pris isolément paraisse excessif.

Fixer le plafond avant de commencer

Le plafond s'écrit dans les critères du lot, avant la première passe : un nombre maximal de passes de juge et un nombre maximal d'agents. À l'atteinte du plafond, on corrige les constats majeurs qui s'appuient sur une source, on liste le reste comme mineurs connus, et on clôt. Une passe supplémentaire reste possible, mais elle se demande avec son coût mesuré, elle ne se décide pas par défaut. La démonstration suivante fabrique ses propres fichiers de constats et applique ce plafond :

mkdir -p demo-juges && cd demo-juges
printf 'majeur: source citée absente\nmineur: titre trop long\n' > passe1.txt
printf 'majeur: la règle ajoutée à la passe 1 contredit le point 3\n' > passe2.txt
printf 'majeur: la règle ajoutée à la passe 2 est ambiguë\n' > passe3.txt
cat > boucle.sh << 'EOF'
#!/bin/sh
PLAFOND=2
passe=1
while :; do
  majeurs=$(grep -c '^majeur' "passe$passe.txt")
  echo "passe $passe : $majeurs ligne(s) majeur"
  if [ "$majeurs" -eq 0 ]; then echo "arrêt : aucun majeur"; break; fi
  if [ "$passe" -ge "$PLAFOND" ]; then echo "arrêt : plafond de $PLAFOND passes, le reste est listé en mineurs connus"; break; fi
  passe=$((passe+1))
done
EOF
sh boucle.sh
printf 'constats: 0\nfichiers lus: 0\n' > verdict.txt
lus=$(sed -n 's/^fichiers lus: //p' verdict.txt)
if [ "$lus" -gt 0 ]; then echo "verdict accepté"; else echo "verdict vide sans preuve de lecture : à refaire"; fi
passe 1 : 1 ligne(s) majeur
passe 2 : 1 ligne(s) majeur
arrêt : plafond de 2 passes, le reste est listé en mineurs connus
verdict vide sans preuve de lecture : à refaire

La boucle s'arrête à la deuxième passe alors que des constats majeurs subsistent : c'est le plafond qui décide, et le constat restant est consigné au lieu d'être poursuivi. Le dernier test applique la dernière idée de cette leçon, expliquée plus bas.

L'arbitre qui ajoute des règles

Quand un arbitre tranche chaque constat en ajoutant une règle au document, la ronde suivante trouve souvent son défaut majeur dans la règle qu'il vient d'écrire. C'est ce que montrent les passes 2 et 3 du fichier d'essai : chacune porte sur la règle ajoutée à la passe précédente. Avant d'ajouter, cherchez si une règle existante couvre le cas, puis si retirer le mécanisme suffit ; n'ajoutez qu'en dernier recours, avec la correction la plus courte. Si le troisième constat majeur de suite porte sur le même mécanisme, revenez à l'état d'avant.

Un verdict vide et rapide se refait

Un juge qui rend « approuvé, zéro constat » presque aussitôt, sur un lot important, n'a peut-être rien lu : un chemin de fichier mal transmis suffit à produire ce résultat. Acceptez un verdict sans constat uniquement s'il porte la preuve de ce qui a été lu, comme le nombre de fichiers et des citations. Le dernier test de la démonstration refuse le verdict dont le compteur de fichiers lus vaut zéro. Un verdict refusé se relance avec des lentilles distinctes, et les correctifs se font juger eux-mêmes, car un correctif peut créer son propre défaut. La leçon sur les panels de juges décrit ces lentilles.

Figure 1

Une boucle de juges plafonnée

01
Fixer le plafond
Nombre maximal de passes et d'agents, écrit dans les critères du lot.
02
Passe de juge
Le juge lit le livrable et rend ses constats.
03
Vérifier la lecture
Un verdict vide doit citer ce qui a été lu, sinon il se refait.
04
Corriger le fondé
Corriger les constats majeurs appuyés sur une source.
05
Compter
Plafond atteint : lister le reste en mineurs connus et clore.
Plafond non atteint05Retour à la passe de juge.
Le plafond est posé avant la première passe ; la boucle ne s'arrête que par lui, ou par un critère mesuré qui ne dépend pas du mot OK du juge.
Calibrez vous-même

Une équipe relit un guide de procédures avec une boucle : un agent corrige, un juge en aveugle relit, et la boucle reprend tant que le juge ne répond pas OK. Le juge signale un défaut majeur à chacune des six premières passes.

Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.

Ce qu’il faut retenir
  • Un critère d'arrêt confié au juge échappe à celui qui lance la boucle, donc le nombre de passes et d'agents se fixe avant le lancement.
  • À l'atteinte du plafond, on corrige les constats majeurs fondés sur une source, on liste le reste en mineurs connus et on clôt.
  • Une passe au-delà du plafond se demande avec son coût mesuré, elle ne se décide pas par défaut.
  • Quand les constats majeurs successifs portent chacun sur la règle ajoutée à la passe précédente, c'est le mécanisme d'arbitrage qu'il faut retirer.
  • Un verdict sans constat n'est accepté qu'avec la preuve de ce qui a été lu, et un verdict vide et rapide se relance par des lentilles distinctes.
À faire maintenant

Avant votre prochaine boucle de relecture, écrivez dans une note le nombre maximal de passes et d'agents, puis recopiez la démonstration dans un dossier jetable et changez PLAFOND de 2 à 3 pour voir où la boucle s'arrête.