Agentes con CrewAI y Google Page Speed Insights API

04-19-2024 - Juan Iturbe

Reporte de rendimiento de sitios web utilizando agentes con CrewAI

Ver en github

Objetivos del proyecto

  1. Construir una red de agentes de IA que pueda automatizar el proceso de medición de la velocidad de carga de una página web.
  2. Aprender a usar CrewAI y cómo crear herramientas para agentes de IA.
  3. Aprender a usar la API de OpenAI para interactuar con agentes de IA.
  4. Automatizar el reporte de la data con agentes de IA.

Contexto

Las empresas en Panamá, se están enfocando cada vez más en optimizar su presencia digital para satisfacer y superar las expectativas de los usuarios.

Revisaremos las puntuaciones de rendimiento de un sampleo random de sitios web utilizando una red de agentes de IA construida con el API de OpenAI y Google Page Speed Insights. Nuestra red tendra tres agentes y cada agente tendrá una función:

  1. Investigador Identifica y limpia las URLs de los top 10 enlaces por palabra clave excluye dominios de redes sociales.
  2. Analizador Analiza el rendimiento de los sitios web encontrados. Utiliza Google Speed Test API para evaluación.
  3. Reportero Compila reportes de rendimiento detallados. Genera archivos Markdown con los resultados.

Metodología

Recopilación de Datos

Se construyó una red de agentes en Python con CrewAI que recopila los datos de las puntuaciones de rendimiento de los sitios web de forma automatizada, esta funciona recibiendo una palabra clave y devolviendo una lista de los primeros 10 sitios para ser analizados.

El Agente Investigador recupero data de 80 sitios web del top 10 en búsquedas por categoría que representan una sección transversal del panorama digital en Panamá.

El agente Analizador evaluo cada uno de los sitios web y genero un archivo Markdown con los resultados, cada archivo contiene la puntuación de rendimiento de cada sitio web.

Al agente Reportero se le entrego una herramienta para leer los archivos Markdown y generar un y analisis estadístico de los resultados.

Cada sitio web fue probado bajo condiciones idénticas simulando tráfico desde un dispositivo movil para asegurar la equidad y consistencia en los datos recopilados. La “Puntuación de Rendimiento” resultante sirve como una representación de la calidad de la experiencia del usuario de cada sitio web.

El siguiente es el reporte generado 100% por el agente:

Análisis

Resumen Estadístico: Los esfuerzos iniciales se centraron en generar un resumen estadístico de las puntuaciones de rendimiento. Esto incluyó calcular la media, mediana, desviación estándar e identificar el rango de puntuaciones desde el mínimo hasta el máximo. Estas métricas proporcionaron una instantánea del panorama general, destacando las tendencias centrales y la variabilidad dentro del conjunto de datos.

Histograma de distribución del performance score

Histograma de distribución del performance score Análisis de Histograma:

  • Puntuación Media de Rendimiento: 44.11%, lo que indica que, en promedio, los sitios web tienen una puntuación de rendimiento ligeramente por debajo de la mitad.

  • Desviación Estándar: 20.44, mostrando una dispersión relativamente amplia de puntuaciones alrededor de la media, lo que apunta a una variación significativa en el rendimiento de los sitios web.

  • Puntuación Mínima: 0%, lo que indica que al menos un sitio web tiene una puntuación de rendimiento muy baja.

  • Puntuación Máxima: 98%, mostrando que el sitio web de mayor rendimiento casi logró una puntuación perfecta.

  • Puntuación Mediana: 41%, lo que sugiere que la mitad de los sitios web tienen puntuaciones de rendimiento por debajo del 41%, y la otra mitad tiene puntuaciones por encima

Función de Distribución Acumulativa (CDF) proporciona una representación visual clara de la distribución de las puntuaciones de rendimiento de los sitios web, enfatizando el porcentaje de sitios web que alcanzan o caen por debajo de umbrales de rendimiento específicos. Este gráfico destaca varias perspectivas clave: Función de Distribución Acumulativa

