Technique
Module 4 : l'évaluation continue en production
Pour : ingénieurs et SREPrérequis : Avoir lu le module 3 du parcours sur les trois dérives.
En ligne ou hors ligne
Section intitulée « En ligne ou hors ligne »Les deux sont complémentaires et répondent à des questions différentes.
| En ligne | Hors ligne | |
|---|---|---|
| Sur quoi | le trafic réel, échantillonné (par exemple 1 à 5 %, voir plus bas) | un jeu de référence (ordre de grandeur : quelques centaines à un millier de paires question et réponse) |
| Quand | en continu | à chaque version, avant déploiement |
| Coût | maîtrisé par l’échantillonnage, chaque jugement consommant des jetons | plus élevé, avec un humain dans la boucle |
| Force | détection rapide, alerte quasi temps réel | comparaison rigoureuse entre versions |
| Limite | pas d’oracle, seulement un autre modèle | ne voit pas les dérives après mise en production |
En pratique, on évalue hors ligne avant chaque mise en production et en ligne en continu.
Combien de réponses faire juger en ligne ? Le principe retenu sur tout le site : c’est le nombre de jugements par segment et par période (par fonctionnalité ou par client, par heure ou par jour) qui fait la précision d’un score, pas le pourcentage du trafic. Les 1 à 5 % cités ici sont des exemples : sur un trafic important, 1 % donne déjà beaucoup de jugements ; sur un segment peu fréquenté, même 100 % peut n’en donner que quelques-uns par jour. La conception de l’échantillonnage (paliers d’évaluateurs, traces toujours évaluées) a sa référence à la section 5.7 du guide ; ce module garde ce qui est propre aux labs : les biais du juge et le diagnostic du RAG.
Les deux évaluations forment une seule boucle :
flowchart TB
V["Nouvelle version"] --> OFF{"Hors ligne<br/>jeu de référence"}
OFF -->|"régression"| FX["Corriger"]
FX --> V
OFF -->|"conforme"| PR["Production"]
PR --> ON["En ligne<br/>échantillon 1 à 5 %,<br/>juge différent"]
PR --> FB["Retours utilisateurs<br/>rattachés au trace_id"]
ON --> AL{"Score<br/>en baisse"}
FB --> AL
AL -->|"oui"| EN["Enquête<br/>sur la trace"]
EN -.->|"nouveaux cas"| OFF
Le LLM juge
Section intitulée « Le LLM juge »Faire noter les réponses par un modèle est rapide et produit un score exploitable en métrique. Il reste coûteux et non déterministe : épingler la version du modèle juge et fixer la température à zéro améliorent la reproductibilité sans la garantir. L’accord avec un jugement humain peut être élevé : sur des comparaisons de réponses de chatbots, Zheng et al. mesurent plus de 80 % d’accord entre GPT-4 et des évaluateurs humains, autant qu’entre humains (Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena, 2023). Ce résultat ne se transpose pas tel quel à votre juge ni à vos critères : mesurez l’accord sur un échantillon que vous aurez fait annoter.
Ses biais sont connus et doivent être compensés :
| Biais | Effet |
|---|---|
| verbosité | préfère les réponses longues |
| auto-préférence | préfère son propre style |
| position | favorise la première option dans une comparaison A/B |
| aplomb | tolère une hallucination bien rédigée |
| coût caché | les jetons du juge dépassent parfois ceux du modèle évalué |
Pour les compenser, on utilise un prompt d’évaluation structuré, un format de sortie rigide, un juge différent du modèle évalué, un échantillonnage croisé avec des annotations humaines.
Quatre métriques propres au RAG
Section intitulée « Quatre métriques propres au RAG »| Métrique | Question | Outils |
|---|---|---|
| Faithfulness (fidélité) | les affirmations de la réponse sont-elles soutenues par le contexte récupéré ? | RAGAS, Phoenix |
| Context recall | le contexte contient-il l’information nécessaire ? | RAGAS, vérité terrain |
| Context precision | le contexte est-il dense ou bruité ? | RAGAS |
| Answer relevance | la réponse répond-elle à la question posée ? | RAGAS, LLM juge |
Une fidélité basse avec un context recall bas désigne la récupération. Une fidélité basse avec un context recall haut désigne la génération.
flowchart LR
F["Fidélité basse"] --> R{"Context recall"}
R -->|"bas"| RET["Chercher côté récupération"]
R -->|"haut"| GEN["Chercher côté génération"]
Détecter les hallucinations
Section intitulée « Détecter les hallucinations »Trois niveaux, à combiner selon le risque :
- Règles : un chiffre, une date ou un nom propre dans la réponse qui n’apparaît pas dans le contexte.
- Modèles spécialisés : classifieurs d’implication entre contexte et réponse.
- Signaux faibles : retours négatifs, reformulations immédiates de la même question, abandons.
Les retours utilisateurs
Section intitulée « Les retours utilisateurs »Le pouce haut ou bas est le signal le moins cher et le plus direct. Rattachez-le à la trace par son trace_id : un retour négatif devient alors un point d’entrée vers le contexte exact qui a produit la mauvaise réponse.
En résumé
Section intitulée « En résumé »- L’évaluation hors ligne conditionne chaque mise en production ; l’évaluation en ligne tourne en continu.
- Un LLM juge n’est utile que s’il diffère du modèle évalué et que ses biais sont compensés.
- Lues ensemble, fidélité et context recall disent si le problème vient de la récupération ou de la génération.
- Un retour utilisateur rattaché à sa trace donne le contexte exact de l’erreur, ce qu’aucun score agrégé ne fournit.
Révisé le 2 octobre 2026 : le chiffre de corrélation non sourcé entre juge et humains est remplacé par l’étude de Zheng et al. (2023), les taux d’échantillonnage et la taille du jeu de référence sont présentés comme des ordres de grandeur.
Révisé le 4 octobre 2026 : principe d’échantillonnage du juge énoncé (le nombre de jugements par segment et par période compte plus que le pourcentage), taux présentés comme des exemples et renvoi à la section 5.7 du guide.