learn.chetana.fr

Dataset ≠ Run — le modèle mental central

12 min readCore

Deux objets à ne jamais confondre

Tout harness d'éval mûr distingue deux choses. Les confondre est l'erreur conceptuelle n°1.

Le dataset — c'est la vérité. L'ensemble des cas avec leur corrigé humain. Stable. Un item par document, avec un identifiant stable (commande::<nom_fichier> par ex.) pour qu'on puisse le mettre à jour sans jamais créer de doublon. Le dataset ne bouge que quand un humain corrige un corrigé.

Le run — c'est un passage du pipeline à un instant T, qui produit des scores. Un nouveau run à chaque exécution (baseline, prompt-v2, 2026-07-13-14h…). C'est ce qui te laisse voir la progression version après version.

Le dataset est le paquet de copies avec le corrigé au dos. Le run, c'est la note qu'obtient ton pipeline le jour où il passe l'examen. Le corrigé ne change pas ; la note monte quand ton code s'améliore.

Pourquoi la distinction est vitale

Si tu mélanges les deux — par exemple en réécrivant la vérité à chaque exécution — tu perds la seule chose qui compte : la comparabilité. Deux runs ne sont comparables que s'ils ont été notés sur le même corrigé. Fige la vérité, empile les notes : c'est ce qui rend les courbes de progression honnêtes.

dataset (vérité, stable)          runs (notes, empilées)
  item: commande_A  ───────┐        baseline      → f1 0.71
  item: commande_B         ├─notés→  prompt-v2     → f1 0.78
  item: commande_C  ───────┘        catalogue-v3   → f1 0.82
        ▲                                   ▲
   bouge quand un humain corrige       un par exécution du pipeline

Item stable = upsert, jamais doublon

Le détail qui fait la différence : chaque item porte un id déterministe dérivé du nom du cas. Quand tu régénères le dataset, tu upsertes (mets à jour si existe, crée sinon). Sans ça, chaque exécution dupliquerait tes cas et pollurait l'historique. L'id stable, c'est la clé primaire de ta vérité.

🧩 Quiz1/4

Qu'est-ce qui distingue le dataset du run ?

🃏 Flashcards1/4