Saltearse al contenido

Router Agent

Router Agent

Bienvenido al componente Router Agent (Agente de Enrutamiento) dentro de Nappai.

Imagina que este componente es la “recepción” o el “cerebro” de tu sistema de automatización. Su función principal es escuchar lo que le dices o le envías y decidir hacia quién debe ir esa información para ser procesada correctamente.

En lugar de que un solo agente intente hacerlo todo, el Router Agent analiza tu solicitud (por ejemplo, “¿Cuál es el saldo de mi cuenta?” vs. “¿Cuántos usuarios tenemos?”) y la envía automáticamente al agente especializado correcto. Esto hace que tu flujo de trabajo sea más rápido, preciso y eficiente.

¿Cómo funciona?

El Router Agent utiliza inteligencia artificial avanzada (específicamente modelos de lenguaje) para entender la intención detrás de tu mensaje.

  1. Análisis: Recibe una entrada de texto.
  2. Decisión: Compara esa entrada con las “rutas” o especialidades que has configurado (por ejemplo, una ruta para Ventas, otra para Soporte).
  3. Enrutamiento: Decide automáticamente cuál es el siguiente paso en el flujo. No te devuelve una respuesta final directamente, sino que “activa” al agente que debe resolver tu problema.

Piensa en él como un director de orquesta: no toca los instrumentos, pero asegura que cada músico (agente) toque en el momento correcto.

Conexión y Credenciales

Este componente es una pieza de lógica interna. No requiere configurar credenciales externas (como claves de API de Google o bases de datos) directamente en el nodo. Sin embargo, necesitarás conectar otros componentes a él para que tenga datos con los que trabajar.

Entradas

Los siguientes campos están disponibles para configurar este componente. Estos campos permiten personalizar cómo el agente “piensa” y qué herramientas usa.

  • Agent Name: El nombre interno del agente. Úsalo si necesitas referenciar a este agente desde otras partes del sistema.
  • Agent Description: Una breve descripción de lo que hace este agente. Ayuda al sistema a entender mejor su propósito.
  • Data Input: Los datos o la consulta de texto que el router analizará para decidir a dónde enviarlos.
  • System Prompt: Instrucciones adicionales que puedes darle al agente para guiar su comportamiento (por ejemplo, “Siempre sé amable” o “Usa solo datos oficiales”).
  • Tools: Herramientas que el agente puede usar para realizar acciones (como buscar en una base de datos o enviar un email).
  • Model: El modelo de inteligencia artificial que utilizará para entender el texto.
  • Memory: Memoria opcional para recordar el contexto de conversaciones anteriores.
  • Max Iterations: El número máximo de pasos que el agente dará antes de detenerse. Útil para evitar bucles infinitos.
  • Stream: Habilita la visualización de la respuesta en tiempo real mientras se genera.
  • Stream Thinking: Muestra el proceso de pensamiento del agente mientras decide.
  • Number of Intentions: La cantidad de categorías o “rutas” diferentes que el agente debe reconocer (por ejemplo, 3 intenciones: Ventas, Soporte, Facturación).
  • Confidence Threshold: Un nivel de seguridad (de 0.0 a 1.0) que determina qué tan seguro debe estar el agente antes de tomar una decisión. El valor recomendado es 0.7.
  • Use memory: Activa la capacidad del agente para recordar el estado de la conversación paso a paso.
  • Memory Strategy: La estrategia para gestionar la memoria (cómo se guardan y recuperan los datos).
  • Memory Limit: El número máximo de mensajes a recordar. Usa -1 para ilimitado.

Salidas

El Router Agent es un componente de “control de flujo”. Su principal salida es la decisión de cuál será el siguiente nodo en tu diagrama.

Al conectar las salidas de este componente, estarás definiendo a qué agente especialista se enviará la información basada en la intención detectada.

Ejemplo de Respuesta JSON

json { “next_node”: “agent_sales_specialist”, “route_confidence”: 0.95, “metadata”: { “intention”: “consult_account_balance”, “reason”: “User asked for balance details” } }

Nota: En la práctica, en tu dashboard de Nappai, verás que este componente tiene salidas que te permiten conectar diferentes agentes (por ejemplo, una rama para “Soporte Técnico” y otra para “Ventas”).

Conectividad

Este componente actúa como el puente central entre la entrada del usuario y los agentes especializados.

  1. Entrada: Generalmente se conecta a un nodo de entrada de usuario (como “Input Box” o “Trigger”) o a un agente previo que recopila información.
  2. Salida: Se conecta a múltiples agentes “hijo” (por ejemplo, Agent of Sales, Agent of Support). Las salidas se ramifican basándose en la intención detectada (por ejemplo, “Route Sales”, “Route Support”).

Ejemplo de Uso

Imagina un chatbot de una empresa de servicios.

  1. El usuario escribe: “Necesito reinstalar mi software”.
  2. El Router Agent analiza el texto y detecta que es una solicitud de asistencia técnica.
  3. El router envía la conversación automáticamente al Agente de Soporte Técnico.
  4. Si el usuario hubiera escrito “Quiero comprar una licencia”, el router lo habría enviado al Agente de Ventas.

El Router Agent asegura que la pregunta correcta vaya a la persona (o agente) correcta, sin que el usuario tenga que seleccionar menús complicados.

Consejos y Mejores Prácticas

  • Sé claro en las descripciones: La precisión del enrutamiento depende de qué tan bien describas cada “intención” o ruta. Usa ejemplos claros en las descripciones de los agentes.
  • Ajusta el umbral de confianza: Si el router está enviando cosas a la ruta equivocada frecuentemente, prueba aumentando el Confidence Threshold a 0.8 o 0.9 para exigir mayor certeza.
  • Gestiona la memoria: Si las conversaciones son complejas, activa Use memory para que el router recuerde el contexto de preguntas anteriores.

Consideraciones de Seguridad

Este componente es seguro por defecto, ya que es una pieza lógica interna. Sin embargo, ten en cuenta:

  • No expongas datos sensibles: Asegúrate de que las herramientas conectadas a este agente tengan los permisos adecuados para acceder a los datos que se procesan.
  • Límites de iteración: Configura un Max Iterations razonable para evitar que el agente se quede “atascado” pensando y consumiendo recursos innecesariamente.