Aller au contenu
Cercle IA Tech · Évaluation Un site du réseau Cercle IA Tech

Guide

Golden dataset : construire un jeu de test pour son IA

Construire un jeu de test (golden dataset) avec vos vraies questions : colonnes, cas limites, format CSV, questions générées à relire.

Mis à jour le

Un golden dataset (jeu de référence) est une liste de questions réelles, chacune accompagnée de la réponse attendue, validée par quelqu'un du métier. C'est l'outil central de l'évaluation : sans lui, chaque version de votre application est jugée « à l'impression ». Il se construit à partir de ce que vos utilisateurs demandent vraiment, se complète de cas limites, et se range dans un fichier simple que les outils savent lire.

D'où tirer les questions

Les meilleures sources sont celles où vos utilisateurs ont déjà écrit leurs questions, avec leurs mots :

  • la boîte mail du support et les formulaires de contact ;
  • les tickets d'assistance, surtout ceux qui ont demandé plusieurs échanges ;
  • les questions posées en réunion ou au téléphone, notées par l'équipe ;
  • en production, les conversations où l'assistant a échoué.

Anthropic va dans ce sens pour les agents : regarder le suivi des anomalies et la file du support, et transformer les échecs signalés par les utilisateurs en cas de test, pour que le jeu reflète l'usage réel. L'éditeur indique que 20 à 50 tâches tirées d'échecs réels sont un bon départ.

Gardez les questions telles qu'elles ont été posées, fautes et imprécisions comprises. Une question réécrite proprement teste un utilisateur qui n'existe pas. Retirez en revanche les noms, adresses et autres données personnelles avant de les verser au jeu.

Ce qu'on note pour chaque ligne

Colonne Contenu Pourquoi
question la demande, mot pour mot c'est l'entrée du test
réponse attendue la bonne réponse, écrite par le métier sert de référence pour noter
source le document ou le passage qui contient la réponse permet de vérifier la fidélité
catégorie facturation, livraison, technique… lire les résultats par thème
critère ce qui rend la réponse acceptable guide le juge, humain ou automatique

Pour une question dont la réponse est longue, écrivez plutôt les éléments obligatoires (« doit citer le délai de livraison indiqué dans les conditions de vente et renvoyer vers le formulaire de contact ») qu'une réponse modèle mot à mot : deux réponses justes peuvent être formulées différemment.

Les cas limites à ajouter

La documentation d'Anthropic insiste sur les cas limites. Ajoutez au moins :

  • des questions sans réponse dans vos documents : l'assistant doit le dire au lieu d'inventer ;
  • des questions hors sujet : il doit rester dans son périmètre ;
  • des entrées très longues ou mal formées ;
  • des demandes ambiguës, qui appellent une question en retour ;
  • des tentatives de manipulation (« oublie tes consignes… »).

Les questions sans réponse sont souvent les plus utiles : c'est là qu'un assistant invente le plus volontiers.

Le format

Un tableur exporté en CSV (valeurs séparées par des virgules) suffit, et la plupart des outils le lisent directement. Dans promptfoo, chaque en-tête de colonne devient une variable du prompt, et la colonne spéciale __expected porte l'assertion :

question,__expected
"Quels sont vos horaires d'ouverture ?","llm-rubric: donne les horaires de la fiche contact, sans en inventer"
"Livrez-vous en Suisse ?","llm-rubric: dit que l'information n'est pas dans la documentation"

Dans Inspect, la fonction csv_dataset lit un fichier dont les colonnes suivent les champs d'un échantillon : input (la question) et target (la réponse attendue). Choisissez des noms de colonnes neutres, et vous pourrez changer d'outil sans refaire le fichier.

Et les questions générées automatiquement ?

Des bibliothèques génèrent des questions à partir de vos documents. Le générateur de Ragas construit un graphe de connaissances à partir des documents, puis produit par défaut des questions simples sur un seul passage (50 %) et des questions qui croisent plusieurs passages (25 % abstraites, 25 % précises). Sa documentation reconnaît que la génération synthétique « peut être déroutante et difficile », et invite à consulter le jeu produit pour choisir les questions à garder.

Usage raisonnable : générer pour couvrir des documents que personne n'a encore interrogés, puis faire relire chaque question et chaque réponse attendue par le métier avant de l'ajouter. Une question générée et non relue mesure surtout le modèle qui l'a générée.

Faire vivre le jeu

  • Versionnez le fichier avec le code de l'application : chaque score se rapporte à une version du jeu.
  • N'ajoutez jamais une question pour faire monter le score ; ajoutez celles qui ont échoué en production.
  • Séparez les questions qui servent à régler les consignes de celles qui servent à juger, sinon vous mesurez votre capacité à apprendre le jeu par cœur.
  • Relisez les réponses attendues quand vos documents changent : une politique de retour modifiée rend fausses les références d'hier.

Certaines plateformes gardent ces références au même endroit que l'assistant : ALMA, par exemple, liste dans ses fonctionnalités une gestion des sources de connaissances qui comprend « FAQ, golden answers, questions sans réponse ». Où qu'il vive, le jeu de référence est ce qui rend toutes les autres mesures du site possibles : les métriques, le juge automatique et la non-régression.

Questions fréquentes

Qu'est-ce qu'un golden dataset ?

Un jeu de questions dont la bonne réponse a été écrite ou validée par quelqu'un du métier. Il sert de référence fixe pour noter chaque version de l'application.

Peut-on générer le jeu de test automatiquement ?

On peut générer des questions à partir de vos documents, par exemple avec le générateur de Ragas, mais sa documentation invite à consulter le jeu produit et à choisir les questions à garder. Les vraies questions de vos utilisateurs restent la base.

Sources

Pages consultées pour écrire cet article :

  1. https://platform.claude.com/docs/en/test-and-evaluate/develop-tests
  2. https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
  3. https://www.promptfoo.dev/docs/configuration/test-cases/
  4. https://inspect.aisi.org.uk/datasets.html
  5. https://docs.ragas.io/en/stable/getstarted/rag_testset_generation/
  6. https://alma.iarche.fr/fr/features

À lire aussi