Entraîner son IA

Entraîner, affiner et évaluer une IA sur ses propres données

Évaluation Copilot Studio : créer et exécuter des tests à réponse unique

Apprenez à bâtir un jeu de tests représentatif, choisir les règles de validation et analyser les résultats dans Copilot Studio. Une méthode concrète pour prévenir les régressions et renforcer la fiabilité de votre copilot.

Une équipe examine des fiches de test avec un robot d’IA ; à droite, un flux de tests affiche deux résultats validés et un résultat signalé.

Pourquoi les tests à réponse unique sont utiles dans Copilot Studio

Un copilot métier ne se juge pas sur une démo réussie. Il se juge sur sa capacité à répondre juste, de façon répétable, sur les cas qui comptent vraiment pour votre organisation. Dès que vous branchez des documents internes, des procédures, des connecteurs et des actions, vous créez un système vivant. Un ajout dans la base documentaire, une nouvelle règle de routage, une évolution d’un connecteur ou un changement de consignes peut améliorer une intention et en casser une autre — parfois sans que personne ne s’en rende compte immédiatement. Les tests à réponse unique servent précisément à détecter ces régressions avant la mise en production et à objectiver votre niveau de risque.

Dans la pratique, les équipes découvrent vite que « ça marche » n’est pas un critère opérable. Elles ont besoin d’un seuil mesurable et comparable dans le temps. Le principe est proche des tests unitaires logiciels : à une question donnée, vous attendez une réponse donnée. Si la réponse dérive (ou perd une condition, une exception, un chiffre), le test échoue. Cette approche est particulièrement adaptée aux réponses normées : délais légaux, clauses contractuelles, consignes de sécurité, paramétrage produit, procédures SAV, FAQ RH, consignes internes d’accès ou d’habilitation. Une maxime souvent attribuée à W. Edwards Deming résume bien l’esprit : « In God we trust; all others must bring data. » Autrement dit, l’évaluation transforme un ressenti en données exploitables.

Dans un contexte francophone, l’intérêt est aussi juridico-opérationnel. Beaucoup d’organisations doivent maintenir une cohérence stricte sur des informations sensibles : garanties et rétractation (e-commerce), mentions obligatoires, conditions de remboursement, consignes de sécurité (sites industriels), règles RH (temps de travail) ou conformité (procédures internes). Un taux d’erreur de 5 % peut être acceptable dans certains contextes exploratoires, mais inacceptable sur une règle de sécurité ou une clause contractuelle.

Enfin, ces tests sont un garde-fou de gouvernance. Ils documentent ce que le copilot a le droit de dire et comment (format, périmètre, sources). Ils vous aident à justifier un go live, à préparer un audit et à piloter une roadmap de manière factuelle (ce qui progresse, ce qui régresse, ce qui reste fragile). Si vous partez d’un cadre méthodologique, alignez l’évaluation sur vos exigences métier et sécurité dès le départ, comme dans une démarche « diagnostic → pilote → déploiement » décrite ici : IA d’entreprise : méthodologie du diagnostic au déploiement sécurisé.

Ce qu’on appelle un « test à réponse unique » (et ce que ce n’est pas)

Un test à réponse unique est un cas de test où une entrée utilisateur (une question, une formulation) doit produire une sortie attendue unique, suffisamment précise pour être validée automatiquement. On parle souvent de golden answer : une réponse de référence approuvée par le métier (et idéalement reliée à une source : politique interne, article de procédure, document contractuel, page intranet). L’objectif n’est pas d’évaluer le style. L’objectif est de valider la substance : chiffres, conditions, exceptions, étapes, renvois et parfois une phrase exacte (par exemple en conformité, juridique ou sécurité).

Il existe plusieurs manières de décider si la sortie est correcte — et le choix de la méthode de comparaison est déjà une décision de gouvernance (quelles variations sont autorisées).

