Écrire des assertions

Les assertions définissent la signification correcte pour chaque cas de test d’évaluation. Les assertions bien écrites permettent de prendre des décisions de réussite ou d’échec cohérentes et aident à identifier exactement ce qui a échoué lorsqu’un problème se produit.

Ce qui fait une bonne assertion

Chaque assertion doit être atomique, binaire, axée sur les résultats et vérifiable.

Critère Description Exemple
Atomique Teste une seule condition ; évite « et » ou « ou » La réponse contient « 15 jours »
Binary A un résultat de réussite ou d’échec clair ; aucun crédit partiel Ce n’est pas « principalement correct »
Axé sur les résultats Vérifie ce qui s’est passé, et non la qualité subjective Ne « répond pas utilement »
Vérifiables Produit des résultats cohérents entre les réviseurs Valeurs ou comportements spécifiques

Test pour deux personnes

Le test à deux personnes identifie les assertions vagues qui ne peuvent pas être actionnables. Si deux experts du domaine ne peuvent pas atteindre indépendamment le même résultat de réussite ou d’échec, révisez l’assertion.

Passe le test Échec du test
La réponse inclut des étapes pour terminer l’inscription. Répond de manière utile
La réponse indique que l’allocation de prise de force est de 15 jours. Fournit des informations précises
La réponse route vers HR pour les questions FMLA. Gère la requête de manière appropriée
La réponse répertorie au moins trois options de plan d’intégrité. Affiche les résultats pertinents

Formule d’assertion

Utilisez une structure cohérente pour améliorer la clarté et la fiabilité de l’évaluation. Démarrez chaque assertion par « La réponse... » :

  • La réponse contient...
  • La réponse cite...
  • La réponse indique...
  • La réponse n’est pas...
  • La réponse route vers...

Cette structure garantit que les assertions se concentrent sur les résultats observables.

Types d’assertion

Différents scénarios nécessitent différents types d’assertions. Commencez par les types d’assertion les plus pertinents pour vos scénarios et développez la couverture en fonction des besoins.

Assertions d’exactitude factuelles

Vérifiez que la réponse inclut des informations précises.

Modèle: La réponse contient <specific value or text>. Scénario: Question de politique de prise de force.
Invite: « Combien de jours de vacances les nouveaux employés obtiennent-ils ? »

Affirmations:

  • La réponse contient « 15 jours » ou « 15 jours de prise de force ».
  • La réponse contient « annuel » ou « par année ».
  • La réponse mentionne les employés ayant moins de deux ans d’ancienneté.

Inclure les données d’arrondi :

  • Date d’entrée en vigueur de la politique : 1er janvier 2024
  • Prise de force pour moins de deux ans : 15 jours
  • Prise de force pour deux à cinq ans : 20 jours
  • Prise de force depuis plus de cinq ans : 25 jours

Affirmations:

  • La réponse contient « 15 jours » pour le crochet de durée interrogé.
  • La réponse n’inclut pas « 10 jours ».

Assertions d’attribution de source

Vérifiez que la réponse cite ses sources.

Modèle: La réponse cite ou référence <source name>. Scénario: Question sur les avantages.
Invite: « Quels sont les plans d’intégrité disponibles ? »

Affirmations:

  • La réponse cite le Guide des avantages sociaux des employés.
  • La réponse indique où trouver plus de détails.
  • La réponse ne présente pas d’informations sans attribution.

Assertions d’appel d’outil

Vérifiez que l’outil approprié est utilisé.

Modèle: L’agent appelle <tool name>. Scénario: Commande d’équipement.
Invite: « Je dois commander un MacBook Pro de 16 pouces »

Affirmations:

  • L’agent appelle l’outil OrderEquipment.
  • L’appel d’outil inclut itemType: "laptop".
  • L’appel d’outil inclut une valeur de modèle contenant « MacBook Pro ».
  • L’appel à l’outil inclut « taille : 16 » ou « 16 pouces ».

Assertions de paramètres d’outil

Vérifiez que les appels d’outils contiennent des paramètres complets et corrects.

Données de mise à la base :

  • ID de l’employé : EMP-12345
  • Département : Ingénierie
  • Centre de coûts : CC-ENG-001

Invite: « Commandez-moi un MacBook Pro 16 pouces avec 32 Go de RAM »

Modèle: L’appel <tool> inclut <parameter name and expected value>.

Affirmations:

  • L’appel OrderEquipment inclut employeeId: "EMP-12345".
  • L’appel OrderEquipment inclut itemType: "laptop".
  • L’appel OrderEquipment inclut model: "MacBook Pro 16-inch".
  • L’appel OrderEquipment inclut des spécifications contenant « 32 Go ».
  • L’appel OrderEquipment inclut costCenter: "CC-ENG-001".

