SAM - Santex AI Virtual Assistant

SAM (Santex AI Member) es un asistente virtual inteligente para una empresa de tecnología especializada en transformación digital. Su objetivo es responder preguntas sobre Santex y sus servicios, discutir tecnologías y generar leads mediante una experiencia conversacional inteligente.
Overview
El rediseño del contenido del sitio, la implementación de una arquitectura de la información optimizada y la creación de flujos conversacionales intuitivos mejoraron significativamente la experiencia del usuario. Además, la creación de un system prompt y el desarrollo de guidelines y metodologías para un producto impulsado por un LLM resolvieron eficazmente los desafíos existentes y nuevos.
Mi rol en este proyecto fue como Conversational AI Designer, y el diseño y desarrollo de este producto tuvo una duración aproximada de 1 año. Mis principales responsabilidades abarcaron varias etapas, incluyendo la investigación de UX, donde definí GOals y KPIs, realicé user research, creé user personas, mapeé tópicos y desarrollé la bot persona con su tono y voz. En la fase de diseño conversacional, me encargué de la creación de flujos conversacionales, prompts y copywriting, así como del prototipado y testeo con usuarios. En el diseño de AI conversacional, creé system prompts, desarrollé metodologías para evaluar LLMs y realicé pruebas con usuarios. Finalmente, en el lanzamiento del producto, analicé la data obtenida de interacciones reales, mejoré el producto a partir de esa información y creé reportes y métricas.
Problem

- No había información clara de la utilidad del chatbot.
- El chatbot, construido en DialogFlow, tenía muy pocas frases de entrenamiento, por lo que a menudo no lograba entender las consultas de los usuarios.
- La falta de un flujo conversacional claro y de una arquitectura de la información dificultaba la navegación por el menú, lo que provocaba que los usuarios abandonaran la conversación.
- El sitio web solo permitía la navegación a través de una conversación con el chatbot, lo cual era poco intuitivo y carecía de instrucciones que facilitaran su uso.
- No se transmitía información visual y no se hacía referencia a las actividades de Santex, dejando sin pista alguna al usuario de lo que podría encontrar en el sitio.
- No existía un flujo conversacional para la generación de clientes potenciales para informar a los usuarios sobre los servicios de Santex, lo que impedía que el interés de los clientes avanzara hacia la concertación de citas.
Goals
- Aumentar los leads generados a través del sitio web de 0 a 23 anualmente.
- Disminuir la tasa de rebote del 81.48% al 50% (la tasa de rebote es el porcentaje de visitantes que abandonan una página web sin realizar ninguna acción), mejorando la usabilidad del sitio web.
- Incrementar la duración promedio de las sesiones en el sitio web en un 50%, de 80 minutos a 120 minutos.
- Proveer un asistente virtual para conversar sobre tecnología y cómo puede mejorar el negocio de los clientes.
- Proveer un asistente virtual para responder a todas las consultas relacionadas con los servicios y soluciones de Santex.
Proceso
Discover
User Persona
Al adentrarnos en el proceso de diseño de conversaciones, es crucial entender la diversa audiencia a la que estamos atendiendo. Al comprender y diseñar conversaciones con estas personas en mente, podemos asegurar que nuestras soluciones satisfacen de manera efectiva las diversas necesidades y preferencias de nuestra audiencia objetivo.


Cómo abordar estos perfiles
- Elaborar mensajes concisos priorizando la claridad y evitando jerga para respetar su tiempo.
- Destacar beneficios específicos del asistente virtual: abordar desafíos, aumentar la eficiencia y fomentar la innovación.
- Respaldar afirmaciones con estudios de caso y datos para generar confianza en la efectividad del asistente virtual.
- Simplificar las interacciones, ofreciendo información detallada como opcional para comprender la propuesta de valor principal.
- Reforzar la seguridad y confiabilidad del asistente virtual en cada interacción.
- Enfatizar la adaptabilidad del asistente virtual para satisfacer las necesidades cambiantes de las startups y el panorama tecnológico.
- Ofrecer oportunidades de networking y conocimientos de la industria para facilitar el aprendizaje y las conexiones.
- Mantener una comunicación transparente, proporcionando acceso fácil a información completa sobre las capacidades del asistente virtual.
Topics Mapping
Definir el conjunto de temas que el asistente virtual debe conocer mínimamente (MVK), es decir, mapeando qué solicitudes entenderá y qué respuestas podrá proporcionar. Así como cuáles no podrá.

