Notas técnicasXendai / Publicación técnica
Por qué un chatbot no es un sistema
La conversación hace visible una parte del servicio, pero no define todo lo que ese servicio necesita para funcionar. Un chatbot puede formar parte de un sistema completo. Lo que no puede darse por hecho es que una interfaz capaz de responder disponga también del estado, los permisos y la coordinación necesarios para sostener el trabajo que promete.
La interfaz conversacional tiene una cualidad poderosa: permite expresar una necesidad sin conocer de antemano los menús o campos de una aplicación. Una persona puede explicar una situación, hacer una pregunta y corregir una interpretación dentro del mismo intercambio.
Esa facilidad puede producir una impresión de continuidad que la arquitectura todavía no ofrece. La conversación parece comprender el trabajo porque puede hablar de él. Sin embargo, comprender una petición, disponer de información autorizada y completar una operación son funciones distintas.
El título plantea una frontera de diseño. No niega que un chatbot sea software ni que pueda resolver por sí solo ciertos usos. Cuestiona que la forma visible de interacción sea una descripción suficiente del sistema que una empresa necesita operar.
La interfaz organiza el acceso
Una interfaz determina cómo una persona expresa una intención y cómo recibe una respuesta. Puede hacerlo mediante formularios, botones, una conversación o una combinación de ellos. Su diseño afecta al esfuerzo de uso, a la información que se recoge y a la claridad de lo que ocurre.
El lenguaje natural resulta especialmente útil cuando la entrada es variable o el usuario necesita explorar una cuestión. También puede ayudar a orientarse dentro de un servicio. Pero esa flexibilidad no elimina la necesidad de convertir una petición en algo que la aplicación pueda tratar con precisión.
«Resuelve esto» puede iniciar una conversación útil y seguir siendo una especificación insuficiente para ejecutar una operación. La interfaz tendrá que aclarar el alcance, identificar el objeto afectado y distinguir entre una consulta, una propuesta y una instrucción de acción.
El diseño debe decidir qué ambigüedad puede resolver mediante diálogo y cuál requiere una selección explícita. Hay situaciones en las que mostrar tres opciones concretas resulta más claro que pedir al usuario que redacte otra explicación. La conversación no pierde valor por apoyarse en otros elementos de interfaz.
Lo que el usuario ve debe corresponder con lo que el servicio puede sostener. Si la aplicación solo prepara una recomendación, conviene que la interacción permita reconocerla como tal. Si inicia un trabajo que terminará después, debe explicar cómo se conocerá el resultado. La forma de conversar participa en la gestión de expectativas.
El historial no sustituye al estado del trabajo
Una conversación conserva mensajes. El estado operativo debe expresar qué se considera vigente dentro del servicio. Ambos pueden relacionarse, pero no son intercambiables.
En el historial puede aparecer una petición inicial, una rectificación y una aprobación posterior. Para continuar el trabajo, el sistema necesita identificar cuál de esas decisiones gobierna la operación actual. Conservar todas las frases no establece por sí solo esa prioridad.
También puede haber cambios que ocurren fuera de la conversación. Otra persona modifica un expediente, una aplicación actualiza una disponibilidad o una operación termina mientras el usuario tiene la ventana cerrada. El estado del servicio tiene que poder incorporar esos hechos sin depender de que alguien los narre en el chat.
Esto no obliga a usar una base de datos separada para cada aplicación ni prescribe una tecnología concreta. Obliga a distinguir qué información describe el intercambio y cuál representa el trabajo. Esa separación puede ser lógica, pero debe permitir recuperar una operación sin reconstruir su verdad a partir de una lectura informal de mensajes.
La persistencia tampoco resuelve por sí sola el problema. Guardar una afirmación errónea solo hace que permanezca disponible. Para que el estado sea útil necesita reglas de actualización y una relación clara con los sistemas que tienen autoridad sobre cada dato.
Desde el punto de vista del usuario, esta diferencia se nota cuando vuelve al servicio. Debería poder saber qué sigue pendiente, qué se ha completado y qué necesita de él. La continuidad debe pertenecer al trabajo, aunque cambien la sesión o el canal desde el que lo consulta.
Hablar con el sistema no concede acceso
Una conversación puede ser fluida y seguir necesitando controles de identidad y autorización. El hecho de que una persona conozca el nombre de un cliente, un expediente o un documento no demuestra que pueda acceder a él.
El sistema debe determinar qué información puede consultar cada usuario y qué acciones puede realizar sobre ella. Esa comprobación tiene que aplicarse donde se accede al recurso o se ejecuta la acción, no quedar confiada a una instrucción para que el modelo «sea prudente».
OWASP recomienda validar los permisos en cada petición y aplicar controles sobre el objeto o la función concreta. El principio es pertinente para una interfaz conversacional igual que para cualquier otra aplicación: el canal de entrada no sustituye a la autorización.
La diferencia se vuelve importante cuando una petición combina varias operaciones. Una persona puede tener acceso a consultar un registro y no a modificarlo. También puede poder actuar sobre unos registros y no sobre otros. La conversación necesita reflejar esos límites sin asumir que una autorización general cubre todo el intercambio.
La identidad de la aplicación también importa. Si una herramienta opera con una cuenta de servicio, sus permisos técnicos pueden ser más amplios que los del usuario. El sistema debe conservar esa distinción al decidir qué solicita en su nombre. De lo contrario, la interfaz puede ofrecer una vía de acceso que el proceso ordinario no permitiría.
No es necesario convertir cada respuesta en una explicación de seguridad. Es necesario que las decisiones de acceso sean consistentes y que las denegaciones tengan un tratamiento comprensible. Un servicio fiable debe poder decir que una acción no está disponible sin improvisar una alternativa que exceda el mismo límite.
La ejecución tiene su propio tiempo
La conversación invita a pensar en turnos: una persona escribe y el sistema responde. Muchas operaciones empresariales no caben en ese ritmo. Pueden depender de otra aplicación, de una revisión o de un trabajo que tarda más que la interacción inicial.
En esos casos, una respuesta inmediata puede confirmar recepción, no finalización. La aplicación necesita conservar esa diferencia y ofrecer una forma de conocer el progreso. Si la interfaz utiliza el mismo lenguaje para ambos estados, el usuario puede actuar sobre un resultado que todavía no existe.
El patrón de solicitud y respuesta asíncrona de Microsoft documenta esta separación: una petición puede aceptarse con una respuesta HTTP 202 y su resultado consultarse después mediante un recurso de estado. La idea no obliga a una implementación específica; muestra que aceptar trabajo y completarlo son eventos distintos.
La conversación puede representar esa secuencia con claridad. Puede indicar que una solicitud está en curso, mostrar la última información disponible y comunicar su desenlace cuando exista evidencia. Lo importante es que esos mensajes procedan del estado de la operación, no de una deducción del modelo sobre lo que probablemente habrá ocurrido.
También debe contemplarse la interrupción. Si el usuario cierra la ventana, hay que saber si el trabajo continúa, se detiene o espera una decisión. Ninguna de esas opciones es correcta en todos los casos. La elección depende del servicio y debe quedar expresada en su comportamiento.
La interfaz no necesita revelar cada detalle interno. Sí necesita permitir que la persona distinga entre esperar, aportar información y volver a intentar una acción. Ese criterio ayuda a evitar conversaciones tranquilizadoras que dejan al usuario sin saber qué hacer.
La conversación necesita evidencias
Una respuesta puede describir un resultado con seguridad sin aportar una confirmación suficiente. En un sistema que actúa, la explicación debe apoyarse en lo que se ha observado de la operación.
Para una consulta documental, la evidencia puede consistir en fuentes pertinentes y accesibles. Para una modificación, puede ser el estado confirmado del registro afectado. Para una solicitud pendiente, puede ser su identificador y la situación que comunica el servicio responsable.
La evidencia adecuada depende de la promesa que se hace. No es razonable exigir la misma comprobación a una sugerencia de redacción y a una acción sobre datos de la empresa. Pero en ambos casos conviene evitar que el estilo de la respuesta dé una garantía mayor que la disponible.
Este criterio también cambia la evaluación de la interfaz. Una conversación agradable puede resultar poco útil si no distingue lo comprobado de lo supuesto. Una respuesta más sobria puede ser mejor si permite entender qué ocurrió y cuál es el siguiente paso.
Los errores necesitan el mismo cuidado. «Ha habido un problema» puede describir una experiencia, pero no siempre permite decidir cómo continuar. Cuando sea posible, la aplicación debería diferenciar entre una petición rechazada, una operación todavía en curso y un resultado que no se ha podido confirmar.
Esa diferencia no obliga a exponer datos sensibles ni diagnósticos internos. Obliga a traducir el estado del servicio a información útil para el usuario. La calidad conversacional incluye esa fidelidad, además de la fluidez del lenguaje.
Diseñar el servicio antes de fijar el canal
La conversación puede ser la entrada principal, una ayuda dentro de una aplicación o un canal secundario. Elegir su papel requiere entender qué necesita hacer la persona y qué partes del trabajo se benefician realmente del intercambio.
Cuando hay que expresar una necesidad abierta, el diálogo puede reducir fricción. Cuando hay que comparar muchos elementos, revisar cambios o confirmar una selección exacta, una tabla o un formulario pueden ofrecer mejor visibilidad. Una buena experiencia puede combinar ambos sin obligar al usuario a traducir todo a mensajes.
También hay trabajos que deben continuar por otro canal. Una persona inicia una solicitud conversando y otra la revisa en una cola operativa. Para que exista continuidad, ambas vistas deben referirse al mismo trabajo y a sus decisiones vigentes. Copiar el historial no equivale a diseñar ese vínculo.
La arquitectura debe mantener una relación explícita entre interfaz, coordinación y sistemas de registro. La interfaz recoge intención y comunica. La coordinación aplica las reglas del recorrido. Los sistemas de registro aportan o conservan la información que les corresponde. Son responsabilidades lógicas; pueden implementarse dentro de una misma aplicación.
Conexiones del diagrama
- Conversación Intención → Coordinación y control
- Otra interfaz Petición → Coordinación y control
- Coordinación y control Estado observado → Conversación
- Coordinación y control Estado observado → Otra interfaz
- Coordinación y control Consulta o acción → Registros de negocio
- Registros de negocio Datos y resultados → Coordinación y control
- Coordinación y control Guardar → Estado del trabajo
- Estado del trabajo Recuperar → Coordinación y control
Las interfaces acceden al mismo trabajo mediante responsabilidades compartidas. Las cajas representan funciones lógicas; no exigen aplicaciones, bases de datos o servicios separados.
Una conversación y otra interfaz envían peticiones a coordinación y control, que les devuelve el estado observado. La coordinación consulta o actúa sobre registros de negocio y recibe datos y resultados. También guarda y recupera el estado del trabajo.
Separarlas ayuda a evolucionar el servicio. Si mañana se añade otra entrada, no debería ser necesario redefinir qué significa aprobar, cancelar o completar la misma operación. Las reglas compartidas necesitan un lugar reconocible que no dependa de la redacción de cada conversación.
Un chatbot puede ser suficiente para un uso informativo acotado, y no hay motivo para añadirle complejidad que ese uso no requiere. Cuando promete intervenir en el trabajo de una empresa, la pregunta cambia: qué sistema sostiene esa promesa. La respuesta se encuentra en las responsabilidades y relaciones que hay detrás de la interfaz.
KEY TAKEAWAY
Una interfaz conversacional es una forma de acceder a un servicio. Para sostener trabajo empresarial necesita una relación definida con el estado, los permisos, la ejecución y la evidencia del resultado. Diseñar esas responsabilidades permite decidir qué papel debe tener el chat y qué otras interfaces necesita el mismo sistema.
XENDAI CONNECTION
En Xendai, la interfaz se diseña junto con el servicio que debe sostenerla. Una conversación puede ser parte de la solución, pero su utilidad depende de cómo se conecta con los datos, los permisos, las integraciones y el estado del trabajo.