La Estructura de Datos de la IA
En NappAI, especialmente al trabajar con Agentes, la “estructura de datos” es a menudo un objeto JSON dinámico que representa el estado de la conversación.
El Estado del Agente
Piensa en el Agente como un cerebro que mantiene una “memoria” de trabajo. Esta memoria es un objeto que contiene información clave:
- La entrada del usuario.
- El historial de la conversación.
- Los resultados de las herramientas que ha utilizado.
- Su “plan” o próximos pasos.
Paso de Datos: Agente → Herramienta → Agente
El flujo de datos más común en un sistema de IA es el siguiente:
- El Agente recibe una entrada: Por ejemplo, un objeto
{"input": "Busca el último correo de Juan"}. - El Agente decide usar una herramienta: Analiza la entrada y determina que debe usar la herramienta
Obtener Correos. - El Agente prepara los datos para la herramienta: Crea un nuevo objeto con los parámetros que la herramienta necesita, por ejemplo
{"from": "Juan", "limit": 1}. - La herramienta devuelve un resultado: La herramienta
Obtener Correosse ejecuta y devuelve un objeto JSON con los datos del correo, por ejemplo{"subject": "Reporte Semanal", "body": "..."}. - El Agente sintetiza la respuesta: El Agente recibe este resultado, lo procesa y genera una respuesta final en lenguaje natural.
Entender este ciclo es clave para depurar flujos y diseñar agentes que puedan manejar tareas complejas.
Trabajando con Datos de IA
Aprende a manejar los tipos de datos más comunes en flujos de IA, desde texto y archivos hasta embeddings.
Un Agente de IA es tan bueno como los datos que puede entender. En NappAI, puedes trabajar con una variedad de tipos de datos, cada uno con un propósito específico.
Texto (String)
Es el tipo de dato más fundamental. Es la base para las entradas de usuario, las respuestas del LLM y la mayoría de las interacciones con APIs.
Archivos (Binarios y su Transporte)
Un Agente no maneja archivos directamente, sino que delega esta tarea a Herramientas (Tools) especializadas, como un Google Drive Loader.
- El Proceso Conceptual:
- El Agente recibe una orden como “resume el documento ‘reporte-anual.pdf’”.
- El Agente llama a la herramienta
Google Drive Loadercon el nombre del archivo. - La herramienta busca, descarga y convierte el archivo a texto plano.
- La herramienta devuelve el texto al Agente para que lo procese.
El Manejo de Formatos: Base64 y Binario
Aquí es donde ocurre un paso técnico importante:
- Descarga en Base64: Cuando un componente como
Google Drive File Managerdescarga 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. - Procesamiento en Binario: El texto en Base64 se envía al siguiente componente en el flujo (por ejemplo, un
Parse Datao unLoader). 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.
Listas (Arrays) e Iteraciones
Es muy común que una herramienta o una API no devuelva un solo dato, sino una lista (o array) de ellos. Por ejemplo, una búsqueda de archivos puede devolver 10 documentos, o una consulta a una base de datos puede devolver 50 registros de clientes. En NappAI, tienes dos métodos principales para procesar cada elemento de una lista:
- Procesamiento por Lotes (Batch Mode )
- Iteraciones con Bucles (Componente Loop)
Datos Estructurados (JSON)
JSON (JavaScript Object Notation) es el lenguaje universal para el intercambio de datos entre APIs, herramientas y componentes en NappAI. Mientras que el texto plano es simple, el JSON permite enviar información rica y anidada.
- ¿Qué es?: Es un formato de texto que organiza los datos en pares de
clave: valor, permitiendo estructuras complejas. Por ejemplo, en lugar de solo “Madrid”, una API podría devolver:{"ciudad": "Madrid", "pais": "España", "temperatura": 25}. - ¿Cómo se usa?: Cuando un Agente utiliza una herramienta, esta casi siempre devolverá su resultado en formato JSON. Para acceder a un dato específico, necesitas “navegar” por su estructura. Por ejemplo, para obtener la ciudad del JSON anterior, accederías a la clave
ciudad. - Herramienta Clave en NappAI: El componente
Parse Dataes tu principal aliado para trabajar con JSON. Te permite extraer valores específicos de una estructura compleja (ej:user.address.city), transformarlos y pasarlos a otros componentes en el formato que necesites.
Embeddings (Vectores)
Este es un concepto avanzado pero crucial en IA.
- ¿Qué son?: Un “embedding” es una representación numérica (un vector) del significado semántico de un texto. Textos con significados similares tendrán vectores numéricos cercanos.
- ¿Para qué se usan?: Son la base de la búsqueda por similitud. En un flujo RAG (Generación Aumentada por Recuperación), conviertes tus documentos en embeddings y los almacenas en una Base de Datos Vectorial. Cuando un usuario hace una pregunta, conviertes la pregunta en un embedding y buscas en la base de datos los fragmentos de texto con los vectores más cercanos, encontrando así la información más relevante para responder.
División Inteligente (Ramificación)
Como se detalla en la guía de Lógica de Flujo, un Agente puede tomar decisiones dinámicas. En lugar de un “IF” basado en una regla simple, el Agente puede enrutar el flujo basándose en la intención del usuario.
- Ejemplo Práctico: Un agente de atención al cliente recibe un mensaje. Si el LLM detecta un sentimiento de “frustración” o “enojo”, el Agente puede decidir invocar la herramienta “Escalar a un Humano”. Si detecta una “pregunta técnica”, invocará la herramienta “Buscar en la Base de Conocimiento”. … Si detecta una “pregunta técnica”, invocará la herramienta “Buscar en la Base de Conocimiento”.
Este patrón de enrutamiento se implementa en NappAI combinando un Agente clasificador con el componente Switch, que dirige el flujo al camino correcto según la palabra generada por el Agente.
Fusión Cognitiva (Síntesis)
Este es uno de los superpoderes de los Agentes. Un Agente puede consultar múltiples herramientas y, en lugar de simplemente fusionar los datos, los sintetiza en una respuesta unificada.
- Ejemplo Práctico:
- Usuario: “¿Qué tiempo hará mañana en Barcelona y mi vuelo sale a tiempo?”
- El Agente invoca la Herramienta de Clima y obtiene
{"ciudad": "Barcelona", "previsión": "lluvia"}. - El Agente invoca la Herramienta de Vuelos y obtiene
{"vuelo": "IB123", "estado": "a tiempo"}. - Síntesis: El Agente no te muestra los dos JSON. Genera una respuesta natural: “Tu vuelo IB123 a Barcelona está programado a tiempo, pero te recomiendo llevar un paraguas porque se espera lluvia”.
Automatizaciones Híbridas
Combina la IA con herramientas tradicionales.
Los casos de uso más valiosos a menudo combinan la inteligencia de la IA con las herramientas de negocio que ya utilizas.
Automatización Híbrida: IA + Herramientas Externas
Una automatización híbrida es un flujo donde un Agente de IA toma decisiones que son ejecutadas por componentes no-IA.
- Ejemplo Práctico: Reporte de Ventas Automatizado
- Un Programador ejecuta el flujo cada día a las 9 AM.
- Un componente SQL consulta tu base de datos y obtiene las ventas del día anterior.
- Un Agente de IA recibe los datos de ventas en formato JSON. Su tarea es analizar los datos y escribir un resumen ejecutivo en lenguaje natural destacando las tendencias clave.
- Un componente Slack Sender toma el resumen generado por el agente y lo publica en el canal
#ventasdel equipo.