Define
Bot Persona
La personalidad del bot se creó para asegurar una experiencia de usuario consistente y atractiva. Al humanizar el bot, las interacciones se vuelven más comprensibles y agradables para los usuarios. La personalidad describe las características del bot, el tono y el estilo, guiando a los desarrolladores y creadores de contenido para mantener una voz unificada en todas las interacciones. Este enfoque mejora la satisfacción del usuario, genera confianza y fomenta la familiaridad. Además, una personalidad de bot bien definida asegura la alineación con los valores de la marca y aborda eficazmente las necesidades del usuario, resultando en una experiencia digital más intuitiva y gratificante.

User Conversational Flows
Las implicaciones de un asistente virtual impulsado por un LLM
Crear flujos conversacionales para herramientas no generativas como DialogFlow en comparación con herramientas generativas como ChatGPT implica varias diferencias y similitudes. Aquí, una comparación detallada:


Se abordó más sobre este tema en esta conferencia. Does the conversational design change when implementing a large language model (LLM) in a chatbot? (es) Click here to watch video.
Scripted vs. Generative Responses
DialogFlow
Requires predefined intents and responses. Each user interaction must be anticipated and scripted.
ChatGPT
Generates responses dynamically based on the context and input, without requiring predefined scripts.
Training and Maintenance
DialogFlow
Involves extensive setup and maintenance of intents, entities, contexts, and response variations. Regular updates are needed as new user intents are discovered.
ChatGPT
Requires fine-tuning (if needed) on specific datasets, but generally, the model can handle a wider range of topics and adapt to new inputs more flexibly.
Flexibility and Adaptability:
DialogFlow
Limited to the predefined intents and entities. Handling unexpected user inputs requires extensive planning.
ChatGPT
More adaptable to varied and unexpected inputs due to its generative nature, offering more natural and diverse interactions.
Development Complexity
DialogFlow
Involves designing a detailed flowchart of possible interactions, specifying intents, and managing complex dialogue states.
ChatGPT
Focuses more on defining the initial prompt and any specific guidelines for the conversation, with less need for intricate flowchart designs.
Context Management
DialogFlow
Uses explicit context management to maintain state across turns in a conversation. Contexts must be defined and managed manually.
ChatGPT
Maintains context implicitly within the conversation but might need explicit instructions or input tokens to retain specific context over longer interactions.
User Control
DialogFlow
Provides more control over the conversation flow, ensuring users stay within the predefined paths and get expected responses.
ChatGPT
Offers less control, as responses are generated on-the-fly and can sometimes deviate from expected paths.
User Flows
Para crear flujos conversacionales, es esencial considerar las diferencias entre una herramienta no generativa (Dialog Flow) y una generativa (ChatGPT), y entender las características específicas y necesidades de cada enfoque.
Non-Generative

Como se observa en el flujo, en el diagrama se especifican los textos y las diferentes variables que podrían ocurrir en momentos específicos del recorrido del usuario.
- Flujo estático de preguntas y respuestas: Las respuestas están predefinidas y no cambian dinámicamente.
- Escritura de UX: Es crucial para transmitir la personalidad del bot y asegurar claridad en las respuestas.
- Control total del contenido: El contenido de las respuestas está controlado y preaprobado.
Generativo
A diferencia de los flujos no generativos, aquellos impulsados por un LMM especifican el contenido de la respuesta y cómo deben llevarse las conversaciones.
- Flujo generativo de preguntas y respuestas: Las respuestas son creadas dinámicamente por un modelo de lenguaje.
- System Prompt: Los prompts y fuentes de datos influyen directamente en la calidad de las respuestas.
- Adaptabilidad: Las respuestas pueden variar según el contexto y la interacción previa.

