Simuler le comportement de l'agent

Avant de commencer

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

  • Créez une version de l'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 des agents.
  • Initialisez le SDK : si vous prévoyez d'exécuter la simulation de manière programmatique, 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 simule un utilisateur pour tester la logique conversationnelle multi-tours de votre agent.

Workflow de simulation en deux étapes

Le test d'un nouvel agent se déroule généralement 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 et des définitions d'outils de votre agent.

  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 et les réponses du modèle, ainsi que 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 se compose de deux éléments :

  • Requête de départ : premier message qu'un utilisateur envoie à l'agent.
  • Plan de conversation : "instruction" caché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 canoniques d'agent.

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

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

    Accéder à la page "Évaluation"

  2. Cliquez sur Nouvelle évaluation, puis sélectionnez 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 ensuite d'avis").

  4. Examinez le tableau généré. Vous pouvez modifier les requêtes ou ajouter manuellement vos propres cas de test.

Exécuter une simulation utilisateur

Une fois vos scénarios générés, le simulateur d'utilisateur agit en tant qu'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 multitour. Cette propriété nous permet d'arrêter une conversation qui s'éternise, où l'agent et le simulateur d'utilisateur entrent dans une boucle sans fin. (La valeur par défaut est 5.)
  • Nom du modèle : nom du modèle pour simuler le prochain message utilisateur pour l'exécution de l'agent multitours.
  • Configuration du modèle : configuration du modèle pour simuler le message de l'utilisateur.

Exemple de SDK : simulation programmatique

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
        }
    }
)