En Foxize, llevamos algunos meses indagando en el misterioso pero popular mundo de la Inteligencia Artificial. Se han lanzado diversas iniciativas internas, como formación, charlas y desarrollo de proyectos. En este último es donde se sitúa esta entrada y el proyecto Markus.
La primera regla del Club de la IA es no hablar del Club de la IA.
Para poneros un poco en contexto, desarrollamos una aplicación interna llamada Params, para que el equipo pudiera gestionar los parámetros de los Cloud de los clientes sin la necesidad de depender del equipo técnico. Aun así, todavía es un proyecto muy técnico y queríamos hacerlo más approachable para otros equipos (en concreto el equipo de Project Managers, que están día a día gestionando Cloud de clientes).
Así surgió la idea de desarrollar el chatbot Markus (en honor a Marc, nuestro increíble Customer Success), para reducir la fricción en el uso de Params.
Pero antes de entrar de lleno a desarrollar el chatbot, es necesario hacer investigación sobre cómo funciona una IA.
Mi objetivo principal era entender los diferentes tipos de Inteligencia Artificial para decidir qué tipo sería el más adecuado para Markus.
Justo empecé a usar Obsidian para desarrollar ideas para mi blog personal, así que decidí crear una nueva Bóveda para investigar la IA.
Investigué los tipos de IA, los clasifiqué en grupos y los organicé en una bóveda para entender las relaciones entre ellas y así poder identificar el tipo de IA a emplear según el propósito de Markus.
Todo este proceso lo realicé empleando el método Zettelkasten, del alemán “Caja de notas”. Es un sistema de gestión de conocimiento con la intención de recopilar muchas ideas breves y conectarlas entre ellas, creando así una red de conocimiento. Originalmente, se utilizaba un método físico con cajas y papel, pero actualmente Obsidian es una de las mejores herramientas para usar este método. Es un sistema muy interesante que se suele usar actualmente como “segundo cerebro”.
Si quieres indagar más sobre Zettelkasten y Obsidian, hay mucha literatura online disponible.
Gracias a este trabajo de investigación, pude definir los diferentes tipos de Inteligencia Artificial en diferentes categorías:
La segunda regla del Club de la IA es que el proyecto Markus debe ser sencillo e intuitivo para cualquier persona.
El siguiente paso es definir cómo será Markus. Markus debería tener la capacidad de:
Teniendo en cuenta estos puntos y la investigación previa sobre la IA, podemos definir que Markus es una IA Específica que emplea tecnologías de Machine Learning y Procesamiento del Lenguaje Natural (NPL). Es decir, un chatbot.
Los Chatbots son un tipo de IA específica que emplea técnicas de procesamiento de lenguaje natural (NPL) y aprendizaje automático o Machine Learning, combinado con un sistema de reglas predefinidas, con el objetivo de poder interactuar con los usuarios de manera efectiva.
Vayamos paso por paso:
La tercera regla del Club de la IA es que el proyecto Markus debe ser sencillo de implementar.
Un chatbot sigue un flujo determinado. Desde que el usuario le solicita algo, hasta que el chatbot le dé una respuesta, debe pasar por diferentes fases:
El usuario interactúa enviando un mensaje al Chatbot a través de una interfaz.
El almacenamiento del contexto de la conversación permite almacenar información proporcionada por el usuario y emplearla en respuestas futuras.
Se produce la respuesta generada, la cual se envía a través de la misma interfaz.
La cuarta regla del Club de la IA es que el proyecto Markus debe ser robusto y escalable.
Ahora que ya hemos definido qué hace que un chatbot sea un chatbot, pasamos de una idea abstracta a concretar una serie de requisitos que queremos que tenga Markus y que permita cumplir con su propósito principal: ayudar a los usuarios.
Para el MVP se especifican una serie de requerimientos tales como:
La implementación de Markus se fundamenta en cinco fases definidas a continuación:
Quizás te estarás preguntando, al igual que algunos compis: ¿Por qué motivos estamos desarrollando este proyecto? ¿Es, quizás, una pérdida de tiempo? Ya que estáis dedicando tanto tiempo a este proyecto, ¿no sería mejor desarrollar un producto dirigido a cliente y comercializarlo?
Yo no lo veo así. Aunque parezca que lo más lógico es empezar a desarrollar un chatbot para clientes con el que poder configurar fácilmente el Cloud, cosa que conlleva una responsabilidad muy grande, creo que primero es necesario hacer un testeo interno para definir correctamente las bases de la IA, los datos y cómo optimizarlo, para que no de información errónea. El proyecto Markus nos ha de servir como un espacio seguro en el que podemos equivocarnos, aprender y mejorar el producto para que, una vez listo, podamos trasladarlo a un chatbot para clientes.
La fase de investigación y exploración son muy importantes en el diseño. De hecho, existe un proceso llamado diamante doble que define muy bien los pasos que se siguen al desarrollar un producto.
Tiene formato de diamante porque combina fases de expansión como la de descubrimiento, donde se intenta encontrar el máximo de información, y las fases de convergencia, donde se intenta combinar todo lo aprendido y concretar.
No nos podemos olvidar tampoco que en todo proceso, es muy importante evaluar e iterar. Por esa razón, contar con un MVP que podamos testear con el equipo nos viene de perlas.
Todavía estamos en una fase muy inicial en este proyecto, pero creo que es una oportunidad para aprender y mejorar nuestro servicio para los usuarios. Por eso, nos gusta explorar nuevas ideas y formas de aplicarlas a nuestros productos.
¡Espero veros en la próxima entrada!
Iban, Product Owner en Foxize