Méthode de validation Quand l’utiliser Avantages Points d’attention
Exact match (après normalisation) Réponses très normées, format figé Automatisable, binaire, facile à expliquer Fragile aux reformulations, à la ponctuation et aux listes
Assertions “contient / ne contient pas” Quand certains éléments sont indispensables Robuste aux variations de style Peut laisser passer des erreurs si le texte contient aussi des contradictions
Assertions numériques (prix, délais, seuils) Chiffres critiques Très utile en conformité / SAV / commerce Attention aux unités, formats FR (virgule), arrondis
Similarité sémantique (embeddings) Réponses pouvant varier légèrement Tolère les paraphrases, plus réaliste avec un LLM Peut masquer des erreurs de chiffres ou de conditions si le sens global semble proche
Règles hybrides (ex. : chiffres + similarité) Cas à risque moyen/élevé Combine rigueur et robustesse Demande un peu plus de conception

La méthode la plus stricte est l’exact match : la réponse doit être identique après normalisation, selon les règles définies (par exemple sur les majuscules, les accents et les espaces). C’est robuste… mais fragile si le modèle reformule. On passe alors à des règles du type « contient X », « ne contient pas Y » ou à des combinaisons (ex. : contient 14 jours et contient exceptions). Une méthode courante repose sur des embeddings : une représentation vectorielle d’un texte, conçue pour que deux textes proches en sens aient des vecteurs proches. On calcule une similarité (souvent la similarité cosinus) entre la réponse du copilot et la réponse de référence, puis on la compare à un seuil.

Un point souvent sous-estimé : les tests à réponse unique sont particulièrement sensibles aux chiffres. Deux réponses peuvent être « sémantiquement proches » tout en étant factuellement incompatibles (ex. : 30 jours vs 14 jours, 100 € vs 1 000 €). En pratique, dès qu’un chiffre ou une condition est critique, privilégiez une règle explicite (assertion) plutôt qu’un seuil sémantique seul.

Ce format n’est pas adapté à tout. Il convient mal aux demandes ouvertes (« propose une stratégie commerciale »), aux réponses créatives ou aux situations où plusieurs réponses peuvent être acceptables (exemples, reformulations pédagogiques). Dans ces cas, privilégiez une évaluation par rubrique (scoring qualitatif) ou des critères multiples. Dans une démarche d’évaluation de Copilot Studio, les tests à réponse unique permettent de couvrir en premier lieu les must be correct. Ils donnent un socle chiffré, sur lequel vous pourrez ajouter des évaluations plus riches.

Construire un jeu de tests représentatif sans exposer de données sensibles

Un bon jeu de tests n’est pas un export brut de tickets. C’est un échantillon structuré de votre réalité. Commencez par lister 10 à 20 intentions critiques : questions qui génèrent du risque (juridique, sécurité), du coût (support) ou du revenu (avant-vente). Pour chaque intention, collectez des variantes : formulation courte, formulation longue, jargon interne, fautes fréquentes, synonymes et variantes de canal (question typique écrite en chat vs phrase dictée à l’oral puis transcrite). Ajoutez des « cas limites » : demandes ambiguës, acronymes, références produit, mélange de langues si c’est votre terrain. L’objectif est de tester l’agent, pas de piéger le modèle.

Une règle simple pour éviter les jeux « trop propres » : assurez-vous que chaque intention contient au moins :

  • 1 formulation courte (ex. : « délai rétractation »)
  • 1 formulation « phrase complète » (ex. : « Quel est le délai légal de rétractation ? »)
  • 1 formulation avec contexte (ex. : « achat en ligne livré hier »)
  • 1 formulation bruitée (faute, abréviation, terme interne)

La qualité du jeu dépend plus de la coverage que du volume au départ. À titre indicatif, 30 à 50 cas bien choisis peuvent suffire pour détecter les principaux problèmes et stabiliser une V1. Pour piloter un déploiement progressif, visez plutôt 150 à 300 cas, stratifiés par intention, canal (web, Teams, etc.) et criticité. Côté effort, une équipe métier peut valider 50 réponses de référence en une demi-journée si les sources sont claires. En revanche, la rédaction de réponses normées avec exceptions et sources peut prendre 2 à 5 jours si votre documentation est dispersée.

