> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Simulations

> Testez un assistant face à un appelant joué par une IA avant qu'il ne parle à un vrai

Les Simulations vous permettent de vérifier comment un assistant se comporte avant qu'un vrai appelant ne le fasse. Définissez une persona d'appelant et un objectif, et un LLM joue cet appelant face à votre assistant — soit une conversation texte rapide, soit un véritable appel vocal — pendant qu'un second LLM évalue le résultat selon les critères que vous avez définis.

## Où le trouver

Ouvrez un assistant, sélectionnez le bouton **Test** dans l'en-tête, puis choisissez **Simulations**. Le panneau s'ouvre à côté de l'éditeur, pour que vous puissiez ajuster le prompt et relancer un test sans quitter la page.

## Créer un test

Sélectionnez **New test** et suivez les étapes :

<Steps>
  <Step title="Démarrage">
    Partez d'une page vierge, ou reprenez une persona suggérée par Milian — voir **Generate with Milian** ci-dessous.
  </Step>

  <Step title="Détails">
    Nommez le test et rédigez en texte libre la persona de l'appelant (identité et personnalité).
  </Step>

  <Step title="Objectif">
    Décrivez ce que l'appelant cherche à accomplir, par exemple : *« Votre objectif principal est de réserver une consultation pour la semaine prochaine. »*
  </Step>

  <Step title="Juge">
    Choisissez le mode **Chat** ou **Voix**, ajoutez les critères de réussite que le juge doit vérifier, listez éventuellement les outils que l'assistant est censé appeler, et définissez le nombre maximal de tours de l'appelant (jusqu'à 20, 12 par défaut).
  </Step>
</Steps>

<Tip>
  Sélectionnez **Generate with Milian** plutôt que de partir d'un test vierge. Milian propose un lot de personas et de critères de réussite prêts à l'emploi pour l'assistant — passez-les en revue et créez ceux que vous voulez en un clic.
</Tip>

## Chat ou voix

* **Chat** — une conversation rapide, en texte uniquement, entre le LLM appelant et votre assistant. Aucun appel n'est passé, et c'est la façon la plus économique d'itérer sur un prompt.
* **Voix** — passe un véritable appel : un appelant simulé, avec une voix synthétisée, parle à votre assistant par le même chemin qu'un appel réel, ce qui sollicite l'ensemble du pipeline vocal. C'est plus long que le chat, ça coûte plus cher, et ça apparaît dans **Historique** comme n'importe quel autre appel ; choisissez la voix de l'appelant quand vous passez à ce mode.

## Créer un test à partir d'un appel réel

Ouvrez un appel terminé dans **Historique** et sélectionnez **Create Simulation Test**. Famulor rédige une persona, un objectif et des critères de réussite par défaut (informations exactes, ton professionnel, résolution ou orientation correcte) à partir de la transcription et de l'analyse de cet appel, les enregistre comme nouveau test, puis vous amène au panneau Simulations de cet assistant — passez-le en revue et modifiez-le avant le premier lancement. C'est le moyen le plus rapide de transformer une conversation réelle qui s'est mal passée en test de non-régression. Voir [Analyse post-appel](/fr/assistants/analysis).

## Lancer les tests et lire les résultats

Lancez un test à la fois, ou sélectionnez **Run all** pour parcourir tous les tests dans l'ordre. Chaque exécution indique :

* un **succès ou un échec par critère de réussite**, avec le raisonnement du juge ;
* la **transcription** complète, avec les tours étiquetés Caller / Assistant ;
* les **appels d'outils** effectués pendant l'exécution, comparés à tout ce que vous avez marqué comme outil attendu ;
* pour les exécutions vocales, une **répartition de la latence** — de bout en bout, temps jusqu'au premier jeton LLM, temps jusqu'au premier audio prononcé, latence de reconnaissance vocale et temps de réponse perçu — plus un lien **View call** vers l'appel correspondant dans l'historique.

<Note>
  Simulations est un test de conversation basé sur le texte ou l'audio, pas un validateur portant uniquement sur la formulation de votre prompt — le LLM appelant peut improviser dans les limites de la persona et de l'objectif que vous avez définis, donc le résultat d'un test reflète la façon dont la conversation se déroule réellement.
</Note>

## Disponibilité et coût

Simulations est une fonctionnalité de forfait. Si elle n'est pas incluse, le panneau affiche *Simulation testing is not in your plan* — comparez les forfaits sous **Paramètres → Forfait**.

Tous les membres de l'espace de travail peuvent ouvrir le panneau et consulter les exécutions passées ; créer, modifier et lancer des tests est réservé aux propriétaires et administrateurs de l'espace de travail.

Les Simulations consomment des crédits supplémentaires : chaque message de la transcription d'une exécution est facturé au tarif **Call simulator message** de votre espace de travail — aussi bien en mode chat qu'en mode voix. Votre tarif actuel figure sur la page **Usage**, dans les tarifs des crédits, et chaque exécution y apparaît comme une transaction **Simulation run**. Famulor vérifie votre solde avant qu'une exécution ne démarre, et ne facture que les messages effectivement produits. Une exécution vocale consomme en plus le temps de conversation normal pour l'appel lui-même, puisqu'elle sollicite l'ensemble du pipeline vocal.

## API et MCP

| REST                                              | Outil MCP                                       | Portée                                                          |
| ------------------------------------------------- | ----------------------------------------------- | --------------------------------------------------------------- |
| `GET/POST /api/v1/assistants/{id}/tests`          | `list_assistant_tests`, `create_assistant_test` | `assistants:read` / `assistants:write`                          |
| `PATCH /api/v1/assistants/{id}/tests/{testId}`    | —                                               | `assistants:write`                                              |
| `DELETE /api/v1/assistants/{id}/tests/{testId}`   | `delete_assistant_test`                         | `assistants:write`                                              |
| `POST /api/v1/assistants/{id}/tests/{testId}/run` | `run_assistant_test`                            | `assistants:write` (le mode voix nécessite aussi `calls:write`) |
| `POST /api/v1/assistants/{id}/tests/from-call`    | `create_assistant_test_from_call`               | `assistants:write`                                              |