Forma vs. Fondo
- No generativo (Form): Se centra en la estructura de la conversación, cómo se presenta la información y la consistencia de la voz del bot.
- Generativo (Fondo): Se enfoca en la sustancia y el contenido de las respuestas, asegurando que sean informativas y relevantes, respaldadas por un sistema robusto de estímulos y fuentes de datos confiables.
Develop
Preparación
Crear un System Prompt robusto y efectivo para la implementación de un Large Language Model (ChatGPT) implica un enfoque exhaustivo y metódico. Como fue nuestra primera vez trabajando con esta tecnología, mi viaje comenzó con un profundo estudio para entender los fundamentos. Además, durante la fase de prototipado tuvimos que innovar y desarrollar nuestras propias metodologías y herramientas de prueba, ya que la novedad de la tecnología significaba que los recursos existentes eran insuficientes.
Entrenamiento inicial: Es esencial entender cómo funciona un LLM antes de empezar a trabajar con él. Tomar cursos y recibir formación en el funcionamiento de modelos de lenguaje como el utilizado en el System Prompt es una base sólida para comenzar.
Comprensión de conceptos clave: Entender conceptos como la tokenización (el proceso de dividir el texto en unidades más pequeñas), las alucinaciones (errores o salidas inconsistentes del modelo) y RAG (Recuperar, Agregar, Generar) es crucial para trabajar efectivamente con el modelo y abordar problemas que puedan surgir durante el proceso de creación.
Accuracy: Este paso muestra un enfoque iterativo y en continuo desarrollo. Construir las partes del Sistema Prompt, como el contexto, el enfoque y el formato de respuesta, implica prueba y error, ajustes y refinamientos para lograr resultados óptimos. Además, entender cómo relacionar funciones y herramientas específicas aplicadas al LLM es crucial para garantizar un rendimiento consistente y de alta calidad.
System Prompt
En el desarrollo de SAM, nos enfocamos en elementos clave para la efectividad. System Prompt detallados, formatos claros de respuesta y funciones de recuperación de datos garantizaron una comunicación precisa y atractiva. Es importante mencionar que lograr las versiones finales involucró una iteración significativa en los System Prompt, ya que no existían guías previas. Este enfoque resultó en un asistente robusto que mejoró la interacción con el usuario.
Elementos Clave
System Prompt
Definición de Contexto: Se crearon descripciones detalladas del contexto para las interacciones de SAM tanto en el sitio web como en Slack.
Ejemplo:
Eres SAM, un asistente virtual para Santex. Tu función es ayudar a los usuarios en nuestro sitio web con sus consultas sobre soluciones de transformación digital y ayudar a los nuevos empleados en Slack con preguntas sobre incorporación.
Enfoque: Se desarrollaron directrices específicas para manejar diferentes tipos de consultas, como ventas, soluciones, temas específicos y consultas generales.
Ejemplo para consultas sobre ventas: Destaca cómo las soluciones de Santex pueden mejorar su negocio. Para temas específicos como IA o B Corp, discute la experiencia y cómo impactan el negocio del usuario.
Formato de Respuesta
Tono y Estilo: Para el sitio web, se utilizó un tono técnico y directo, mientras que para Slack, se prefirió un tono amigable y optimista con emojis.
Ejemplo para el sitio web:
Nuestras soluciones de IA pueden revolucionar las operaciones de su negocio. ¿Le gustaría saber más sobre la implementación de IA o nuestros casos de éxito?
Ejemplo para Slack:
¡Bienvenido a Santex! 😊 Estoy aquí para ayudarte con cualquier pregunta. ¿Cómo puedo asistirte hoy?
Límite de Palabras: Las respuestas se mantuvieron concisas, nunca superando las 100 palabras.
Ejemplo:
Al priorizar tecnologías emergentes para su estrategia de transformación digital, se deben considerar varias áreas clave: IA, IoT, Computación en la Nube. ¿Cuál de estas le interesa más?
Formato: Uso de viñetas y listas para mejorar la legibilidad.
Ejemplo:
Áreas clave de enfoque:
- Inteligencia Artificial (IA)
- Internet de las Cosas (IoT)
- Computación en la Nube
Avísenos qué área le gustaría explorar más.
Integración de Funciones
Funciones de Recuperación de Datos: Se implementó una función (santex_data) para obtener información precisa y actualizada relevante para las consultas de los usuarios.
Ejemplo:
Usando santex_data para obtener la última información: Según nuestros datos más recientes, integrar IA en su negocio puede aumentar la eficiencia hasta un 40%. ¿Le gustaría saber más sobre nuestras soluciones de IA?
Preguntas Aclaratorias: Se desarrollaron estrategias para hacer preguntas de seguimiento para comprender mejor las necesidades del usuario.
Ejemplo:
¿Podría contarme más sobre su negocio y cómo está abordando actualmente la transformación digital? Esto nos ayudará a proporcionar consejos más personalizados.
Directrices de Interacción del Usuario
Usuarios del Sitio Web: Se enfocó en recolectar información de contacto de usuarios interesados y destacar las soluciones de Santex.
Ejemplo:
Ofrecemos soluciones completas de transformación digital adaptadas a sus necesidades. ¿Puedo tener su nombre y correo electrónico para enviarle información más detallada?
Filtrado y Manejo de Errores:
Desarrolló filtros para manejar contenido inapropiado y preparó mensajes para manejar problemas de rendimiento.
Ejemplo de Filtrado:
Lo siento, pero no puedo participar en conversaciones que promuevan el odio. Estoy aquí para responder todas sus preguntas relacionadas con Santex.
Ejemplo de Manejo de Errores:
Lo siento... No entedí. Por ahora, estoy experimentando algunos problemas de rendimiento, que están fuera de mi control. Descuida, estaré de vuelta en breve. Por favor, vuelve a contactarme en unos minutos.
Testing
Al igual que en el proceso de diseño de la experiencia conversacional, el proceso de prueba debió abordarse comprendiendo la diferencia entre tecnologías no generativas y generativas.
Al comparar las pruebas y evaluaciones de un chatbot impulsado por una herramienta no generativa como Dialogflow con uno impulsado por un modelo de lenguaje grande (LLM) como GPT-4, existen varias diferencias clave. Estas se refieren a aspectos como la metodología de prueba, las métricas de rendimiento y la naturaleza de las interacciones.