Pour rendre le jeu de tests actionnable, ajoutez dès le départ des métadonnées (même dans un simple tableur) :

  • Intention (ex. : « SAV > retours »)
  • Criticité (faible / moyenne / élevée)
  • Canal (site, Teams, etc.)
  • Langue (FR-FR, FR-CA si pertinent)
  • Règle de validation (exact match, contient…, hybride)
  • Source de vérité (URL intranet, référence documentaire, version)

Avant toute collecte, traitez la confidentialité comme une contrainte de conception. Un jeu de tests doit être partageable en interne (data, dev, métier) sans faire circuler de données personnelles non nécessaires. Remplacez les identifiants par des valeurs synthétiques, supprimez les champs inutiles et gardez une trace maîtrisée des transformations. Le remplacement d’identifiants par des valeurs synthétiques est généralement une pseudonymisation, pas une anonymisation, si une réidentification reste possible. Cette démarche s’aligne sur le principe de minimisation du RGPD (traiter seulement ce qui est nécessaire). Un exemple concret côté France : si des cas réels mentionnent un nom, un e-mail, un numéro de contrat, un SIRET/SIREN associé à une personne physique ou un identifiant interne, demandez-vous si le test a réellement besoin de cette information — la plupart du temps non, car vous testez une règle et un raisonnement, pas une identité.

Checklist simple (souvent suffisante pour démarrer) :

  • [ ] Aucun nom/prénom réel
  • [ ] Aucun e-mail/téléphone réel
  • [ ] Aucun identifiant sensible (NIR, numéro de contrat, dossier patient, etc.)
  • [ ] Données remplacées par des valeurs synthétiques cohérentes (ex. : CLIENT_12345)
  • [ ] Trace des transformations conservée de manière maîtrisée (qui a transformé quoi, quand)

Pour cadrer la démarche, appuyez-vous sur une classification et une cartographie : Classification des données : cartographier les flux sensibles par application et réseau. Si vous manipulez des données de santé, le niveau d’exigence est plus élevé et doit inclure la conservation, les accès et leur justification : Protection des données de santé IA : cartographier flux, accès et conservation.

Mettre en place l’évaluation dans Copilot Studio : une démarche robuste et reproductible

Copilot Studio évolue rapidement. Les libellés exacts des écrans peuvent changer, et les fonctions disponibles dépendent de la version et du mode d’évaluation utilisés. Dans une démarche d’évaluation, un test « à réponse unique » s’articule généralement autour de trois éléments : une entrée (la question), un contexte (variables, profil, langue, canal) et une sortie attendue (réponse de référence et règle de validation). L’erreur fréquente est de ne tester que la « belle » question. Or, ce sont les variantes qui cassent la prod.

Procédez comme pour un pipeline qualité, en étapes courtes.

  1. Stabilisez la configuration du copilot. Fixez ce qui peut l’être : consignes de réponse, format attendu (par exemple une liste d’étapes), ton et, si possible, niveau de créativité ou de variabilité (si des paramètres de génération sont disponibles). Plus la génération est variable, plus vos tests « exact match » seront instables.
  2. Définissez les règles de vérification. Pour les réponses normées, commencez strict : exact match ou assertions « contient ». Pour les réponses qui peuvent légèrement varier, utilisez une similarité sémantique (embeddings) avec un seuil et consignez ce seuil. En cas de chiffres critiques, ajoutez au moins une assertion dédiée (ex. : « contient “14” et “jours” »).
  3. Versionnez vos jeux de tests. Traitez-les comme du code : historique, changements, validation métier. Si votre équipe a un dépôt Git, conservez les cas de test au format texte (CSV/JSON) et gardez un export des résultats d’exécution.

Un format minimaliste de cas (même dans un CSV) suffit souvent à améliorer la reproductibilité :

Champ Exemple
id SAV-RETRACT-001
question « Quel est le délai de rétractation pour un achat en ligne ? »
expected « Vous disposez de 14 jours… + exceptions… »
must_contain ["14 jours", "exceptions"]
must_not_contain ["30 jours"]
risk élevé
source Politique_retours_v3.pdf

