Evaluación del Comportamiento de Agentes Inteligentes
Clase 11 de 17 • Curso de Observabilidad de Agentes AI con LangSmith
Resumen
¿Cómo evaluar el comportamiento de un agente?
A medida que los agentes conversacionales se vuelven más complejos, su comportamiento también se torna más variable. Esto nos lleva a enfocarnos no solo en las respuestas finales, sino en cómo se llega a esas respuestas. En este análisis, profundizaremos en las evaluaciones necesarias para medir la 'trayectoria' de un agente, es decir, los pasos que toma para llegar a una respuesta.
¿Por qué evaluar la trayectoria de un agente?
En un ejemplo práctico, dos personas podrían preguntarle al mismo agente por el precio de un producto. Aunque las respuestas podrían parecer óptimas y cumplir con los requerimientos estilísticos (como incluir emojis y ser amables), el precio puede variar considerablemente. Este escenario evidencia que deberíamos concentrarnos en comprender los pasos que lleva a cabo el agente para llegar al precio mencionado. Al evaluar trayectorias, garantizamos que el comportamiento del agente sea predecible y consistente.
¿Cómo crear un archivo de trayectoria?
Para comenzar a valorar la trayectoria de un agente, creamos un archivo, trajectory.py
, en nuestra carpeta de trabajo. Dentro de este archivo, estableceremos una serie de preguntas y respuestas para generar datos consistentes que miden la trayectoria deseada.
Por ejemplo, al preguntar si un agente conoce el inventario de Apple, el objetivo es verificar que busque productos y luego verifique descuentos. Así, tendremos escenarios que cubrirán no solo una única consulta, sino también múltiples consultas para medir cómo el agente maneja tanto respuestas simples como complejas.
¿Cómo se construye un dataset único?
El siguiente paso crucial es la creación de un dataset único que nos permita evaluar repetidamente nuestro agente. Este dataset, denominado Platzi Store Evaluación de Trayectoria
, permitirá que cada ejecución no genere duplicados, actualizando solo si es necesario.
- Se listan los datasets existentes.
- Se identifican y eliminan ejemplos repetidos para prevenir duplicidades.
- Se ingresan nuevas preguntas y respuestas esperadas dentro del dataset.
¿Cómo se define una función evaluadora eficaz?
La concreción de este paso es la creación de una función que determine el nivel en que las respuestas del agente coinciden con las trayectorias esperadas. Se propone calcular cuántas veces el agente realiza acciones clave, como buscar productos y verificar descuentos.
def trajectory_subsequence(actual_output, expected_output):
search_count = actual_output.count('buscar productos')
discount_count = actual_output.count('verificar descuento')
# Calcular score basado en la cantidad de pares búsqueda-verificación
score = (search_count + discount_count) / expected_output.count('buscar productos')
return score
¿Cómo ejecutar y analizar los resultados?
Finalmente, al ejecutar el archivo trayectoria.py
, nos enfocamos en observar los scores de cada experimento. La plataforma Lancemith mostrará los resultados en tiempo real. Un score general bajo indica que las mejoras son necesarias.
Por ejemplo, si el score obtenido ronda los 0.20, se debería recorrer cada paso de la evaluación y ajustar el agente para mejorar significativamente este valor.
El desafío radica en optimizar la trayectoria para asegurar que, tras cada consulta, el agente realice los pasos correctos, asegurando coherencia y precisión en sus respuestas. ¡Te animo a afinar tu agente y compartir tus logros en los comentarios!