Aller au contenu principal
Avancé10–14 heures

Laboratoire de test oracles pour les side effects des agents

Testez un workflow d’agent par sa trajectoire, ses permissions, ses tool calls, ses side effects et l’état autoritatif du system of record, et non par le seul texte final.

agent testingtrajectory evaluationauthority testingidempotencestate reconciliation

Scénario

Tâche

Un agent peut lire le CRM, créer une tâche et mettre à jour un statut. La réponse textuelle peut sembler correcte alors qu’un timeout après un write, une livraison dupliquée ou une approbation périmée laisse un side effect incorrect. Construisez un test oracle qui vérifie l’historique réel des actions et l’état final autoritatif au lieu de faire confiance à la narration du modèle.

Exécution pas à pas

1. Définir la vérité observable

Résultat: Chaque étape conséquente possède une postcondition déterministe.

Tâches

  • Lister les tool actions autorisées
  • Définir le système autoritatif pour chaque side effect
  • Spécifier le contrat d’idempotency key
  • Décrire les transitions interdites

Vérifications

  • Le texte final de l’assistant n’est pas le seul oracle
  • Chaque write action possède un read-back autoritatif

2. Enregistrer la trajectoire attendue

Résultat: Le test connaît la séquence autorisée des transitions d’état et d’outils.

Tâches

  • Décrire le normal path
  • Ajouter les paths approval et deny
  • Ajouter escalation et abstain
  • Définir les stop conditions

Vérifications

  • Un tool call hors scope échoue même si la réponse finale est correcte
  • L’approbation est liée à l’action et à la version exactes

3. Injecter des pannes autour des side effects

Résultat: Les retries ne créent pas de doublons et ne masquent pas un état inconnu.

Tâches

  • Injecter un timeout après un write accepté
  • Injecter un duplicate event
  • Injecter une stale precondition
  • Révoquer la permission
  • Injecter une partial downstream failure

Vérifications

  • UNKNOWN déclenche une reconciliation et non un blind retry
  • Duplicate delivery ne crée pas un second side effect

4. Construire le gate CI

Résultat: Les régressions critiques d’authority ou de state bloquent le release.

Tâches

  • Séparer les graders texte, trajectoire et outcome
  • Définir des thresholds sensibles à la severity
  • Conserver le trace artifact
  • Ajouter des cas de régression permanents issus d’incidents

Vérifications

  • Un échec critique de side effect ne peut pas être compensé par un score élevé de qualité textuelle
  • Le rapport de régression contient le configuration fingerprint exact

Critères d’acceptation

  • L’état final autoritatif est vérifié par un oracle déterministe
  • La trajectoire possède des transitions autorisées et interdites explicites
  • Timeout-after-write passe un test de reconciliation
  • Une action dupliquée n’est pas exécutée deux fois
  • Une régression critique de permission ou de side effect bloque le release