Metodología
Esta evaluación tiene como objetivo valorar varios aspectos de las respuestas, incluyendo la relevancia, completitud, precisión y conformidad con pautas específicas. Las siguientes secciones detallan los criterios utilizados para la evaluación, el proceso de sistematización de las anotaciones y las herramientas empleadas para analizar los datos. A través de este enfoque sistemático, buscamos identificar áreas de mejora y asegurar que el chatbot proporcione interacciones de alta calidad, precisas y relevantes para los usuarios.
Definir criterios de evaluación
Relevancia: La respuesta debe abordar directamente la pregunta o tema planteado.
Completitud: La respuesta debe cubrir adecuadamente todos los aspectos importantes de la pregunta.
Exactitud: La información proporcionada en la respuesta debe ser precisa y correcta. No debe contener información falsa o inexacta.
Idioma: El idioma en el que se hizo la solicitud y si el asistente virtual continuó la conversación en el mismo idioma o cambió al inglés.
Número de palabras: El número de palabras en la respuesta. Medir la longitud de la respuesta para estimar los costos asociados con el procesamiento y la generación de respuestas.
Tema: Registrar si se responden temas restringidos o no.
Tipo de error:
Información faltante: Evaluación de casos donde la información solicitada no se encuentra en la base de conocimientos con la que el modelo fue personalizado a través del entrenamiento. Alucinaciones: Contar el número de instancias en las que el modelo genera información que no está fundamentada en los datos de entrada o en hechos del mundo real, resultando en contenido inexacto o fabricado. Fallas de API: Documentar cualquier falla en la API de OpenAI durante la interacción.
Creación de la metodología
Creación de Scripts de Anotación
Objetivo: Desarrollar scripts para manipular y formatear datos, permitiendo la creación de un sistema de anotación estructurado.
Implementación: Escribir scripts en Python y Google Apps Script para procesar datos de conversaciones de chatbot, estandarizar el formato y prepararlo para la anotación.
Generación de Informes Analíticos
Objetivo: Producir informes completos que resuman las anotaciones y analicen las conversaciones.
Implementación: Crear informes detallados que destaquen los hallazgos clave de las anotaciones. Estos informes deben incluir métricas sobre relevancia, completitud, exactitud, tipos de errores, adherencia al tema, consistencia del lenguaje y longitud de respuesta.
Anotación Manual y Sistematización
Fase Inicial
Método: Realizar anotaciones manuales para evaluar las respuestas del chatbot basadas en los criterios definidos (relevancia, completitud, exactitud, etc.).
Resultado: Obtener una comprensión exhaustiva de los datos y refinar la metodología de evaluación.
Fase Sistematizada
Método: Una vez validada la metodología a través de la anotación manual, el proceso se sistematizó utilizando Tableau y ChatGPT.
Implementación: Utilizar Tableau para automatizar el proceso de anotación y análisis, permitiendo una evaluación eficiente y escalable de las conversaciones del chatbot.
Resultados