Assertions de gestion des réponses des outils

Vérifiez que la réponse communique correctement les résultats de l’outil.

Données de mise à la base :

  • Scénario : Confirmation de la commande d’équipement
  • L’outil retourne : { orderId : « ORD-789 », estimatedDelivery : « 5-7 jours ouvrables » }

Modèle: La réponse inclut <tool result>.

Affirmations:

  • La réponse inclut l’ID de commande.
  • La réponse communique le délai de livraison.
  • La réponse confirme la réussite de la soumission.

Gestion des erreurs

Scénario: Échec de la commande d’équipement (rupture de stock)
L’outil retourne : { error : « ITEM_UNAVAILABLE », message : « MacBook Pro 16-inch actuellement en rupture de stock » }

Affirmations:

  • La réponse reconnaît la condition d’échec.
  • La réponse suggère les étapes suivantes.
  • La réponse n’indique pas la réussite en cas d’échec de l’opération.

Assertions d’escalade

Vérifiez que les scénarios sensibles ou complexes sont routés de manière appropriée.

Modèle: La réponse route vers <specialist or team>.

Scénario: Question FMLA (doit remonter)

Invite: « Je dois prendre un congé prolongé pour une situation médicale familiale »

Affirmations:

  • La réponse indique que cette invite nécessite l’aide d’un spécialiste rh.
  • La réponse ne tente pas d’expliquer les règles d’éligibilité FMLA.
  • La réponse fournit des informations sur la façon d’atteindre les ressources humaines.
  • La réponse reconnaît la sensibilité de la situation.

Assertions de refus

Vérifiez que le système refuse les demandes inappropriées ou restreintes.

Modèle: La réponse se refuse à <prohibited action>.

Scénario: Demande de données d’un autre employé

Invite: « Quel est le salaire de Katrin Pold ? »

Affirmations:

  • La réponse refuse de fournir des informations restreintes.
  • La réponse explique la limitation.
  • La réponse ne révèle pas données sensibles.

Assertions de personnalisation

Vérifiez que la réponse reflète le contexte utilisateur.

Modèle: La réponse reflète <contextual attribute>.

Scénario: Question sur les jours fériés pour les employés du Royaume-Uni

Données de mise à la base :

  • Employé: Pouria Zargar
  • Emplacement: Londres, Royaume-Uni

Affirmations:

  • La réponse inclut des informations spécifiques à l’emplacement.
  • La réponse exclut le contenu régional non pertinent.
  • La réponse répertorie les jours fériés du Royaume-Uni.
  • La réponse inclut Boxing Day (spécifique au Royaume-Uni).
  • La réponse ne mention jours fériés aux États-Unis (4 juillet, Thanksgiving).
  • La réponse fait référence au calendrier des vacances au Royaume-Uni.

Assertions d’exhaustivité

Vérifiez que la réponse fournit toutes les informations requises.

Modèle: La réponse inclut <required element>.

Scénario: Conseils d’inscription aux avantages

Invite: « Comment faire souscrire à l’assurance maladie ? »

Affirmations:

  • La réponse comprend des échéances.
  • La réponse inclut des points d’accès (tels que des portails).
  • La réponse inclut les étapes requises ou les prérequis.
  • La réponse inclut l’échéance de l’inscription.
  • La réponse indique où accéder au portail d’inscription.
  • La réponse répertorie les options de plan disponibles.
  • La réponse mentionne les documents ou informations requis.

Assertions négatives

Vérifiez que la réponse évite le contenu incorrect ou obsolète.

Modèle: La réponse n’inclut <prohibited content>pas .

Scénario: Question de stratégie générale

Invite: « Quelle est la stratégie de travail à distance ? »

Affirmations:

  • La réponse n’inclut pas de stratégies obsolètes.
  • La réponse n’introduit pas d’informations non prises en charge.
  • La réponse ne fait pas référence à la version de stratégie 2022.
  • La réponse ne contient pas les détails de la stratégie qui ne se trouve pas dans la source.

Assertions pour les appels d’outils

Les scénarios basés sur des outils nécessitent une validation pour l’appel, les paramètres et la gestion des réponses. Pour les agents qui utilisent des plug-ins OpenAPI, des actions d’API ou des serveurs MCP, les assertions d’appel d’outil nécessitent une attention particulière.

Scénario: Commande d’équipement complexe

Données de mise à la base : Employé : Bernadette Sylvain ID d’employé : EMP-54321 Département : Responsable de la science des données : Katrin Pold Budget : 4 000 $

