Saltearse al contenido

Lógica de Flujo

En NappAI, la lógica de flujo combina estructuras clásicas de automatización con razonamiento impulsado por IA a través de agentes inteligentes y cadenas de pensamiento (chains).

Cada flujo no solo ejecuta pasos predefinidos, sino que piensa, decide y adapta su comportamiento según el contexto y los datos que recibe.

Razonamiento Condicional (Equivalente a “IF”)

En NappAI, la lógica condicional (“si pasa esto, haz aquello”) se puede abordar de dos maneras principales: una basada en reglas fijas y otra impulsada por la inteligencia artificial.

1. Condicional Basado en Reglas Fijas (Componente Switch)

Para una lógica de reglas claras y predefinidas, se utiliza el componente Switch. Este es el equivalente directo a una declaración “IF” tradicional.

  • Funcionamiento: El componente Switch evalúa un dato de entrada y, basándose en condiciones que tú defines (ej: si el valor es > 10 o si el texto contiene "urgente"), dirige el flujo por una de varias salidas que has configurado.

2. Enrutamiento Basado en Intención (Agente + Switch)

Para una lógica más avanzada y flexible, puedes combinar la inteligencia de un Agente con la estructura de un Switch. En este patrón, el Agente no es el que enruta, sino el que decide a dónde enrutar.

  • Funcionamiento:
    1. Un Agente se configura para actuar como un “clasificador”. Su única tarea es analizar la entrada (ej: el correo de un cliente) y devolver una única palabra o categoría (ej: “Soporte”, “Ventas”, “Urgente”).
    2. La salida de texto de este Agente se conecta a la entrada de un componente Switch.
    3. El Switch luego utiliza esa palabra para dirigir el flujo a la rama correcta (ej: la rama de “Soporte Urgente”), ejecutando la lógica de forma simple y ordenada.

Este enfoque combina el poder de la IA para entender el significado con la estructura robusta del Switch para controlar el flujo.

Iteraciones Inteligentes (Equivalente a “Loop”)

El concepto de bucle (Loop) en NappAI funciona de manera similar a la automatización tradicional, permitiéndote procesar cada elemento de una lista. Un componente de bucle recibirá una lista como entrada y ejecutará una serie de acciones para cada elemento de esa lista.

  • Salida Done: Una característica clave es que el componente de bucle debe tener una salida Done (o similar). Esta salida se activa una vez que se han procesado todos los elementos de la lista, permitiendo que el resto del flujo continúe de manera ordenada después de que el bucle haya finalizado su trabajo.

Fusión y Síntesis de Datos (Equivalente a “Merge”)

En NappAI, la combinación de datos de diferentes ramas de un flujo puede realizarse de dos maneras principales: a través de componentes de fusión manual o mediante la síntesis inteligente de un Agente.

Fusión Manual con Componentes

Para un control total y explícito sobre cómo se combinan los datos, puedes usar una variedad de componentes diseñados para esta tarea:

  • Prompt o Parse Data: Estos componentes son excelentes para fusionar texto. Puedes usar sus plantillas para tomar variables de diferentes entradas y combinarlas en una única cadena de texto con el formato exacto que necesitas.
  • Merge Data: Este componente está diseñado específicamente para fusionar objetos de datos (JSON). Puedes configurar cómo se combinan los campos de dos o más entradas en un único objeto de salida.
  • Combine Text: Similar a Parse Data, este componente está optimizado para unir múltiples cadenas de texto, a menudo con un separador definido.

Este método es ideal cuando sabes exactamente cómo quieres que se unan los datos y no se requiere un razonamiento complejo.

Síntesis Cognitiva con Agentes

Cuando necesitas que la fusión sea más que una simple unión de datos, un Agente realiza una síntesis cognitiva. Recibe información de múltiples herramientas y, en lugar de solo juntarla, la entiende, la razona y la reformula en una única respuesta coherente y contextualizada.

  • Ejemplo Práctico: Imagina que le pides a un agente: “Hazme un resumen de la empresa NappAI y busca sus noticias más recientes”.
    1. El Agente recibe la petición.
    2. Invoca la herramienta Web Scraper para extraer la descripción desde la página “Sobre Nosotros” de NappAI.
    3. Paralelamente, invoca la herramienta Google Search con la consulta “noticias sobre NappAI” para obtener los titulares recientes.
    4. Síntesis: El Agente recibe ambos grupos de datos (la descripción de la empresa y la lista de noticias) y, en lugar de mostrarte los datos en crudo, genera una respuesta unificada y fluida

Sub-flujos como Herramientas

La modularidad y la reutilización de la lógica se logran convirtiendo Proyectos completos en herramientas. En NappAI, esto se consigue mediante el componente Sub Project Flow.

  • Funcionamiento: Al añadir el componente Sub Project Flow a tu lienzo, podrás seleccionar un Proyecto que ya hayas guardado. Este componente convierte ese Proyecto entero en una única Tool que puede ser utilizada por un Agente en otro flujo.

El Agente no necesita conocer los detalles internos del sub-proyecto; simplemente lo invoca como una “caja negra” para realizar una tarea compleja, haciendo tus Proyectos principales más limpios y organizados.

Flujo Adaptable (Equivalente a “Orden de Ejecución”)

En los flujos tradicionales, el orden de ejecución es rígido y está definido por las conexiones. Con un Agente de NappAI, el flujo de trabajo es adaptable. El Agente crea un plan de ejecución dinámico basado en la solicitud del usuario. Puede decidir llamar a la Herramienta A y luego a la C, o empezar con la B, dependiendo de lo que sea más lógico para resolver el problema.

Archivos (Binarios y Base64)

Trabajar con archivos es una capacidad clave en NappAI. Es fundamental entender cómo se manejan los datos de los archivos dentro de la plataforma.

El Rol de las Herramientas

Un Agente no maneja archivos directamente, sino que utiliza Herramientas (Tools) para interactuar con ellos. Por ejemplo, puedes conectar un componente como Google Drive File Manager como una herramienta a tu agente.

  • El Proceso:
    1. El Agente recibe una instrucción como “resume el documento ‘reporte-anual.pdf’ que está en mi Drive”.
    2. El Agente llama a la herramienta Google Drive File Manager con el nombre del archivo.

El Manejo de Formatos: Base64 y Binario

Aquí es donde ocurre un paso técnico importante:

  1. Descarga en Base64: Cuando un componente como Google Drive File Manager descarga un archivo, lo convierte a formato Base64. Base64 es una forma de codificar datos binarios en texto plano, lo cual facilita su transmisión a través de APIs y dentro del flujo de NappAI.
  2. Procesamiento en Binario: El texto en Base64 se envía al siguiente componente en el flujo (por ejemplo, un Parse Data o un Loader). Este componente receptor está diseñado para decodificar automáticamente el Base64 y procesar el contenido como datos binarios para extraer el texto o la información relevante.

En resumen, aunque los archivos se transmiten como Base64 entre componentes, los componentes de procesamiento de archivos están construidos para entender y trabajar con el contenido binario original. Como usuario, generalmente no necesitas preocuparte por esta conversión, pero es útil saberlo para depurar problemas o construir flujos personalizados.