Les golds — la vérité versionnée
Le gold, c'est le corrigé
Un gold (« étalon ») est la bonne réponse pour un cas : pour un bon de commande donné, la liste exacte des lignes attendues, leurs quantités, le SKU attendu pour chacune, et les métadonnées (numéro de commande, adresse…). C'est ce à quoi on compare la sortie du pipeline.
Un gold est human-verified : un humain l'a vérifié ou corrigé. C'est ce qui en fait une vérité et pas une opinion de plus du modèle. Générer un gold automatiquement avec le pipeline qu'on veut évaluer serait circulaire — on validerait le pipeline contre lui-même.
Où vit la vérité : dans le dépôt
Décision structurante : les golds sont versionnés sur disque, dans le dépôt (corpus/<jeu>/gold/*.gold.json), à côté du code. Pas dans l'outil d'observabilité. Trois conséquences énormes :
- reviewable en MR : corriger un gold est une pull request. On voit le diff, on discute, on valide. La vérité évolue comme du code.
- régénérable : le dataset (côté outil d'observabilité) se reconstruit à tout moment depuis les golds. Tu n'es jamais prisonnier de l'outil — s'il disparaît, ta vérité reste.
- à toi : ton IP d'éval ne fuit pas dans un SaaS. Elle est dans ton dépôt, sauvegardée, historisée.
La donnée brute (documents clients) ne se commite jamais. Les corrigés, eux, sont l'IP de l'éval : ils sont versionnés. C'est exactement la ligne dans le
.gitignore:data/ignoré,gold/forcé.
La boucle de fabrication de la vérité
Comment naît un gold ? Via une UI locale de correction, découplée de la mesure :
- tu passes un document dans le pipeline (le vrai) → tu obtiens une proposition ;
- tu corriges à la main dans le navigateur (une ligne mal lue, un SKU faux, une quantité) ;
- tu enregistres → le gold est écrit sur disque, avec un merge intelligent qui préserve les champs riches déjà validés.
Ce que fait l'UI relève de deux registres à ne pas confondre : elle produit des traces d'observabilité (le détail des appels LLM, pour debugger) et elle édite la vérité (les golds sur disque). Mais elle ne pousse aucun score : la mesure, c'est l'étape d'après.
Pourquoi ne pas générer les golds automatiquement avec le pipeline évalué ?