Vos évaluations sont aussi instables : arrêtez de faire confiance à un taux de réussite que vous ne pouvez pas reproduire

La plupart des gens savent que les agents d'IA sont non déterministes. Vous envoyez le même prompt, mais vous obtenez des résultats différents.

Nous l'avons accepté. Nous avons commencé à utiliser des LLM comme juges pour évaluer ces agents.

Mais nous avons commis une erreur massive. Nous avons supposé que nos juges étaient déterministes. Ils ne le sont pas.

Votre suite d'évaluation est un système aléatoire évaluant un autre système aléatoire. Si vous ne mesurez pas l'instabilité de votre évaluateur, vous n'avez pas de barrière de qualité. Vous avez un pile ou face.

J'ai vu cela se produire avec un agent de support. Le tableau de bord est resté au vert pendant des semaines. Puis, les plaintes des clients ont explosé. J'ai lancé la même évaluation sur 200 anciennes réponses. 14 d'entre elles ont changé de verdict. L'agent n'avait pas changé. C'est le juge qui a changé d'avis.

Une barrière instable est pire que l'absence de barrière. Elle vous donne un faux sentiment de confiance.

Il y a trois raisons pour lesquelles vos évaluations échouent :

  • Le modèle de juge : Chaque juge LLM présente une variance. Même à une température de 0, les fournisseurs ne garantissent pas le même résultat. Une mise à jour silencieuse du modèle peut ruiner votre référence du jour au lendemain.
  • L'environnement (harness) : Si votre contexte ou les sorties de vos outils changent entre deux exécutions, le juge voit une question différente. L'entrée a dérivé.
  • La grille d'évaluation (rubric) : Des règles vagues comme « est-ce que c'est bien ? » créent de la variance. Des règles strictes et spécifiques la réduisent.

Vous devez traiter les évaluations instables comme des tests logiciels instables. Ne les déployez pas. Mettez-les en quarantaine. Mesurez le taux d'instabilité.

Arrêtez de rapporter un simple taux de réussite. Commencez à rapporter le taux d'accord.

Exécutez chaque appel de juge plusieurs fois. Si le juge ne peut pas s'accorder avec lui-même, le verdict n'est pas un signal. Il est INSTABLE.

Un résultat INSTABLE devrait être un résultat de premier ordre dans votre pipeline CI/CD. Il devrait échouer de manière explicite.

Pour corriger une évaluation instable, vous avez besoin de deux choses :

  1. Une couche de notation : Elle calcule la stabilité et transforme les résultats en SUCCÈS, ÉCHEC ou INSTABLE.
  2. Une couche de traçage : Vous devez pouvoir voir les octets bruts, le prompt exact et les sorties des outils pour chaque exécution.

Sans traçage, vous penserez que le modèle est simplement aléatoire. Vous baisserez la température et penserez avoir corrigé le problème. Vous ne l'avez pas corrigé. Vous l'avez juste rendu moins visible.

Suivez ces règles pour construire une véritable qualité :

  • Rapportez le taux d'accord, pas seulement les moyennes.
  • Faites de l'état INSTABLE un état d'échec dans votre pipeline.
  • Fixez les versions de vos modèles de juge.
  • Lisez les traces lorsqu'un contrôle échoue.

Un tableau de bord au vert que vous ne pouvez pas reproduire n'est pas un signal. C'est une histoire que vous vous racontez.

Source: https://dev.to/saurav_bhattacharya/your-evals-are-flaky-too-stop-trusting-a-pass-rate-you-cant-reproduce-6pk

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