Dans l’exécution, surveillez au moins trois indicateurs en plus du pass/fail.

  • Latence : une réponse correcte mais trop lente peut être inutilisable en service client (et dégrader l’adoption). Mesurez au moins le p50 (médiane) et le p95 (95e percentile) pour capturer les « queues longues ».
  • Stabilité : relancez un sous-ensemble 3 fois pour estimer la variabilité. Si un test passe 1 fois sur 3, il est fragile même si votre taux de réussite « moyen » semble correct.
  • Traçabilité : si votre copilot s’appuie sur une recherche documentaire (RAG), vérifiez que la réponse cite des sources ou, au minimum, que l’agent s’appuie sur les bons documents (versions à jour, bonne BU, bon pays).

Sur ce point, une architecture RAG bien conçue facilite autant la qualité que la sécurité : RAG et recherche documentaire : architecture, sécurité et ROI pour les organisations. En pratique, beaucoup d’échecs « métier » sont en réalité des échecs de récupération : le bon document existe, mais ce n’est pas celui qui est remonté au moment de répondre (mauvais filtre, segment trop long, métadonnées absentes, etc.).

Interpréter les résultats : comprendre pourquoi un test échoue

Un taux de réussite global masque souvent le vrai sujet. Un 85 % peut être excellent si les 15 % sont des cas non critiques, et catastrophique si les échecs concernent la sécurité ou les prix. Analysez les résultats par intention, criticité et type d’erreur. Un tri simple, mais très utile, consiste à classer chaque échec dans l’une de ces catégories : manque de connaissance (document absent), mauvaise récupération (RAG), mauvaise instruction (prompt), action ou connexion défaillante, ou règle de test trop stricte.

Ajoutez une catégorie qui revient souvent en entreprise : connaissance contradictoire. Deux versions d’une procédure coexistent, ou un PDF « officiel » contredit une page intranet plus récente. Dans ce cas, le copilot peut répondre correctement selon un document… mais pas selon la politique attendue. Les tests à réponse unique mettent ce type d’incohérence en évidence, ce qui est un bénéfice collatéral important : vous améliorez la qualité documentaire, pas seulement celle du bot.

Prenons un exemple réaliste (UE/France). Votre test demande : « Quel est le délai de rétractation pour un achat en ligne ? ». Pour un achat à distance d’un bien par un consommateur, la réponse attendue peut être : « 14 jours à compter de la réception, sous réserve des exceptions prévues par la loi. » Le délai de 14 jours est cohérent avec le droit de la consommation au niveau européen (directive 2011/83/UE — source officielle).
Si le copilot répond « 14 jours » sans préciser le point de départ ni les exceptions pertinentes, le contenu peut être insuffisant. Un exact match échoue, et c’est souhaitable si l’enjeu est la conformité. En revanche, si votre objectif est d’aiguiller l’utilisateur, vous pourriez accepter « 14 jours » à condition que le copilot propose un renvoi vers les exceptions (ou déclenche une escalade quand un cas d’exception est détecté). La leçon est simple : la règle de test reflète une politique métier. Elle n’est pas « neutre ».

Quand les tests échouent de façon systématique, la tentation est de « réentraîner » ou de fine-tuner. Ce n’est pas toujours la bonne réponse. Dans une grande partie des cas, le correctif le plus rentable est :

  • d’améliorer les documents (clarté, suppression des doublons, versioning),
  • d’ajuster la recherche (segments, filtres, métadonnées, boosting),
  • de mieux contraindre la forme de réponse (structure attendue, mention explicite des exceptions, demande de confirmation quand la question est ambiguë).

Martin Zinkevich écrivait dans les Rules of Machine Learning :

“Doing machine learning is like farming, not like building a cathedral.”
— Google Developers, Rules of Machine Learning (2015) : Google Developers — Rules of Machine Learning

Autrement dit, on progresse par itérations, instrumentation et hygiène des données. Si vous envisagez tout de même un ajustement de modèle, clarifiez d’abord si vous avez besoin d’un fine-tuning (adapter le comportement à partir d’exemples) ou d’un meilleur RAG (mieux « brancher » le modèle sur votre connaissance). Pour cadrer ces choix et leurs coûts, voyez : Fine-tuning LLM : choisir RAG, LoRA ou QLoRA selon l’usage et, pour comprendre la chaîne complète, Entraînement LLM : étapes clés du prétraining au post-training.

