Bloque de decisión

💡Tip: Use nodos de rama para mantener los flujos modulares. Si se detecta que las condiciones dentro de un nodo de paso son largas o complejas, se recomienda trasladar esa lógica a un nodo de rama para mayor claridad y facilidad de mantenimiento

1. Finalidad y cuándo utilizarlo

  • Lógica de decisión: Use nodos de rama cuando la conversación deba desviarse en función de una variable, respuesta del usuario o resultado de una acción.

  • Sin salida de IA: Los nodos de rama no generan texto; simplemente dirigen el flujo.

Los nodos de rama son la base de la toma de decisiones en un flujo. Se utilizan para enrutar conversaciones según la entrada del usuario, las variables o los resultados de las acciones, manteniendo la lógica limpia, modular y fácil de depurar.

  • Múltiples condiciones: Si existen más de dos posibles direcciones (por ejemplo, “Bajo”, “Medio”, “Alto” riesgo), es posible configurar tantas salidas como se necesiten, cada una asignada a su propio conjunto de criterios.

  • Mantenga los flujos comprensibles: Evite colocar lógica compleja dentro de un nodo de paso o conversación. Si se requiere comprobar “si el usuario dijo X” o “si <apiCall.value> > 10”, colóquelo en un nodo de rama. De esta forma, los nodos visibles para la IA se enfocan en el contenido, y el nodo de rama se centra exclusivamente en el enrutamiento.


2. Campos y configuración del bloque de decisión

  1. Nombre de la Rama

    • Qué es: Una etiqueta breve y clara que describa el punto de decisión, por ejemplo: “¿Correo válido?” o “Rango de monto del préstamo.”

    • Cómo elegirlo:

      1. Describa claramente la pregunta o condición que se evalúa.

      2. Evite nombres genéricos como “Rama 1” o “Decisión”. Use nombres relacionados con la variable o resultado clave (por ejemplo, “¿Usuario suscripto?”).

2. Tipo de condición

Alterna entre dos modos:

Captura de pantalla 2025-09-06 a las 16:20:50

Configuración de Reglas Determinísticas

(Visible al seleccionar “Regla Determinística”)

  • Cuando la variable

  • Operador: Seleccione entre

    • Igual a (=)

    • Distinto de (!=)

    • Contiene

    • Comienza con

    • Termina con

    • Menor que (<)

    • Mayor que (>)

  • Valor objetivo: Ingrese el valor literal o conjunto a comparar (por ejemplo: Sí, ["admin", "superuser"], 1000).

Haga clic en Agregar condición para encadenar múltiples pruebas de variables. Las ramas se evalúan de arriba hacia abajo.

  1. Nombre de rama: Asigne un nombre a cada arista saliente exactamente como debería hacerlo el LLM.

  2. Cuándo ir aquí

    • Qué es : Una descripción en lenguaje sencillo y sin formato (o pseudocódigo) de la condición bajo la cual se debe tomar esta rama.

    • Sintaxis y pautas:

      1. Haga referencia a variables y resultados de acciones envolviéndolos entre {} para variables y <action.field> para salidas de acciones.

      2. Precisión sobre prosa: Escriba la prueba lógica exacta. Ejemplo: Si el usuario dijo Sí.

    • Múltiples nodos de salida: Cada salida del nodo de rama hereda su condición de “Cuándo ir aquí”. El motor evalúa las condiciones en orden y la primera que coincida “gana”.

Consejo: Utilice siempre nombres claros y descriptivos para las ramas y los nodos de salida. Esto facilita el análisis y la depuración del flujo.