La curva pronunciada en las regiones de puntuaciones de rendimiento más bajas ilustra un número significativo de sitios web con puntuaciones de rendimiento en el extremo inferior, indicando una necesidad sustancial de optimización.

A medida que la curva se aplana hacia las puntuaciones más altas, muestra que hay menos sitios web alcanzando esos puntos de referencia de rendimiento más alto, subrayando la brecha en la excelencia digital.

La CDF nos permite ver fácilmente, por ejemplo, qué porcentaje de sitios web tienen puntuaciones de rendimiento por debajo del 50%, respaldando directamente la premisa de que muchos sitios web en Panamá podrían beneficiarse de esfuerzos de optimización web para mejorar su experiencia de usuario y rendimiento técnico.

Rangos de Puntuación de Rendimiento: Luego, los sitios web se categorizaron basados en sus puntuaciones de rendimiento en rangos distintos. Esta segmentación permitió un análisis más matizado, facilitando un examen más detallado de sitios web en específicos rangos de rendimiento.

Rangos de Puntuación de Rendimiento

El diagrama de caja proporciona un resumen conciso de las puntuaciones de rendimiento de los sitios web. Las observaciones clave de este gráfico incluyen:

  • Mediana: (línea media de la caja): Indica el punto medio de los datos, alrededor del cual la mitad de las puntuaciones son más altas y la mitad son más bajas. Esto ofrece una medida de tendencia central que es menos susceptible a valores atípicos en comparación con el promedio.

  • Rango Intercuartílico (IQR): (representado por la caja): Muestra el 50% medio de las puntuaciones, resaltando la dispersión de la mayoría de los datos. El IQR es la diferencia entre el tercer cuartil (Q3) y el primer cuartil (Q1), proporcionando una visión de la variabilidad dentro del conjunto de datos central.

  • Bigotes: Se extienden desde la caja para mostrar el rango de los datos, excluyendo los valores atípicos. Los extremos de los bigotes representan aproximadamente los valores máximo y mínimo dentro de los datos considerados normales, dando una idea de la distribución total de los datos.

  • Valores Atípicos: (si aparecen, como puntos individuales más allá de los bigotes): Indican puntuaciones que son excepcionalmente altas o bajas en comparación con el resto del conjunto de datos. Estos valores atípicos pueden señalar sitios web con rendimientos notoriamente diferentes (ya sea positiva o negativamente) y pueden requerir atención especial para entender las razones detrás de su desempeño distinto.

Estas observaciones son cruciales para comprender la distribución general y las características de las puntuaciones de rendimiento de los sitios web.

La mediana proporciona un punto de referencia sólido para la “normalidad” dentro del conjunto de datos, mientras que el IQR ayuda a entender cuán concentradas o dispersas están las puntuaciones alrededor de esta mediana.

Los bigotes y los valores atípicos ofrecen perspectivas adicionales sobre la gama de rendimientos y destacan las excepciones que podrían merecer una investigación más detallada.

Conclusiones

  • La mayoría de los sitios web caen dentro de los rangos de puntuación de rendimiento del 21-40% y 41-60%, lo que indica un nivel bajo de optimización del sitio web.

  • Los sitios web de alto rendimiento (puntuaciones por encima del 80%) son raros, con solo 5 entradas alcanzando este nivel, destacando el rendimiento excepcional de estos sitios.

  • La presencia de sitios web en el rango del 0-20% sugiere oportunidades significativas para la optimización y mejora..

