El agente de triaje: un componente clave para construir asistentes de IA agéntica a escala
Desde la aparición y generalización de los grandes modelos de lenguaje (LLMs), hace ahora tres años, una de sus aplicaciones más evidentes ha sido la orientada a mejorar las capacidades de los asistentes digitales, tanto los internos de las compañías como los dedicados a la atención al cliente. También en banca, este potencial se identificó pronto.
Surgieron así los primeros asistentes capaces de proporcionar información relevante a asesores y gestores financieros, facilitando el trabajo diario de estos profesionales en su relación con los clientes. Además, estos asistentes basados en LLMs ya no requerían escribir con palabras clave u opciones preconfiguradas, sino que entendían el lenguaje natural, lo que incrementó notablemente su utilidad.
Hoy, más allá de responder con información rigurosa y actualizada, los asistentes de IA también pueden ejecutar operativas en nombre del usuario. Es la revolución de la IA agéntica, una tecnología que ya estamos aplicando en BBVA.
En este artículo presentamos nuestro trabajo implementando un asistente conversacional de atención al cliente, que no solo entiende al usuario, responde con información relevante y sigue el hilo de la conversación, sino que además lleva a cabo operativas bancarias básicas de principio a fin. Esto es posible gracias a una arquitectura basada en agentes inteligentes: componentes autónomos especializados que colaboran desde la comprensión de la intención del usuario, es decir, el propósito u objetivo que un usuario busca alcanzar a través de su mensaje o consulta, hasta la ejecución de una operativa concreta. Para empezar, nos centraremos en el actor principal de nuestro sistema, un agente de IA encargado de identificar la necesidad del cliente o usuario y decidir cómo resolverla. Se trata del agente clasificador o agente de triaje.
El rol central del agente de triaje
La conversación entre la máquina y el cliente empieza con la identificación de la intención de éste último. ¿Qué quiere obtener el cliente? ¿Busca información o quiere ejecutar alguna operativa bancaria? Esta distinción es importante para el agente de triaje, ya que dependiendo del caso, tendrá que recurrir a diferentes agentes de IA.
Por un lado, las operativas disponibles serán ejecutadas por agentes especializados en cada tarea. Una operativa bancaria es cualquier proceso que requiere acceder a información específica del cliente. Hacer un pago mediante Bizum o Dimo, entre otros, o consultar el saldo disponible en la cuenta, son ejemplos de operativas.
Por otro lado, las peticiones de información serán respondidas por el agente informacional, que está construido utilizando una arquitectura de tipo RAG (Retrieval Augmented Generation). Entendemos como petición de información las consultas genéricas que se pueden responder de igual manera para todos los clientes.
Lo especial de este sistema es su razonamiento contextual. No se limita a buscar palabras clave, sino que comprende el significado real de la consulta, considera el historial de la conversación y valora las sutilezas del lenguaje natural. Además de diferenciar entre la ejecución de múltiples operativas bancarias y una consulta informativa, otra de sus características más innovadoras es la capacidad para detectar cuándo se necesita pedir más información al cliente. En lugar de adivinar o dar una respuesta incorrecta, el asistente puede iniciar un diálogo para aclarar la intención del cliente (función de clarificación o desambiguación). Por ejemplo, imagina un cliente que escribe “contratar”. Nuestro agente no es capaz de identificar qué quiere contratar el cliente, así que responde con una consulta de aclaración, como podría ser: “Claro, estoy aquí para ayudarte. ¿Quiere contratar una cuenta, una tarjeta u otro producto bancario?.”
En resumen, el agente de triaje utiliza un gran modelo de lenguaje (LLM) que actúa como un experto bancario virtual capaz de analizar el contexto completo de la conversación. Funciona como el “centro de decisiones” de nuestro asistente, esto es, se encarga de identificar y clasificar la petición del cliente en tres categorías principales: ejecutar una operativa —y en ese caso, determinar la operativa concreta—, responder a una consulta con información general o pedir más información al cliente.
El agente de triaje también dispone de las descripciones de las posibles operativas a ejecutar, que a su vez se obtienen de un proceso de filtrado previo. En otras palabras, el agente no elige entre todas las operativas posibles, sino entre un subconjunto seleccionado previamente. Pedirle a un modelo de lenguaje grande (LLM) que seleccione una etiqueta de un conjunto reducido de 5 o 6 opciones es considerablemente más eficiente que pedirle que lo haga entre más de 150 operativas simultáneamente. Además de las limitaciones inherentes a los prompts, la paradoja de la elección sigue estando presente: tomar decisiones es más fácil cuando el número de opciones es pequeño. El objetivo de esta fase previa es reducir el número de posibles operativas a elegir, ganando eficiencia y escalabilidad.
La tecnología detrás del agente de triaje
Desde el punto de vista técnico, este motor de decisión —el agente de triaje— utiliza los modelos más avanzados de tipo GPT (OpenAI). El sistema emplea una arquitectura basada en herramientas (tools), que representa un enfoque innovador en el diseño de sistemas conversacionales. Además, el agente dispone del historial de la conversación, así como de un conjunto de instrucciones en forma de prompt dinámico. Estas instrucciones ofrecen indicaciones al agente de triaje sobre cómo debe operar.
Cuando hablamos de una arquitectura basada en tools nos referimos a que cada operativa bancaria se modela como una herramienta específica que el LLM puede invocar, utilizando el patrón de function calling. Las herramientas se implementan como clases Python, cuyas descripciones técnicas —es decir, las descripciones de las operativas—, se cargan dinámicamente. Gracias a esto, podemos llevar a cabo A/B testing entre diferentes versiones de descripciones sin modificar código.
Además de las tools asociadas con operativas, el agente de triaje puede recurrir a otras herramientas: una para redirigir la consulta al agente informacional, otra para solicitar aclaraciones al cliente si fuese necesario, y, por último, otra para derivar a fallback —es decir, cuando el agente determina que no puede contestar porque la respuesta se escapa del ámbito bancario—.
En este sentido, podemos entender el mecanismo de fallback como una capa de seguridad o guardarraíl que incorpora el sistema. Por ejemplo, pedirle a nuestro asistente conversacional qué tiempo hará en París el próximo domingo no está relacionado con asuntos bancarios. En consecuencia, el asistente generará una respuesta indicando que no puede ayudar con ese tipo de consultas. Este ejemplo no conlleva un alto riesgo, pero como práctica general, queremos evitar que el asistente responda a consultas de ámbitos en el que no somos expertos.
Para responder a los casos de fallback o clarificación, el agente de triaje no necesita realizar otra llamada a un LLM, si no que las respuestas se generan utilizando un parámetro de la propia herramienta (tool) que invoca el agente. Este parámetro incorpora una descripción que define cómo debe ser la respuesta en cada caso, y se complementa también con otras partes del prompt dinámico. De este modo, el mensaje se genera en el mismo proceso de triaje.
Conclusiones: el impacto de un sistema de clasificación inteligente en la experiencia conversacional
El primer objetivo de un asistente conversacional al recibir una consulta no es otro que entender claramente qué es lo que el cliente quiere hacer. Este proceso se conoce de forma estándar como triaje. En este artículo hemos profundizado en el agente de IA encargado de llevar a cabo esta tarea, un LLM capaz de procesar la conversación e identificar si el cliente quiere ejecutar una operativa concreta o obtener información sobre cualquier tema del ámbito bancario.
Implementar un agente de IA capaz de clasificar la intención del usuario y, posteriormente, encauzar la tarea al agente correspondiente, mejora notablemente la experiencia con un asistente conversacional. Esta arquitectura, basada en agentes de IA, supera las limitaciones de los primeros asistentes basados en IA generativa, al incorporar nuevas capacidades y adaptarse mejor al contexto y a la situación de cada usuario.