Simuler le comportement de l'agent

Avant de commencer

Pour simuler et évaluer le comportement d'un agent, assurez-vous d'avoir effectué les opérations suivantes :

  • Créer une version d'agent : la simulation nécessite un instantané immuable de la configuration de votre agent, y compris les instructions système, les outils, le modèle, etc. Assurez-vous d'avoir créé au moins une version de votre agent dans le registre d'agents.
  • Initialiser le SDK : si vous prévoyez d'exécuter la simulation par programmation, installez le SDK Agent Platform et initialisez le client comme décrit dans Évaluer vos agents.

La simulation vous permet de créer une suite d'évaluation complète à partir de zéro, même sans données de production existantes. Ce processus utilise des LLM pour générer automatiquement des scénarios de test, puis joue le rôle d'un utilisateur pour tester la logique conversationnelle multi-tours de votre agent.

Workflow de simulation en deux étapes

Le test d'un nouvel agent suit généralement un processus en deux étapes :

  1. Générer des scénarios : créez un ensemble de données de "spécifications de test" en fonction des instructions de votre agent et des définitions d'outils.

  2. Simuler des sessions : exécutez ces spécifications en faisant interagir un utilisateur simulé avec votre agent pour produire des traces de comportement. Une trace est un enregistrement factuel et immuable du comportement de l'agent, y compris les entrées du modèle, les réponses et les appels d'outils.

Lors de la première étape, le système crée des cas d'évaluation. Un cas d'évaluation est une spécification qui définit la tâche d'un agent. Chaque cas comporte deux éléments :

  • Invite de démarrage : premier message qu'un utilisateur envoie à l'agent.
  • Plan de conversation : "instruction" masquée pour l'utilisateur simulé, décrivant ses objectifs et la façon dont il doit réagir si l'agent pose certaines questions.

Lors de la seconde étape, le système génère une liste des comportements de l'agent au format de données d'agent canonique.

Générer des scénarios dans la console

  1. Dans la Google Cloud console, accédez à la page Agent Platform > Agents > Evaluation.

    Accéder à l'évaluation

  2. Cliquez sur New evaluation (Nouvelle évaluation), puis sélectionnez Simulate sessions (Simuler des sessions).

  3. Saisissez une instruction de génération pour guider les scénarios (par exemple, "Générer des scénarios dans lesquels l'utilisateur essaie de réserver un vol, mais change d'avis").

  4. Examinez le tableau généré. Vous pouvez modifier les invites ou ajouter manuellement vos propres scénarios de test.

Exécuter la simulation utilisateur

Une fois vos scénarios générés, le simulateur utilisateur agit comme l'utilisateur pour faire avancer la conversation.

Paramètres de simulation utilisateur

Lorsque vous exécutez la simulation, vous pouvez configurer les attributs suivants :

  • Nombre maximal de tours : nombre maximal d'invocations autorisées par l'exécution de l'agent multi-tours run. Cette propriété nous permet d'arrêter une conversation qui s'éternise dans laquelle l'agent et le simulateur utilisateur entrent dans une boucle sans fin. (La valeur par défaut est 5.)
  • Nom du modèle : nom du modèle permettant de simuler le prochain message utilisateur pour l'exécution de l'agent multi-tours.
  • Configuration du modèle : configuration du modèle permettant de simuler le message utilisateur.

Exemple de SDK : simulation par programmation

Vous pouvez également amorcer votre suite d'évaluation à l'aide du SDK Agent Platform :

# 1. Define agent
travel_agent = Agent(
    model="gemini-3-flash-preview",
    name='travel_agent',
    instruction='You are a travel expert, help users to find flights, book flights with flight ID',
    tools=[find_flights, book_flight],
)

# 2. Generate scenarios from agent info
travel_agent_info = types.evals.AgentInfo.load_from_agent(agent=travel_agent)

eval_dataset = client.evals.generate_conversation_scenarios(
    agent_info=travel_agent_info,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where the user tries to book a flight.",
        "environment_context": "Today is Monday. I am located in San Francisco. Flights to Paris, New York, Tokyo, Chicago, Sydney, etc are available.",
    },
)

# 3. Simulate multi-turn interactions
eval_dataset_with_traces = client.evals.run_inference(
    agent=travel_agent,
    src=eval_dataset,
    config={
        "user_simulator_config": {
            "max_turn": 5
        }
    }
)