# Tests avec clients simulés : vérifiez votre agent après chaque modification

> Rédigez des cas de test pour votre agent de chat IA : une IA joue le client, votre agent répond avec ses vrais réglages et outils, et un juge IA note chaque chat réussi ou échoué. Les actions sont simulées : les tests n'ont aucun effet réel.

Une modification de vos instructions, de vos connaissances ou de vos procédures peut corriger une réponse et en casser discrètement une autre. Les tests avec clients simulés vous permettent de vérifier en un clic les conversations les plus importantes : vous décrivez un client et ce qu'est un bon chat, une IA joue ce client et discute avec votre agent, et un juge IA note chaque chat **Pass** (réussi) ou **Fail** (échoué), avec une justification.

Votre agent répond exactement comme il le ferait sur votre site : avec ses instructions, ses garde-fous, ses connaissances, ses [procédures](/fr/docs/procedures) et ses outils enregistrés. Ce qu'il ne peut pas faire pendant un test, c'est changer quoi que ce soit dans le monde réel. Voir [Ce qui est simulé](#ce-qui-est-simule).

> Les tests sont inclus dans les offres Starter, Pro et Enterprise. Avec l'offre Free, la section **Tests** affiche **Included from Starter**.

## Ajouter un test

1. Ouvrez l'onglet **Playground** de votre agent et faites défiler jusqu'à **Tests with simulated customers**, sous le chat.
2. Cliquez sur **Add test** et remplissez :
   - **Name** (nom) : jusqu'à 80 caractères, par exemple « Remboursement d'une commande en retard ».
   - **Customer** (client) : qui il est et comment il se comporte, jusqu'à 1 000 caractères. Par exemple : « Un client impatient dont la commande a une semaine de retard. Écrit des messages courts et ne donne de détails que si on les lui demande. » Le client écrit dans la langue que cette description suggère : « un client allemand » discute donc en allemand.
   - **Goal** (objectif) : ce qu'il attend du chat, jusqu'à 1 000 caractères. Par exemple : « Se faire rembourser la commande 1042. »
   - **Success criteria** (critères de réussite) : ce que l'agent doit faire, ou ne jamais faire, pour que le chat soit réussi, jusqu'à 1 000 caractères. Par exemple : « Demande le numéro de commande, lance la procédure de remboursement et ne promet pas de remboursement avant qu'il soit confirmé. »
   - **First message** (premier message, facultatif) : jusqu'à 500 caractères. Laissez-le vide et le client simulé rédige le sien.
   - **Max turns** : le nombre maximal de réponses de l'agent, de 1 à 8 (6 par défaut).
   - **Allow read-only actions** : désactivé par défaut. Voir [Ce qui est simulé](#ce-qui-est-simule).
3. Cliquez sur **Add test**.

Un agent peut avoir jusqu'à 25 tests. **Edit** modifie un test, et le bouton corbeille le supprime ; les résultats passés conservent son nom.

## Lancer les tests

- **Run all** lance tous les tests de l'agent, l'un après l'autre. **Run**, à côté d'un test, ne lance que celui-ci.
- La page affiche chaque test dès qu'il est terminé. Gardez-la ouverte pendant les tests : c'est elle qui demande les tests un par un. Si vous la fermez ou la rechargez, l'exécution reprend quand une personne disposant des droits de modification rouvre le Playground ; une exécution que personne ne reprend est annulée au bout de quelques minutes quand une nouvelle démarre.
- **Cancel** arrête l'exécution. Le test en cours s'arrête à son étape suivante.
- Une seule exécution à la fois est possible par agent.

Un test se termine quand le client simulé met fin au chat (son objectif est atteint, ou il abandonne), ou quand l'agent a répondu **Max turns** fois. Le juge lit alors tout le chat et décide.

## Résultats

- En haut : la part de tests réussis, par exemple **80% passed**, et le nombre de tests réussis sur l'exécution.
- Chaque test affiche **Pass**, **Fail** ou **Error**. Cliquez dessus pour lire la justification du juge et tout le chat, avec sous chaque réponse les outils utilisés par l'agent (par exemple un transfert, un formulaire ou une action) et ce qui s'est affiché sous la réponse.
- **Error** signifie que le test n'a pas pu être noté, par exemple parce que l'agent a mis trop de temps à répondre ou que la réponse du juge était illisible. Les erreurs ne comptent pas dans le taux de réussite. Relancez le test.
- **Recent runs** liste vos 10 dernières exécutions ; cliquez sur l'une d'elles pour voir ses résultats. Les exécutions plus anciennes sont supprimées.

> Le juge est lui aussi une IA et peut se tromper, et le client simulé ne se comporte pas toujours comme un vrai client. Lisez la transcription avant de modifier votre agent à cause d'un échec, et rédigez des critères vérifiables à partir du chat lui-même, comme « demande le numéro de commande avant de rechercher quoi que ce soit ».

## Ce qui est simulé

Les tests n'ont jamais d'effet réel. Votre agent dispose des mêmes outils que dans un vrai chat, mais :

- Les **actions API** exécutées sur notre serveur ne sont pas appelées. L'agent reçoit un résultat marqué comme données de test simulées, avec la consigne de ne pas en inventer de détails. Avec **Allow read-only actions** activé, les actions qui utilisent la méthode GET sont réellement exécutées, pour que les réponses puissent s'appuyer sur vos données réelles ; toutes les autres actions restent simulées.
- Les **actions côté client** (du JavaScript dans le navigateur du visiteur) sont ignorées.
- Les demandes de **transfert par e-mail** et de **chat en direct** sont simulées : personne ne reçoit d'e-mail, de message Slack, de ticket helpdesk ni de demande de chat en direct.
- **Réservation** : aucun calendrier n'est interrogé sur les créneaux et rien n'est réservé.
- **Commandes** : aucune commande n'est recherchée et aucune demande de retour n'est envoyée à votre boutique.
- Les **procédures** se déroulent étape par étape comme d'habitude, et leur état n'est conservé que pour le test. Leurs actions sont simulées comme les autres.
- Les **formulaires de leads** et les **formulaires de chat** peuvent apparaître sous une réponse, mais rien n'est envoyé. Les coordonnées que le client écrit sont reconnues, mais aucun lead n'est enregistré et aucune alerte ni aucun webhook n'est envoyé.
- La [recherche web](/fr/docs/web-search), quand elle est activée, effectue de vraies recherches.

Rien d'un test n'apparaît sous **Conversations**, **Leads**, dans les sujets ou les stats du tableau de bord. Les résultats ne sont conservés que dans la section Tests.

## Messages

Chaque réponse de votre agent pendant un test compte comme un message de votre offre, comme un message dans le Playground. Le client simulé et le juge ne comptent pas. Avant de lancer les tests, la section indique combien de messages une exécution utilise au maximum : la somme des **Max turns** de chaque test. Un test en utilise souvent moins, car le client met fin au chat plus tôt.

Quand les messages de votre offre, ou le [plafond mensuel de messages](/fr/docs/limits-and-access) de l'agent, sont épuisés pendant une exécution, les tests s'arrêtent et les suivants affichent **Error**. Voir [Offres et limites](/fr/docs/plans-and-limits).

## Rôles dans l'équipe

Les membres de l'équipe qui ont le rôle **Viewer** voient les tests et leurs résultats, mais ne peuvent pas en ajouter, en modifier, en supprimer ni en lancer. Les editors, les admins et le propriétaire le peuvent. Voir [Membres de l'équipe et rôles](/fr/docs/team).

## Conseils

- Commencez par les cinq ou dix conversations les plus importantes : votre question la plus fréquente, un remboursement ou une résiliation, une question à laquelle votre agent ne doit pas répondre, une demande à parler à une personne.
- Ne vérifiez qu'une chose par critère, en termes simples, et indiquez aussi ce qui ne doit pas se produire.
- Lancez tous les tests après avoir modifié des instructions, des garde-fous, des connaissances ou une procédure, et comparez le taux de réussite à celui de la dernière exécution.
- Pour un test qui échoue, essayez vous-même la même conversation dans le Playground, au-dessus, pour voir ce que fait l'agent.
