Un asistente de soporte no es solo una llamada a un modelo. Es un recorrido controlado desde un mensaje entrante hasta la recuperación de información, una respuesta o una persona.

Contexto

En COMPUMAX, construí un sistema de automatización de soporte que conectaba conversaciones de Chatwoot con servicios de recuperación de información y backend. El objetivo era estructurar la automatización como un recorrido controlado, manteniendo una ruta clara hacia un operador humano.

El sistema reunió FastAPI, Chatwoot, Qdrant, PostgreSQL con pgvector, Redis y Docker Compose alrededor de un único recorrido controlado para cada solicitud.

Flujo de una solicitud

Una solicitud entrante pasaba por un enrutamiento de intención antes de que el sistema decidiera si recuperar una respuesta de preguntas frecuentes, escalar el caso a una persona o entrar en una ruta de contingencia exclusivamente humana. Los adaptadores internos mantenían el comportamiento específico de cada servicio en los límites, en lugar de mezclarlo con la lógica de orquestación.

El registro permitía inspeccionar los recorridos procesados de los mensajes de usuario. Un interruptor de desactivación y una ruta exclusivamente humana proporcionaban controles operativos explícitos para los casos en que la automatización no debía responder.

MAPA DEL SISTEMA / 01Un mensaje, tres resultados controlados.La recuperación y la transferencia a una persona siguen siendo ramas explícitas de la misma ruta de soporte.
ENTRADA / 01

Chatwoot

Recepción de conversaciones

Conversación de soporte entrante
CONTROL / 02

Orquestación con FastAPI

El enrutamiento por intención y los adaptadores internos seleccionan la siguiente ruta.

Enrutamiento por intenciónAdaptadores internos
RESULTADO / A

Respuesta con recuperación

Recuperar una respuesta de preguntas frecuentes.

Ruta de recuperación de FAQ
RESULTADO / B

Escalamiento a una persona

Transferir la conversación a una persona.

Ruta de transferencia humana
RESULTADO / C

Contingencia exclusivamente humana

Omitir respuestas automáticas cuando la ruta de control lo requiera.

Contingencia + interruptor de apagado
INTEGRADO / 01QdrantServicio del sistema
INTEGRADO / 02PostgreSQL / pgvectorServicio del sistema
INTEGRADO / 03RedisServicio del sistema
INTEGRADO / 04Docker ComposeServicios en contenedores
TRAZARegistro de la ruta procesada
CONTROLInterruptor de apagado + ruta exclusivamente humana
LÍMITEAdaptadores de servicios internos

Lecciones de arquitectura

El escalamiento forma parte del recorrido del producto

El escalamiento humano no debe tratarse como una excepción alrededor del sistema. Es un resultado de primera clase, con estado, responsabilidad y comportamiento de recuperación explícitos.

La recuperación es solo una de las superficies de falla

Incluso un fragmento relevante puede producir un mal resultado de soporte si fallan el enrutamiento, el estado de la conversación, los permisos o los adaptadores posteriores. Por eso, el recorrido del sistema debe poder inspeccionarse de extremo a extremo.

Las rutas de control necesitan interfaces de primera clase

El interruptor de desactivación, el modo exclusivamente humano, el registro de recorridos procesados y los adaptadores de servicios formaban parte de la propia arquitectura. Mantenerlos explícitos facilitó inspeccionar y modificar el comportamiento del enrutamiento.

Conclusión

La lección central de ingeniería fue tratar la recuperación, la orquestación, el estado y la responsabilidad humana como un solo sistema. La unidad útil de diseño era el recorrido completo desde una conversación entrante hasta una respuesta o una transferencia a una persona.