Aller au contenu principal
Leçon 13 sur 67 · Claude sur Amazon Bedrock

Générer des jeux de test

Leçon 13 sur 67 Mis à jour le 5 novembre 2026 Développeur
Sur cette page
  1. Fixer l’objectif
  2. Deux façons de créer un jeu de données
  3. Générer les cas avec Claude
  4. Sauvegarder le jeu de données
  5. À vous de jouer
  6. Points clés à retenir

Passons du schéma théorique à un vrai projet. Un workflow d’évaluation commence par deux décisions : fixer un objectif clair, puis produire des données de test. Le fil rouge de toute la section : un prompt qui aide à écrire du code propre à AWS, fonction Python, configuration JSON ou expression régulière, sans explication ni mise en forme superflue.

Fixer l’objectif

Le prompt reçoit la description d’une tâche et renvoie l’un de ces trois types de sortie :

  • du code Python ;
  • une configuration JSON ;
  • une expression régulière.

Exigence clé : la réponse ne contient que le code demandé, sans titre, sans conclusion, sans explication. La sortie alimente un outil, pas une conversation. Formulée dès maintenant, cette exigence deviendra un critère mesurable.

Le premier prompt est volontairement simple : « Propose une solution à la tâche suivante : {task} ». Il échouera sur l’exigence de format, et c’est prévu : on mesure d’abord, on améliore ensuite.

Deux façons de créer un jeu de données

Un jeu de données d’évaluation rassemble des entrées d’exemple, ici des descriptions de tâches AWS. Chaque cas est combiné au prompt et envoyé à Claude. Deux approches :

  1. À la main : vous écrivez les cas. Vous connaissez vos vrais utilisateurs, c’est le gage de représentativité.
  2. Par génération : Claude écrit les cas. C’est rapide et varié, et un modèle rapide comme Haiku suffit.

Rien n’empêche de mélanger : générer une base, puis y ajouter les cas réels qui remontent de la production.

Générer un jeu de test Quatre étapes : une description du domaine et de la portée, Claude Haiku génère les cas, le schéma garantit une liste de tâches, le fichier dataset.json sert à toutes les versions du prompt. JEUX DE DONNÉES Générer un jeu de test 1 Description le domaine et la portée 2 Claude Haiku génère les cas 3 Schéma une liste de tâches garantie 4 dataset.json le même jeu pour chaque version Mélangez cas générés et cas réels remontés de la production.
D'après la leçon « Generating test datasets » (Claude Academy, Claude with Amazon Bedrock).

Générer les cas avec Claude

Le cours officiel extrait le JSON généré par pré-remplissage et séquence d’arrêt, une recette que Haiku 5.5 refuse (leçon 10). Nous utilisons les sorties structurées, avec la fonction chat de la leçon 10 :

import json

SCHEMA_DATASET = {
    "type": "object",
    "properties": {
        "taches": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {"task": {"type": "string"}},
                "required": ["task"],
                "additionalProperties": False,
            },
        }
    },
    "required": ["taches"],
    "additionalProperties": False,
}


def generate_dataset():
    prompt = """
Génère 3 tâches liées à AWS qui demandent une solution en Python, en JSON ou en expression régulière.

Choisis des tâches qui se résolvent avec une seule fonction Python,
un seul objet JSON, ou très peu de code.
"""
    messages = []
    add_user_message(messages, prompt)
    text = chat(messages, output_schema=SCHEMA_DATASET)
    return json.loads(text)["taches"]

Le prompt de génération fixe le domaine (des tâches AWS) et la portée (une fonction ou un objet, pour que l’évaluation reste gérable). Le format est garanti par le schéma : une liste de tâches, enveloppée dans un objet {"taches": [...]}. Le pipeline d’évaluation se construit avec les techniques qu’il servira à mesurer.

Sauvegarder le jeu de données

dataset = generate_dataset()
with open("dataset.json", "w", encoding="utf-8") as f:
    json.dump(dataset, f, indent=2, ensure_ascii=False)

ensure_ascii=False garde les accents lisibles dans le fichier. Sauvegarder n’est pas qu’une économie d’appels : comparer deux versions d’un prompt n’a de sens que sur le même jeu de données. Un jeu régénéré entre deux mesures fausserait la comparaison.

Le jeu obtenu contient des tâches réalistes : extraire l’identifiant de compte d’un ARN, écrire une configuration JSON pour EC2, valider un nom de bucket S3 avec une expression régulière. Trois cas suffisent pour mettre au point le pipeline ; une évaluation sérieuse en demande des dizaines, voire des centaines.

À vous de jouer

Votre générateur. Adaptez generate_dataset à votre prompt de la leçon 11 : décrivez le domaine et la portée, générez dix cas, puis ajoutez à la main les cinq entrées surprenantes que vous aviez notées. Relisez le tout : quels cas générés sont trop faciles ou trop semblables ?

Sources officielles : Generating test datasets (Claude Academy) · Define success criteria and build evaluations (documentation Claude) · Get validated JSON results from models (documentation AWS)

Points clés à retenir

  • Un objectif d’évaluation inclut les exigences de format : elles deviendront des critères mesurables.
  • Le jeu de données rassemble les entrées de test : à la main pour la représentativité, généré pour la vitesse.
  • Le prompt de génération fixe le domaine et la portée ; les sorties structurées garantissent le format.
  • Sauvegardez le jeu : comparer deux versions exige les mêmes données.