Saltearse al contenido

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:

  1. El Agente recibe una entrada: Por ejemplo, un objeto {"input": "Busca el último correo de Juan"}.
  2. El Agente decide usar una herramienta: Analiza la entrada y determina que debe usar la herramienta Obtener Correos.
  3. 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}.
  4. La herramienta devuelve un resultado: La herramienta Obtener Correos se ejecuta y devuelve un objeto JSON con los datos del correo, por ejemplo {"subject": "Reporte Semanal", "body": "..."}.
  5. 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)

Un Agente no maneja archivos directamente desde una entrada de chat, sino que utiliza Herramientas (Tools) para interactuar con ellos. Por ejemplo, puedes conectar un componente como Google Drive Loader 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 identifica que necesita acceder a Google Drive y llama a la herramienta Google Drive Loader, pasándole el nombre del archivo.
    3. La herramienta se encarga de buscar, descargar y convertir el archivo (PDF, DOCX, etc.) en texto plano.
    4. La herramienta devuelve el texto extraído al Agente para que este pueda procesarlo (resumirlo, analizarlo, etc.).

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”.

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:
    1. Usuario: “¿Qué tiempo hará mañana en Barcelona y mi vuelo sale a tiempo?”
    2. El Agente invoca la Herramienta de Clima y obtiene {"ciudad": "Barcelona", "previsión": "lluvia"}.
    3. El Agente invoca la Herramienta de Vuelos y obtiene {"vuelo": "IB123", "estado": "a tiempo"}.
    4. 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
    1. Un Programador ejecuta el flujo cada día a las 9 AM.
    2. Un componente SQL consulta tu base de datos y obtiene las ventas del día anterior.
    3. 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.
    4. Un componente Slack Sender toma el resumen generado por el agente y lo publica en el canal #ventas del equipo.