Enfin, attention à un piège classique avec la similarité sémantique : un seuil trop bas « accepte » des réponses approximatives, un seuil trop haut « rejette » des paraphrases valables. Une méthode pragmatique consiste à calibrer le seuil sur un petit lot :

  • 20 paires acceptables (réponses différentes mais correctes),
  • 20 paires refusées (réponses proches en style mais factuellement fausses),

puis à choisir un seuil qui sépare au mieux les deux ensembles. Et dès qu’un chiffre critique est en jeu, combinez embeddings et assertions sur les chiffres ou les conditions.

Industrialiser : seuils de qualité, CI, gouvernance et audits

Une évaluation utile n’est pas un one shot. Elle devient un rituel. Fixez des seuils explicites par niveau de risque. Exemple : 95 % de réussite minimum sur les intentions « conformité » et « sécurité », 90 % sur le support niveau 1, 80 % sur des demandes exploratoires, avec un canal d’escalade humain. Ajoutez un critère de latence, par exemple un p95 inférieur à un seuil interne. Ces chiffres doivent être discutés avec le métier, pas imposés par l’équipe data.

Un moyen simple de formaliser la décision (et de la rendre auditable) est de poser une matrice « risque → exigence » :

Niveau de risque Exigence typique Revue humaine Action si échec
Élevé (conformité/sécurité/prix) Seuil élevé + assertions strictes Oui (au moins sur les échecs) Blocage de la release / rollback documentaire
Moyen (SAV standard, RH) Seuil élevé ou hybride Échantillonnage Correction dans le sprint
Faible (exploratoire) Seuil plus souple Ponctuelle Backlog / amélioration continue

Ensuite, intégrez l’exécution des tests dans votre cycle de livraison. À chaque changement de consignes, de documents, de connecteurs ou de logique conversationnelle, relancez un sous-ensemble de smoke tests (20 à 30 cas), puis, avant la release, la suite complète (150 à 300 cas). Ce mécanisme aide à détecter les régressions silencieuses, notamment en RAG, où un simple changement de segmentation ou de filtre peut modifier les documents récupérés. Documentez aussi les versions de jeu de tests, car ce sont des artefacts de conformité (preuve de contrôle, pas seulement outil QA).

Un point très concret : séparez (autant que possible) environnements et sources :

  • un environnement de test avec un corpus documentaire « figé » (versionné),
  • un environnement de préproduction avec un corpus proche de celui de la production,
  • des résultats exportés et archivés (qui permettent de reconstituer « ce qui était vrai » à une date donnée).

Enfin, ancrez l’évaluation dans la gouvernance. Conservez un registre des modèles et composants, les dépendances, les environnements et les résultats de tests associés à chaque version. Cela simplifie la gestion du cycle de vie, les audits internes et la relation fournisseur si vous utilisez des services managés : Gouvernance de l’IA : registre de modèles, audits et cycle de vie et Audit fournisseurs : check-list en 8 étapes pour sécuriser la conformité. Pour un référentiel externe sur la gestion des risques, le NIST AI RMF est une base solide et largement reprise : NIST AI Risk Management Framework.

Dernier point pragmatique : mesurez aussi le coût. Exécuter 200 tests, c’est 200 appels au modèle et parfois 200 recherches documentaires. Le coût principal n’est pas forcément le calcul, mais le temps humain consacré à l’analyse des échecs et à la correction de leur cause racine. C’est précisément pour cela qu’un test à réponse unique doit rester simple et actionnable : il doit vous dire rapidement ce qui a cassé, sur quelle intention et quelle correction est la plus probable (document, RAG, consigne, connecteur, règle de test).

Première étape concrète : sélectionnez 25 questions à fort enjeu (prix, sécurité, conformité, procédure), rédigez pour chacune une réponse de référence validée par un responsable métier (avec une source interne explicite), puis exécutez cette mini-suite après chaque modification de documents ou de consignes dans Copilot Studio. Vous aurez, dès la première semaine, un tableau de bord de non-régression réellement utile.


À lire aussi