Este panorama ofrece una perspectiva importante sobre el estado actual de la optimización de sitios web. Aquí hay algunas reflexiones y recomendaciones basadas en estos hallazgos:

  • Potencial para Mejorar: La concentración de sitios web en los rangos de puntuación de rendimiento más bajos sugiere que hay un amplio margen para mejoras sustanciales. Los propietarios de sitios web y los desarrolladores deben considerar invertir en diagnósticos de rendimiento y adoptar prácticas recomendadas de optimización.

  • Estrategias para Sitios de Rendimiento Moderado: Para los sitios web dentro de los rangos de 21-40% y 41-60%, las estrategias de mejora deben centrarse en perfeccionar la experiencia del usuario, mejorar los tiempos de carga, y optimizar para móviles. Estos sitios ya tienen una base sobre la cual construir y pueden alcanzar niveles de rendimiento más altos con ajustes específicos y mejoras continuas.

  • Excepcionalidad de Alto Rendimiento: Los sitios web con puntuaciones por encima del 80% demuestran que es posible alcanzar niveles excepcionales de optimización y rendimiento. Estudiar estas entradas de alto rendimiento podría ofrecer valiosos aprendizajes y prácticas que podrían ser emuladas por otros sitios web con el objetivo de mejorar su rendimiento.

  • Oportunidades en el Extremo Inferior: Los sitios web en el rango de 0-20% necesitan una revisión y reestructuración integral de sus estrategias digitales. Esta categoría representa la mayor oportunidad para el cambio transformador, enfocándose en mejoras fundamentales en la optimización para motores de búsqueda (SEO), tiempos de carga, responsividad móvil, y la experiencia general del usuario

Para Sitios Web con Puntuaciones por Debajo del 40%

  • Enfóquese en la Optimización Móvil: Con una porción significativa del tráfico web proveniente de dispositivos móviles, asegurar que su sitio web esté optimizado para usuarios móviles es crítico. Implemente principios de diseño responsivo y pruebe su sitio en diversos dispositivos para mejorar la accesibilidad y satisfacción del usuario.

  • Mejore los Tiempos de Carga de Página: Los usuarios esperan interacciones rápidas y responsivas. Utilice herramientas para comprimir imágenes, minimizar archivos CSS y JavaScript, y aprovechar el caché del navegador. Estos pasos pueden reducir significativamente los tiempos de carga, mejorando las puntuaciones de rendimiento general.

  • Mejore la Experiencia del Usuario (UX): Una interfaz de usuario sin problemas e intuitiva es clave para mantener a los visitantes comprometidos. Considere realizar auditorías de experiencia de usuario para identificar problemas de navegación o diseños de contenido que puedan estar obstaculizando la participación del usuario.

  • Utilice las Mejores Prácticas de SEO: SEO no solo se trata de mejorar la visibilidad sino también de mejorar el rendimiento del sitio. Datos estructurados, metaetiquetas optimizadas y contenido claro y conciso pueden mejorar tanto sus clasificaciones en motores de búsqueda como la usabilidad del sitio.

  • Monitoreo Regular del Rendimiento: Implemente un monitoreo y pruebas regulares del rendimiento de su sitio web para identificar y abordar rápidamente los problemas a medida que surjan. Herramientas como Google PageSpeed Insights ofrecen retroalimentación valiosa para la optimización continua.

Para Sitios Web con Puntuaciones por Encima del 60% Mantenga los Estándares Actuales: Continúe con las prácticas que han contribuido a sus altas puntuaciones de rendimiento. Actualizaciones regulares, monitoreo constante y mantenerse al tanto de las últimas tecnologías web son clave para mantener el rendimiento superior de su sitio web.

Explore Tecnologías Web Avanzadas: Investigue el potencial de las tecnologías emergentes, como Aplicaciones Web Progresivas (PWAs), Páginas Móviles Aceleradas (AMP) o WebAssembly, para mejorar aún más la velocidad, confiabilidad y participación del usuario de su sitio.

Mejore la Interactividad y Personalización: Busque oportunidades para aumentar la participación del usuario a través de elementos interactivos o contenido personalizado. Algoritmos de aprendizaje automático pueden ofrecer perspectivas sobre las preferencias de los usuarios, permitiendo experiencias de usuario más personalizadas.

Realice Pruebas A/B: Pruebe regularmente variaciones de sus páginas web para optimizar las interacciones y conversiones de los usuarios. Las pruebas A/B pueden revelar perspectivas valiosas sobre las preferencias y comportamientos de los usuarios, guiando mejoras adicionales.