Simula el comportamiento del agente

Antes de comenzar

Para simular y evaluar el comportamiento del agente, asegúrate de haber completado lo siguiente:

  • Crea una versión del agente: La simulación requiere una instantánea inmutable de la configuración del agente, incluidas las instrucciones del sistema, las herramientas y el modelo, entre otros. Asegúrate de haber creado al menos una versión del agente en el Registro de agentes.
  • Inicializa el SDK: Si planeas ejecutar la simulación de forma programática, instala el SDK de Agent Platform y, luego, inicializa el cliente como se describe en Cómo evaluar tus agentes.

La simulación te permite compilar un paquete de evaluación integral desde cero, incluso sin datos de producción existentes. En este proceso, se usan LLMs para generar automáticamente casos de prueba y, luego, se simula el rol de un usuario para realizar pruebas de estrés de la lógica conversacional de varios turnos de tu agente.

El flujo de trabajo de simulación de 2 pasos

Por lo general, la prueba de un agente nuevo sigue un proceso de dos etapas:

  1. Generar situaciones: Crea un conjunto de datos de "especificaciones de prueba" según las instrucciones y las definiciones de herramientas de tu agente.

  2. Simulate Sessions: Ejecuta esas especificaciones haciendo que un usuario simulado interactúe con tu agente para producir registros de comportamiento. Un registro es un registro inmutable y fáctico del comportamiento del agente, incluidas las entradas del modelo, las respuestas y las llamadas a herramientas.

En el primer paso, el sistema crea casos de evaluación. Un caso de evaluación es una especificación que define la tarea de un agente. Cada caso consta de dos elementos:

  • Mensaje inicial: Es el primer mensaje que un usuario envía al agente.
  • Plan de conversación: Es una "instrucción" oculta para el usuario simulado que describe sus objetivos y cómo debe reaccionar si el agente hace ciertas preguntas.

En el segundo paso, el sistema genera una lista de comportamientos del agente en formato de datos canónicos del agente.

Genera situaciones en la consola

  1. En la consola de Google Cloud , navega a la página Agent Platform > Agents > Evaluation.

    Ir a Evaluación

  2. Haz clic en Nueva evaluación y selecciona Simular sesiones.

  3. Ingresa una instrucción de generación para guiar las situaciones (por ejemplo, "Genera situaciones en las que el usuario intenta reservar un vuelo, pero luego cambia de opinión").

  4. Revisa la tabla generada. Puedes editar las instrucciones o agregar manualmente tus propios casos de prueba.

Ejecuta la simulación de usuario

Una vez que se generan tus situaciones, el Simulador de usuarios actúa como el usuario para avanzar en la conversación.

Configuración de simulación del usuario

Cuando ejecutas la simulación, puedes configurar los siguientes atributos:

  • Max Turn: Es la cantidad máxima de invocaciones permitidas por la ejecución del agente de múltiples turnos. Esta propiedad nos permite detener una conversación descontrolada en la que el agente y el simulador de usuario entran en un bucle sin fin. (el valor predeterminado es 5).
  • Nombre del modelo: Es el nombre del modelo para simular el próximo mensaje del usuario en la ejecución del agente de varios turnos.
  • Configuración del modelo: Es la configuración del modelo para simular el mensaje del usuario.

Ejemplo del SDK: Simulación programática

También puedes iniciar tu conjunto de evaluación con el SDK de 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
        }
    }
)