Skip to main content
El paso decision.evaluate responde preguntas cerradas sobre los datos de tu automatización. Tú defines las respuestas posibles y el paso elige entre ellas, acompañando cada una con su probabilidad. Úsalo cuando el flujo necesita decidir algo antes de seguir. Por ejemplo:
Este paso funciona con los modelos System One de TypeSafe AI, especializados en decisiones tipadas. Las preguntas y las respuestas usan su mismo formato, así que su documentación aplica tal cual. Las respuestas típicas tardan alrededor de 300 ms.

El ciclo completo

Antes de la referencia, así se ve de principio a fin con una sola pregunta. 1. Defines el paso. state son los datos a evaluar y questions lo que quieres saber de ellos. El nombre de cada pregunta lo eliges tú:
2. El paso responde. El resultado trae una entrada por pregunta, con el nombre que le pusiste:
3. El siguiente paso lo usa. Se lee con {{steps.N.output...}}, donde N es la posición del paso que produjo el resultado, empezando en 0:
En un caso real, state viene del trigger o de un paso anterior en vez de ir escrito a mano. Las rutas disponibles están en Variables y contexto:

Los tres tipos de pregunta

noul es el nombre que TypeSafe AI le da a su pregunta de sí/no, y su respuesta es un número: qué tan probable es que la afirmación sea cierta. 0.95 es un sí con pocas dudas, 0.5 significa que el modelo no puede distinguir. Tú eliges a partir de qué valor actuar.
Haz preguntas atómicas. En lugar de “¿es urgente y de facturación?”, usa dos preguntas: una choice para el tema y una score para la urgencia. Cada una se evalúa mejor por separado.
Un mismo paso admite hasta 20 preguntas y las resuelve todas en una sola llamada. Agrupa ahí todas las que se refieran al mismo texto.

Campos del paso

El paso tiene dos campos, y los dos son obligatorios. Los nombres de las preguntas se vuelven las llaves del resultado, así que usa identificadores simples: letras, números y guion bajo, empezando por letra (tema, requiereHumano, nivel_riesgo).

Campos de cada pregunta

Ejemplo con varias preguntas

Describe cada nivel de un score con una situación concreta. Entre “Trámite normal, se atiende esta semana” y “Nivel 1” hay una diferencia grande en la calidad del resultado.

Campos del resultado

Decidir con el resultado

Los pasos se ejecutan en orden, así que este paso responde y los siguientes actúan. Cuando la acción depende de qué tan segura sea la respuesta, resuélvelo en un paso Ejecutar JavaScript:
Ese 0.6 y ese 0.7 son decisiones de tu operación. Elígelos con ejemplos reales de tu tráfico: empieza por la consecuencia, porque mandar un caso a la fila equivocada cuesta distinto que enviarle algo incorrecto a un cliente. Mide cuántos casos deja pasar mal antes de fijarlos.
probabilities y confidence miden cosas distintas. La probabilidad dice qué tan probable es esa opción; la confianza dice qué tan concentrada está la respuesta entre todas las opciones. Una opción puede ganar con 0.4 mientras las otras tres se reparten el resto: gana, pero la respuesta no es concluyente. Ahí es donde la confianza baja te avisa.

Buenas prácticas

  • Manda solo lo que la pregunta necesita. Apunta state al campo específico en vez de pasar el objeto completo. Menos ruido produce mejores respuestas y cuesta menos.
  • Agrupa las preguntas del mismo texto en un solo paso. Se resuelven juntas y en una sola llamada.
  • Usa confidence para saber cuándo escalar a una persona en lugar de actuar sobre una respuesta repartida.
  • Deja las reglas deterministas en código. Si algo se resuelve con una fecha o una comparación, hazlo en un paso de JavaScript.

Errores frecuentes

Profundizar en el modelo

Los tipos de pregunta y los campos de respuesta usan la misma nomenclatura que TypeSafe AI, así que su documentación de primitivos y de confianza aplica tal cual a este paso. Ve ahí si quieres entender cómo se calculan las probabilidades o cómo redactar mejores criteria. La versión del modelo queda fija del lado del servidor, para que el comportamiento de tus automatizaciones no cambie sin aviso.

Relacionado