3. Cómo ocurren las transiciones

  1. Momento de evaluación

    • El motor del flujo se detiene en el nodo de rama después de que el nodo anterior finaliza, ya sea una respuesta del usuario, una acción personalizada o una función que actualiza datos.

    • Inmediatamente después, evalúa cada condición de salida en secuencia.

  2. Emparejamiento y enrutamiento

    • Primera coincidencia gana: El motor verifica la condición del Nodo 1. Si es verdadera, el flujo continúa por esa ruta. Si no, pasa al siguiente.

    • Es posible seleccionar en la Regla Determinística que “todas las condiciones deben cumplirse” si se requiere una rama basada en múltiples variables.

    • Nodo de respaldo (“Else” o “Default”): Es recomendable incluir un nodo final con condición verdadera para evitar errores en tiempo de ejecución si ninguna condición coincide. Etiquételo claramente (por ejemplo, “Ruta predeterminada”).

Consejo: Incluye siempre una rama de respaldo/predeterminada al final. Esto evita errores y garantiza que tu flujo nunca se bloquee.

  1. Sin IA ni interacción del usuario

    • Los nodos de rama son invisibles para el usuario final. No generan texto ni esperan respuesta, a menos que un nodo posterior lo solicite. Solo realizan la evaluación lógica y luego transfieren el control al siguiente nodo.


4. Mejores prácticas y consejos

  1. Mantenga las condiciones atómicas

    • No combine múltiples comprobaciones en una sola condición. Si se evalúan “edad > 18” y “tiene identificación registrada”, divida la lógica en dos nodos de rama o encadénelos. Esto simplifica la depuración.

  2. Ordene los nodos estratégicamente

    • Coloque las condiciones más probables o específicas primero. Por ejemplo, si el 80% de los usuarios está en EE. UU., use {country} == "US" como la primera rama.

  3. Incluya siempre una rama predeterminada o de respaldo

    • Si ninguna condición coincide, la IA podría generar respuestas no planificadas. Evite esto agregando un nodo final con condición verdadera o “else”.

  4. Reutilice variables y resultados de acciones de forma coherente

    • Si varios nodos de rama dependen del mismo dato, asegúrese de que provenga de un único nodo anterior. No duplique cálculos ni redefina variables.

  5. No use nodos de rama para simples esperas de entrada del usuario

    • Si solo se necesita esperar texto o un clic, utilice un nodo de conversación o paso. Los nodos de rama no deben generar salida; únicamente deben evaluar lógica.

Consejo: Cuanto más simple, mejor. Si la lógica de ramificación se complica, divídala en varios nodos para facilitar la resolución de problemas.


5. Errores comunes y cómo evitarlos

  1. Falta de rama de respaldo

    • Síntoma: Algunas entradas no coinciden con ninguna condición → error en tiempo de ejecución: “No hay rama válida”.

    • Solución: Incluya siempre un nodo final con condición true o else. Asígnele un nombre claro y dirija el flujo hacia un nodo de “reintento” o “error”.

  2. Lógica anidada o demasiado compleja

    • Síntoma: Una sola condición contiene una expresión booleana extensa y difícil de leer.

    • Solución: Divida la lógica en varios nodos de rama encadenados.

      • Ejemplo:

        1. La Rama A verifica {age} >= 18. Si es verdadero, va a la Rama B; si no, al camino “Menor”.

        2. La Rama B verifica {credit_score} >= 700. Si es verdadero, continúa a “Tasa Prime”; si no, a “Tasa Subprime”.

Consejo: Si observa errores o enrutamientos inesperados, revise detenidamente el orden de las ramas y la lógica de respaldo.


9. Resumen y conclusiones

  1. Los nodos de rama no hablan ni ejecutan llamadas API; solo evalúan condiciones y dirigen el flujo al siguiente nodo adecuado.

  2. Mantenga las condiciones simples, ordenadas y mutuamente excluyentes siempre que sea posible.

  3. Incluya siempre un nodo de respaldo (condición verdadera) para evitar errores de “sin ruta válida”.

  4. Asigne nombres claros a los nodos de rama para que cualquier persona entienda la lógica a simple vista.

  5. Si la lógica crece en complejidad, divídala en varios nodos de rama en serie en lugar de concentrarla en uno solo.


Lista de verificación rápida:

Última actualización

¿Te fue útil?