Votre banc d'essai vous mentira avant votre modèle

Votre tableau de bord d'évaluation indiquait que les deux moteurs avaient échoué.

Llama3.2 a échoué dans 5 cas sur 6. Anthropic Sonnet a échoué dans 6 cas sur 6.

L'étiquette était « malformé ». Mais les causes étaient différentes.

Un échec était une erreur d'API parce que les crédits étaient épuisés. Un échec était dû à des octets de contrôle de terminal provenant d'une commande CLI corrompant le texte. Un échec était un JSON valide enveloppé dans des balises markdown que l'analyseur ne pouvait pas lire.

Si j'avais publié ce premier résumé, j'aurais menti. J'aurais imputé aux modèles des échecs provenant de mon propre code.

J'ai trouvé ces bugs en examinant les enregistrements bruts au lieu de me fier au résumé.

Le premier bug est survenu parce que j'utilisais un sous-processus CLI pour appeler Ollama. La commande produisait des animations de terminal comme des indicateurs de chargement (spinners) et des mouvements de curseur. Ces octets de contrôle ANSI se sont retrouvés dans mes données. L'analyseur a détecté des caractères invisibles et a planté.

La solution : Passer d'un sous-processus CLI à une API HTTP directe.

Le second bug est survenu parce que les LLM enveloppent souvent le JSON dans des balises markdown. Mon analyseur utilisait json.loads() sur la chaîne brute. Il a vu les backticks et a échoué.

La solution : Ajouter une fonction pour supprimer les balises de code avant l'analyse.

Une fois le pipeline corrigé, les vrais résultats sont apparus.

Les modèles n'étaient pas « morts ». Ils étaient simplement corrompus par le banc d'essai. Après la correction, l'écart de qualité entre les deux modèles est devenu visible et mesurable.

Leçons pour votre pipeline d'évaluation d'IA :

  • Conservez la sortie brute. Si le résumé indique « malformé », la sortie brute est votre seule source de vérité.
  • Enregistrez la raison de l'échec. Ne dites pas simplement « malformé ». Dites « erreur d'API » ou « erreur d'analyse ».
  • Gelez vos standards de test. Ne changez pas vos règles pour embellir les résultats.
  • Considérez le banc d'essai comme faisant partie du système testé.

Le modèle n'est pas la seule chose à l'examen. Votre code l'est aussi.

Source: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662

Optional learning community: https://t.me/GyaanSetuAi