Evalúa a tus agentes

Esta función te permite evaluar agentes de IA. Puedes usar el servicio de evaluación de IA generativa para medir y mejorar el rendimiento, la seguridad y la calidad de tus agentes.

Tipos de evaluación

Tipo de evaluación Caso de uso Frecuencia
Evaluación rápida Prueba de la nueva lógica del agente o cambios en el modelo Frecuente (desarrollo)
Evaluación de casos de prueba Pruebas de regresión en un conjunto de datos específico Programada (CI/CD)
Supervisión en línea Seguimiento de la calidad de una implementación de agente de producción Continua (producción)

Flujo de trabajo de evaluación

Puedes evaluar tus agentes con la Google Cloud consola o el SDK de Agent Platform.

Google Cloud Consola de

Para ejecutar una evaluación básica de una implementación de agente, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Agent Platform > Agents.
  2. En el menú de navegación de la izquierda, selecciona Implementaciones y, luego, tu agente.

    Ir a Implementaciones

  3. Selecciona la pestaña Panel y la subsección Evaluación.

  4. Haz clic en Nueva evaluación.

  5. Sigue las instrucciones para definir tus casos de prueba y seleccionar métricas.

  6. Haz clic en Ejecutar evaluación.

Para obtener guías más detalladas, consulta Ejecuta evaluaciones sin conexión o Evaluación continua con supervisores en línea.

SDK de Agent Platform

El flujo de trabajo de mejora del agente se basa en la rueda de calidad, un ciclo continuo de evaluación, análisis y optimización. Evalúas el rendimiento de tu agente, analizas los resultados para identificar clústeres de fallas y, luego, optimizas tus instrucciones o configuración para abordar esos problemas. Este proceso iterativo te ayuda a detectar y resolver de forma proactiva las brechas de rendimiento.

Antes de comenzar

  1. Instala el SDK de Agent Platform con las extensiones requeridas:
%pip install google-cloud-aiplatform[adk,evaluation]
  1. Inicializa el cliente del SDK de Agent Platform:
import vertexai
from vertexai import Client

client = Client(project="YOUR_PROJECT_ID", location="YOUR_LOCATION")

Aquí:

  • YOUR_PROJECT_ID: Es el ID del Google Cloud proyecto.
  • YOUR_LOCATION: Es tu región de la nube, por ejemplo, us-central1.

1. Define casos de evaluación (simulación de usuario)

En lugar de crear casos de prueba de forma manual, usa la simulación de usuario para generar planes de conversación sintéticos de varios turnos basados en las instrucciones de tu agente.

# 1. Generate scenarios from agent info
eval_dataset = client.evals.generate_conversation_scenarios(
    agent_info=my_agent_info,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where a user asks for a refund.",
    },
)

Para obtener más información, consulta la referencia del SDK de Agent Platform.

2. Ejecuta inferencias

Ejecuta los casos de evaluación en tu agente para capturar seguimientos.

# Generate behavior traces using a multi-turn user simulator
traces = client.evals.run_inference(
    agent=my_agent,
    src=eval_dataset,
    config={"user_simulator_config": {"max_turn": 5}}
)

3. Calcula métricas (AutoRaters)

Usa AutoRaters de varios turnos para calificar los seguimientos capturados. Estos evaluadores analizan el historial de conversaciones completo para verificar el cumplimiento de las instrucciones y el uso de herramientas.

# Evaluate the traces using multi-turn metrics
eval_result = client.evals.evaluate(
    traces=traces,
    metrics=[
        "MULTI_TURN_TASK_SUCCESS",
        "MULTI_TURN_TOOL_USE_QUALITY"
    ]
)

4. Realiza análisis (clústeres de fallas)

El sistema agrupa automáticamente las evaluaciones fallidas en clústeres de pérdidas para identificar los problemas clave del agente.

# Identify the top failure patterns in the results
loss_clusters = client.evals.generate_loss_clusters(eval_result=eval_result)

5. Optimiza el agente

Por último, usa el servicio Optimizer para refinar de forma programática las instrucciones del sistema o las descripciones de las herramientas de tu agente en función de los datos de fallas.

# Automatically refine the system prompt to fix identified issues
optimize_result = client.optimizer.optimize(
    targets=["system_prompt"],
    benchmark=eval_result,
    tests=eval_dataset
)

¿Qué sigue?