Published on
Cualificación automática de clientes con un agente de IA
Diseño y desarrollo de un sistema automático de cualificación de consultas para una agencia, potenciado por un agente de inteligencia artificial.
- automatización
- ia
- proyecto
Problema a resolver
La cualificación de clientes de una agencia que ofrece cualquier servicio o producto es un proceso que demanda tiempo y dinero, porque es necesario tener una plantilla de trabajadores destinados a hablar con el cliente para clarificar el producto o servicio que quieren y muchos detalles importantes para saber cómo satisfacer a cada cliente individual, como por ejemplo el presupuesto disponible, el plazo de tiempo a acordar o el producto deseado. Además, muchos de estos potenciales clientes terminan por no contratar ningún servicio, y esto se traduce en un tiempo utilizado que no ha resultado productivo para la agencia. Generalmente el proceso de cualificación de clientes sigue las mismas pautas para todos, por lo que es un proceso repetitivo y generalmente se suelen dar las mismas respuestas repetidas veces entre conversaciones.
Objetivo
El objetivo es desarrollar un sistema que permita a un bot inteligente interaccionar con el cliente y rellenar los huecos de información necesarios para cualificarle, en base a la información de los servicios de la agencia y las indicaciones que dé el director del sistema, que en todo momento tendrá el control sobre su funcionamiento. Para garantizar la seguridad de este sistema, el bot solo tendrá acceso a la información que proporcione el director y responderá únicamente con esta información, y habrá un sistema de handoff de la conversación a un humano en caso de que el cliente lo solicite o mande un mensaje que el modelo no deba responder, como sería el caso de una escalada, reclamación, etc.
Es importante aclarar que el objetivo del bot no es cerrar ventas autónomamente ni sustituir al director que supervise el proceso, su trabajo es automatizar las conversaciones iniciales de cualificación.
Escenario
El escenario es un caso ficticio en el que se implementa un sistema personalizado para una agencia que ofrece servicios de obras y reformas en patios y interiores de instalación de toldos y ventanas. Su plan de cualificación consiste en rellenar los siguientes huecos de información:
- Tipo de obra (toldo, ventana, mixto)
- Lugar de la obra (interior, exterior, zona del patio)
- Presupuesto
- Plazo deseado
Además, la agencia proporciona al bot documentos sobre el alcance de sus reformas, su tarifa, el horario de atención al cliente, un conjunto de excepciones que causarán el handoff a un humano y el guión que debe seguir el bot para cualificar al cliente.
Diseño y implementación
El sistema está formado por una capa de cliente y otra de servidor. La capa de cliente tiene dos pantallas:
- El chat, para simular la interacción entre el bot y el usuario
- El dashboard del director, para administrar los avisos, observar el historial de mensajes, ver los huecos de información rellenados y añadir o eliminar documentos de información sobre la agencia.
El servidor (desarrollado con FastAPI) produce las respuestas del bot recuperando los datos de los documentos mediante RAG y maneja los eventos como rellenar huecos con las respuestas que ha obtenido el bot de la conversación, mandar los avisos correspondientes dependiendo de la situación o silenciar al bot en caso de que se haya producido un handoff, entre otros. La implementación de la demo utiliza la API de OpenRouter para obtener inferencias gratuitas y rápidas, pero es fácil modificarlo para generar las respuestas de forma local o con otro proveedor. Los documentos, el historial de los mensajes y el estado de los huecos de información se guardan en una base de datos SQLite local, mientras que el contenido vectorizado del dossier se guarda en una base de datos vectorial local usando ChromaDB.
Se han tomado algunas decisiones destacables en el diseño de la arquitectura:
- Si el director no proporciona ningún guión de cualificación, el sistema adoptará un prompt genérico para no interrumpir su funcionamiento.
- El servicio que demanda el cliente debe salir explícitamente en el listado de servicios y productos que ofrece la agencia. En caso contrario, el sistema no marcará la casilla de “tipo de obra” como contestada. Esto aumenta la seguridad y la calidad de las respuestas obtenidas en los huecos de información.
- El estado de cualificado no lo determina el bot, para evitar alucinaciones y aumentar la seguridad. En lugar de eso, es el servidor el que detecta cuándo se han rellenado todos los huecos de información y se puede marcar el cliente como cualificado.
Resultado
A continuación se muestra un vídeo breve de un flujo normal de conversación de cualificación entre el agente y el cliente, donde al final se muestra el panel de control del director con información sobre dicho cliente.
El panel muestra correctamente los avisos generados (cualificación, handoff pedido por el cliente), los huecos de cualificación rellenados según lo que ha dicho el cliente y el historial de los mensajes junto a la clasificación de cada uno.
Potenciales mejoras
En un caso real se podría integrar el proceso a un bot de WhatsApp, además de añadir la posibilidad de manejar diferentes hilos (conversaciones), uno para cada cliente individual. También se debería permitir al director personalizar los huecos necesarios para rellenar y cualificar en casos reales. Otras pequeñas características que se pueden implementar son:
- Capacidad del director para silenciar al agente
- Cambiar el prompt del agente desde el panel
- Responder al cliente personalmente desde el propio panel
- Usar modelos más inteligentes para conseguir una sensación y un tono más naturales durante la conversación
Conclusión
El producto muestra una demostración de funcionamiento de un sistema de cualificación automática de los clientes manteniendo la seguridad y dejando el control al director del sistema sobre el acceso que el agente tiene a la información de la agencia.