¿Qué conclusiones surgieron?
- Organización de las Fuentes de Datos: Se hizo evidente la necesidad de mejorar la organización de nuestras fuentes de datos utilizadas para el entrenamiento del modelo. Reconocimos la necesidad de reestructurar el contenido en un formato de preguntas y respuestas más conciso para mejorar la efectividad del chatbot.
- Conciencia del Margen de Error: Dada la naturaleza probabilística del modelo, reconocimos la importancia de considerar los márgenes de error. Comunicar estos efectivamente a los interesados ayudó a establecer expectativas realistas respecto al rendimiento del chatbot.
- Optimización de la Longitud de Respuesta: La naturaleza generativa del modelo nos llevó a abordar el problema de respuestas extensas, que podrían abrumar a los usuarios, especialmente en ciertos dispositivos. Realizamos pruebas para condensar las respuestas, asegurando que sean concisas y minimicen la carga cognitiva en los usuarios.
Estas conclusiones nos guiaron en refinar la funcionalidad del bot y la experiencia del usuario, alineándola más estrechamente con las expectativas de los usuarios y las capacidades de los dispositivos.
Post Launch
Después de la implementación en producción, el análisis de los datos recopilados de usuarios reales proporcionó las siguientes percepciones:
1. Identificación de un Grupo de Usuarios Inesperado:
Descubrimos un segmento de usuarios que visitaban el sitio principalmente para explorar oportunidades laborales. Estos usuarios interactuaron con SAM para consultar sobre posiciones disponibles, información salarial y consejos para prepararse para entrevistas técnicas.
Acciones Tomadas: Creamos una persona detallada para este grupo, mapeamos posibles flujos de conversación y desarrollamos fuentes de datos para proporcionar información relevante.


2. Requisito de Mensaje de Bienvenida:
Hubo una clara necesidad de un mensaje de bienvenida para ayudar a los usuarios a entender cómo SAM podría ayudarles. A pesar de esto, los interesados decidieron no agregar el mensaje.
3. Mejora en Ayudas Visuales para la Navegación:
Los usuarios necesitaban más ayudas visuales para navegar mejor por el sitio. Los datos del mapa de calor revelaron que los usuarios estaban buscando elementos clicables en todo el sitio, lo que indica confusión sobre la navegación.
Acciones Futuras: Este comportamiento fue anticipado, por lo tanto, resaltó la necesidad de una guía visual mejorada.
METAS LOGRADAS
Como resultado de los cambios implementados, la tasa de rebote disminuyó al 25%, los leads generados se triplicaron, y el asistente virtual respondió exitosamente a más del 90% de las consultas de los usuarios.




Lecciones Aprendidas
- Integrar un Modelo de Lenguaje Grande (LLM) en un chatbot implica más que simplemente cambiar de una herramienta a otra. Dado que un LLM es fundamentalmente diferente de las herramientas tradicionales, todo el paradigma de desarrollo cambia, requiriendo nuevos enfoques para resolver problemas.
- La familiaridad con los conceptos relacionados con LLM es crucial para navegar por los desafíos que surgen durante el diseño y desarrollo del chatbot.

Mejoras a futuro
- Contenido Visual Mejorado: Incorporar más contenido visual puede mejorar la experiencia del usuario al hacer que las interacciones sean más fluidas y reducir la carga cognitiva.
- Pruebas de Interacción Automatizadas: Sistematizar el proceso de prueba mediante interacciones guiadas es esencial para garantizar un rendimiento consistente e identificar posibles problemas de manera temprana.

Pensamientos Finales
- Un chatbot impulsado por un LLM no es una solución única para todos los productos conversacionales. Es importante analizar los objetivos del chatbot y las necesidades del usuario para determinar si una herramienta generativa es la mejor opción.