Contexto
La consultoría presta soporte de TI tercerizado a varias empresas. El asistente de atención corría en una plataforma low-code de terceros que ya había obligado a dos migraciones en menos de un año. Todo el trabajo de este caso corre en el laboratorio de la consultoría, como prueba de concepto.
Problema
- La categorización por palabra clave cubría una fracción del catálogo de categorías y mandaba el resto a triaje manual.
- En lenguaje natural, un número de ticket se confunde con otros números de la conversación.
- La lógica de negocio dentro de la herramienta del proveedor se pierde en cada migración.
- El canal de mensajería no guarda el estado de la conversación entre turnos.
Qué hice
- Llevé toda la lógica a SDKs propios en TypeScript, uno por cliente, con base de datos y credenciales propias en la conexión.
- Clasificación de categoría con LLM sobre el catálogo completo, con respaldo determinístico, y reconocimiento de número de ticket por formato, probado contra una batería de casos trampa.
- Continuidad de la conversación dentro del SDK, en un grupo de workers detrás de un único router, con la credencial de cada bot elegida por el destino del mensaje.
- Sobre la misma base: un portal de automatizaciones de RR. HH. integrado al ERP de RR. HH., un agente N3 que consulta Zabbix e integración con RPA.
- Pruebas por el canal real (Teams) antes de cada entrega y suite que corre sin credenciales reales.
Resultado
La lógica dejó de depender del proveedor low-code: el transporte cambió y la lógica quedó intacta. Los agentes atienden N1 a N3 en el laboratorio, con un SDK aislado por cliente.