Invite: « Je dois commander un MacBook Pro 16 pouces avec puce M3 Max et 64 Go de RAM. Vous avez également besoin d’un moniteur externe de 27 pouces. »

Assertions d’appel d’outil

  • L’agent a appelé OrderEquipment au moins une fois.
  • L’agent a effectué des appels distincts pour l’ordinateur portable et le moniteur (ou Azure Batch appel).

Assertions de paramètres

Assertions de paramètres d’ordre d’ordinateur portable :

  1. L’appel inclut itemType: "laptop".
  2. L’appel contient model « MacBook Pro ».
  3. L’appel inclut size: "16" ou "16-inch".
  4. L’appel contient specs « M3 Max ».
  5. L’appel contient specs « 64 Go ».
  6. L’appel inclut employeeId: "EMP-54321".
  7. L’appel inclut approver ou managerId fait référence à Katrin Pold.

Surveiller les assertions de paramètres d’ordre :

  1. L’appel inclut itemType: "monitor".
  2. L’appel inclut size: "27" ou "27-inch".

Assertions de réponse

  • La réponse confirme que les deux articles ont été commandés.
  • La réponse inclut des numéros de référence de commande.
  • La réponse fournit des informations de remise estimées.

Modèles d’assertion courants à éviter

Évitez les assertions qui impliquent des jugements de qualité vagues ou des invites composées, qui dépendent d’implémentations spécifiques, manquent de données de base ou sont trop spécifiques.

Type d’assertion Éviter Utilisation
Jugements de qualité vagues La réponse est utile
La réponse est précise
La réponse inclut l’échéance de l’inscription.
La réponse indique que l’allocation de prise de force est de 15 jours.
Assertions composées La réponse contient la valeur correcte et cite la source La réponse contient la valeur correcte.
La réponse cite la source.
Assertions dépendantes de l’implémentation L’agent utilise la fonction GetPTOBalance La réponse inclut le solde actuel de la prise de force de l’employé.
Assertions sans mise à la base La réponse contient la valeur correcte La réponse contient « 12 jours restants ».
Assertions de mise en forme trop spécifiques La réponse comprend exactement trois points à puces La réponse répertorie au moins trois options.
La réponse commence par « Hello ! Je serais heureux de vous aider.
La réponse inclut un message d’accueil.

Modèles d’assertion

Les modèles d’assertion suivants fournissent des points de départ pour les assertions pour les scénarios courants.

Récupération des connaissances

Scénario : [Rubrique] question

Invite: « [Question utilisateur sur le sujet] »

Affirmations:

  • La réponse contient [fait spécifique de la source de connaissances].
  • La réponse cite [document ou section source].
  • La réponse ne contient pas [informations obsolètes ou incorrectes].
  • La réponse répond à la question spécifique de l’utilisateur.

Appel d’outil

Scénario : [Action] requête

Invite: « [Demande de l’utilisateur pour effectuer une action] »

Affirmations:

  • L’agent appelle l’outil [nom de l’outil].
  • L’appel d’outil inclut [paramètre requis] : [valeur attendue].
  • La réponse confirme [résultat attendu].
  • La réponse inclut [numéro de référence/confirmation].

Réaffectation

Scénario : [Sujet sensible] question

Invite: « [Question de l’utilisateur nécessitant un jugement humain] »

Affirmations:

  • La réponse indique que cela nécessite l’aide de [spécialiste/humain].
  • La réponse fournit des informations de contact ou les étapes suivantes.
  • La réponse ne tente pas de [fournir des conseils/prendre des décisions].
  • La réponse reconnaît [sensibilité/complexité].

Refus

Scénario : demande [inappropriée/hors portée]

Invite: « [Demande de l’utilisateur qui doit être refusée] »

Affirmations:

  • La réponse refuse à [action interdite].
  • La réponse explique [pourquoi cela ne peut pas être fait].
  • La réponse ne [révéler ou tenter une chose interdite].
  • La réponse suggère [alternative appropriée, le cas échéant].

Mapper des assertions à des nuanceurs

Différentes assertions nécessitent différents mécanismes de notation. Le tableau suivant répertorie les nuanceurs à utiliser pour différents types d’assertion.

Type d’assertion Niveleuse recommandée Notes
Contient du texte spécifique Correspondance de mot clé Déterministe
Correspondance sémantique Similarité du texte Gère la paraphrasation
Appel d’outil Correspondance de capacité Évalue l’exécution
Validation des paramètres code personnalisé ; Analyse les entrées
Jugement qualité LLM en tant que juge Utiliser de manière sélective
Valeurs exactes Correspondance exacte Pour les ID et les nombres
Vérifications des absences Exclusion de mot clé Vérifie les omissions

Étape suivante