Crea y Vende Agentes de IA n8n (Curso de 8+ Horas, Sin Código)
Esta nota de insights de YouTube fue creada con LilysAI. Regístrate gratis y obtén insights 10× más rápidos y profundos de los videos.
Q: ¿Qué ofrece este curso de n8n y para quién es?
¿Cómo puedes construir y vender agentes de IA sin código? n8n te permite crear más de 15 automatizaciones de IA funcionales, desde la configuración de API hasta sistemas multiagente, sin necesidad de programar.
1. Introducción al curso y a los agentes de IA
Este curso transforma a los principiantes en constructores de agentes de IA sin código utilizando n8n, cubriendo desde la configuración de la API hasta los sistemas multiagente.1.1. Agenda del curso y oportunidades de la IA
- El curso está diseñado para llevar a los principiantes a construir potentes agentes de IA sin código, sin necesidad de experiencia en programación .
- El instructor ha generado más de medio millón de dólares en ingresos construyendo y enseñando a otros a crear agentes de IA en los últimos ocho meses .
- El curso incluye la configuración de una prueba gratuita de 2 semanas, la configuración de credenciales y la creación de más de 15 automatizaciones de IA funcionales .
- La agenda del curso es exhaustiva y se recomienda guardarla para futuras consultas, ya que cubre varios capítulos .
- El curso comienza discutiendo los agentes de IA y las oportunidades actuales, luego pasa a los fundamentos de n8n, incluyendo la configuración de la prueba gratuita y la familiarización con la interfaz de usuario .
- Las secciones posteriores cubren flujos de trabajo paso a paso, API, solicitudes HTTP, herramientas de agentes de IA, memoria, arquitecturas multiagente, webhooks, servidores MCP, autoalojamiento de n8n y lecciones aprendidas en los primeros seis meses de construcción de agentes de IA .
1.2. Comprensión de los agentes de IA y los flujos de trabajo
- Existe un gran revuelo en torno a los agentes de IA, y esta sección tiene como objetivo aclarar qué son, qué pueden hacer y por qué son necesarios .
- Los modelos de lenguaje grandes (LLM), como ChatGPT, son el núcleo de los agentes de IA, pero por sí solos no pueden realizar acciones .
- La verdadera potencia de los LLM se manifiesta cuando se les expone a diferentes herramientas, que son integraciones que permiten realizar acciones como enviar correos electrónicos o actualizar bases de datos .
- La combinación de un LLM con herramientas puede dar lugar a flujos de trabajo de IA o agentes de IA .
- Un flujo de trabajo de IA sigue pasos lineales y predecibles, como recibir un cliente potencial, investigarlo, redactar un correo electrónico personalizado y enviarlo .
- Un agente de IA tiene la capacidad de tomar decisiones y actuar de forma autónoma, utilizando su "cerebro" (LLM) para decidir qué herramientas usar en función de las entradas .
- Los flujos de trabajo de IA son más fiables, rentables, fáciles de depurar y mantener, y escalables que los agentes de IA para procesos predecibles .
- El curso comenzará con la construcción de flujos de trabajo de IA antes de pasar a los agentes de IA, siguiendo el concepto de "gatear, caminar, correr" .
1.3. Anatomía de un agente de IA
- Un agente de IA se compone de una entrada, un LLM (el "cerebro") y una salida, con dos componentes principales dentro del agente: un cerebro e instrucciones .
- El cerebro del agente de IA incluye un modelo de lenguaje grande (como OpenAI, Anthropic o Google) para la toma de decisiones y el razonamiento, y memoria (a corto y largo plazo) para retener el contexto de las conversaciones .
- Las instrucciones del agente de IA, también conocidas como prompt del sistema, definen su rol, sus tareas y las herramientas a las que tiene acceso, actuando como una descripción de trabajo .
- El prompt del sistema es diferente de la entrada (o prompt del usuario), que es dinámica y cambia con cada interacción, mientras que el prompt del sistema suele permanecer constante .
- Cuando se recibe una entrada (por ejemplo, "Ayúdame a enviar un correo electrónico a John"), el agente utiliza su cerebro para entenderla, consulta su memoria para interacciones relevantes, revisa sus instrucciones para saber cómo proceder y luego utiliza una herramienta para realizar la acción .
2. Oportunidades de la industria y fundamentos de n8n
Esta sección explora el crecimiento de la IA en los negocios y proporciona una introducción práctica a la interfaz de n8n, los flujos de trabajo, los nodos, los tipos de datos y JSON.
2.1. El auge de la IA en los negocios
- La IA ha pasado de ser una tecnología experimental a un motor clave de ventaja competitiva en todas las industrias y tamaños de empresas en el último año .
- El 75% de las pequeñas empresas utilizan ahora herramientas de IA, y las tasas de adopción están creciendo más rápidamente entre las empresas que generan más de un millón de dólares en ingresos (86%) .
- La inversión anual media en IA para las pequeñas empresas es de solo 1.800 dólares, lo que demuestra la accesibilidad de esta tecnología .
- La IA está generando resultados concretos: los equipos de marketing ven un aumento del 22% en el ROI de las campañas impulsadas por IA, los agentes de IA de atención al cliente reducen el tiempo de respuesta en un 60% y resuelven el 80% de las consultas sin intervención humana, y las cadenas de suministro optimizadas con IA reducen los costos de transporte entre un 5% y un 10% .
- Ejemplos de pequeñas empresas incluyen Henry's House of Coffee, que mejoró las clasificaciones de búsqueda en un 200% y los ingresos en un 25% con herramientas de SEO impulsadas por IA, y Vanisec Insurance, que redujo el tiempo de resolución de consultas de clientes de 48 horas a 15 minutos con chatbots personalizados .
- Las empresas con equipos capacitados en IA experimentan una rentabilidad entre un 5% y un 8% mayor, y las pequeñas empresas que utilizan IA reportan un crecimiento de ingresos un 91% mayor que las que no la adoptan, lo que indica una oportunidad significativa para quienes desarrollen estas habilidades ahora .
2.2. Configuración de n8n y familiarización con la interfaz de usuario
- n8n permite automatizar cualquier proceso de negocio de forma visual y sin código, ofreciendo una amplia gama de integraciones, nodos nativos para la transformación de datos y cientos de plantillas .
- Para empezar, los usuarios pueden registrarse para una prueba gratuita de 14 días, que no requiere detalles de facturación y permite crear automatizaciones y usar plantillas .
- El proceso de registro incluye la introducción de información básica y la selección de detalles del equipo y la empresa .
- La interfaz de n8n muestra un panel de control con información sobre la prueba gratuita, las ejecuciones utilizadas y las opciones de navegación como "Overview", "Projects" y "Admin Panel" .
- Para acceder a las API de servicios como Gmail u OpenAI, se deben configurar credenciales, que son como contraseñas .
- Un ejemplo de configuración de credenciales se muestra con OpenAI, donde se reclaman 100 créditos gratuitos para el modelo de OpenAI, lo que permite que un agente de IA procese mensajes y responda .
2.3. Creación y gestión de flujos de trabajo en n8n
- Para crear un nuevo flujo de trabajo, se hace clic en "Create Workflow", se le asigna un nombre y se puede guardar en proyectos o etiquetarlo para su organización .
- Cada flujo de trabajo debe comenzar con un disparador que inicie el proceso, como un disparador manual, un evento (por ejemplo, un nuevo mensaje), un horario, una llamada de webhook o un mensaje de chat .
- Después de un nodo disparador, se pueden añadir diferentes tipos de nodos, como nodos de acción, nodos de transformación de datos o nodos de IA, haciendo clic en el botón "+" .
- n8n ofrece una amplia gama de integraciones nativas con aplicaciones como Google Drive, y para conectarse a ellas, se requiere una credencial .
- Dentro de un nodo, hay tres paneles principales: el panel de entrada (datos que entran), la configuración (ajustes y opciones) y el panel de salida (resultados del nodo) .
2.4. Ejemplo de flujo de trabajo con OpenAI y manejo de datos
- Se demuestra un flujo de trabajo simple utilizando un nodo de OpenAI para enviar un mensaje a un modelo de chat, como GPT-4.1 Mini .
- Para usar los modelos de OpenAI, se necesita una clave API de OpenAI, que se obtiene creando una cuenta de API (diferente de una cuenta de ChatGPT) y configurando la información de facturación .
- Una vez que se tiene la clave API, se crea una nueva credencial en n8n, se pega la clave y se le da un nombre para diferenciarla de otras credenciales .
- Con la credencial configurada, se puede seleccionar un modelo de OpenAI (por ejemplo, GPT-4.1 Mini) y escribir un prompt, como "cuéntame un chiste" .
- Al probar el paso, el nodo ejecuta la solicitud y devuelve una salida, que se puede ver en formato Schema, Table o JSON; el formato Schema se considera el más simple y natural .
- La salida de un nodo se puede referenciar en nodos posteriores utilizando variables, que se envuelven en llaves rizadas y se representan como
JSON.message.contentpara acceder a datos específicos . - Se muestra un ejemplo de cómo un disparador de chat puede enviar una entrada dinámica a un nodo de OpenAI, permitiendo que el modelo responda a mensajes de usuario cambiantes, como una historia personalizada .
2.5. Comprensión de JSON y ejecuciones de flujos de trabajo
- JSON (JavaScript Object Notation) es un formato universal para identificar datos, que se basa en pares clave-valor y es fundamental para la construcción de flujos de trabajo en n8n, ya que incluso los flujos de trabajo se representan como archivos JSON .
- Los modelos de lenguaje grandes, como ChatGPT, están entrenados en JSON y pueden ayudar a los usuarios a entender o crear estructuras JSON, lo que simplifica su uso para los no programadores .
- La interfaz de n8n permite arrastrar y soltar elementos desde las vistas Schema, Table o JSON, lo que facilita la manipulación de datos .
- La sección "Executions" en n8n muestra un historial de todas las veces que se ha ejecutado un flujo de trabajo, permitiendo a los usuarios ver los datos que se movieron a través de cada nodo en un momento específico .
- Las plantillas de flujos de trabajo se pueden importar desde el sitio web de n8n o desde comunidades, y a menudo se basan en archivos JSON que se descargan y luego se importan a un nuevo flujo de trabajo en n8n .
- La diferencia entre flujos de trabajo inactivos y activos es crucial: un flujo de trabajo activo se ejecuta automáticamente según su disparador (por ejemplo, un horario), mientras que uno inactivo solo se ejecuta manualmente al hacer clic en "Test Workflow" .
- Los datos binarios, como imágenes, PDF o archivos de video, se manejan de manera diferente a los datos basados en texto; aunque se pueden ver en las vistas Schema, Table o JSON, el archivo real solo es accesible a través de la vista Binary .
3. Tipos de datos en n8n y construcción de flujos de trabajo de IA paso a paso
Esta sección detalla los cinco tipos de datos principales en n8n y guía a través de la construcción de tres flujos de trabajo de IA: un chatbot RAG, un flujo de trabajo de atención al cliente y un creador de contenido de LinkedIn.
3.1. Tipos de datos en n8n
- Los cinco tipos de datos principales en n8n son:
- String: Representa texto, como un nombre, y se identifica por comillas dobles alrededor del valor en JSON o por una "a" minúscula en la vista de esquema .
- Number: Representa valores numéricos, como la edad, y se identifica por no tener comillas dobles y ser de color verde en JSON, o por un signo de almohadilla en la vista de esquema .
- Boolean: Representa valores de verdadero o falso, y se identifica por ser de color verde sin comillas en JSON, o por una casilla de verificación en la vista de esquema .
- Array: Representa una lista de elementos, y se identifica por corchetes cuadrados
[]que encierran los elementos en JSON; cada elemento dentro del array también debe estar entre comillas si es una cadena . - Object: Representa un bloque de datos que puede contener strings, números, booleanos, arrays e incluso otros objetos anidados; se identifica por llaves rizadas
{}en JSON .
- Es crucial entender los tipos de datos para evitar errores en los flujos de trabajo, ya que las operaciones (como filtros o sumas) requieren tipos de datos específicos; por ejemplo, no se pueden realizar operaciones numéricas en una cadena que represente un número .
- Los objetos son más complejos que los arrays porque los elementos dentro de un objeto pueden tener diferentes nombres de campo (claves), mientras que los elementos de un array se indexan numéricamente (0, 1, 2) .
- ChatGPT puede ser una herramienta útil para generar o comprender estructuras JSON, lo que simplifica el manejo de objetos complejos .
3.2. Flujo de trabajo 1: Pipeline RAG y Chatbot
- El primer flujo de trabajo que se construirá es un pipeline de Generación Aumentada por Recuperación (RAG) y un chatbot, que permite al chatbot buscar respuestas en una base de datos cuando no las conoce .
- Un vector database (base de datos vectorial) almacena datos como puntos en un espacio multidimensional, donde la proximidad de los puntos indica la similitud de significado de las palabras o frases .
- Cuando se realiza una búsqueda, la consulta se "vectoriza" y se compara con los vectores existentes en la base de datos para encontrar los resultados más cercanos y relevantes .
- El proceso RAG implica dividir un documento en fragmentos, convertirlos en números (vectores) mediante un modelo de incrustación y almacenarlos en una base de datos vectorial .
- Cuando un LLM recibe una pregunta, la vectoriza, la compara con los vectores almacenados y recupera los más relevantes para formular una respuesta .
- Este flujo de trabajo utilizará Pinecone como base de datos vectorial, Google Drive y Google Docs para los documentos, y OpenRouter para conectar a varios modelos de IA .
3.3. Configuración de Google Drive y Pinecone para RAG
- El flujo de trabajo comienza con un disparador de Google Drive que se activa "On changes involving a specific folder" para extraer documentos .
- Para conectar Google Drive, se deben crear credenciales de OAuth 2.0 en la Consola de Google Cloud, habilitando la API de Google Drive y configurando una pantalla de consentimiento de OAuth .
- Se crea un nuevo proyecto en Google Cloud, se habilita la API de Google Drive, se configura la pantalla de consentimiento de OAuth (con un nombre y un correo electrónico de soporte) y se añade un usuario de prueba .
- Se crea un nuevo cliente de aplicación web en Google Cloud, se añade una URI de redirección proporcionada por n8n, y se copian el ID de cliente y el secreto de cliente para pegarlos en las credenciales de n8n .
- Una vez conectado Google Drive, se selecciona la carpeta deseada (por ejemplo, "FAQ") y se configura el disparador para "File created" .
- Después del disparador, se añade un nodo de Google Drive "Download File" para obtener el contenido binario del archivo, utilizando el ID del archivo del disparador para hacerlo dinámico .
- Para Pinecone, se crea una cuenta gratuita, se inicia la configuración de un índice (nombrándolo y eligiendo un modelo de incrustación como "Text Embedding Ada 2" de OpenAI) y se crea una clave API .
- En n8n, se añade un nodo "Pinecone Vector Store", se selecciona la operación "Add documents to a vector store", se configura una nueva credencial con la clave API de Pinecone y se elige el índice y un namespace (por ejemplo, "FAQ") para organizar los datos .
- Se añade un nodo "Embeddings, OpenAI" para el modelo de incrustación (asegurándose de que coincida con el modelo elegido en Pinecone) y se configura con una clave API de OpenAI .
- Se añade un nodo "Default Data Loader" configurado para datos binarios (ya que el documento de Google Drive es binario) y un nodo "Recursive Character Text Splitter" para dividir el documento en fragmentos .
- Al ejecutar el nodo "Pinecone Vector Store", el documento se vectoriza y se almacena en Pinecone, lo que se puede verificar en la interfaz de Pinecone y en los registros de n8n .
3.4. Creación de un chatbot RAG con agente de IA
- Para crear un chatbot, se añade un nodo "AI Agent" y un disparador de chat para interactuar con él a través de la ventana de chat de n8n .
- Se configura el "cerebro" del agente añadiendo un nodo "OpenRouter Chat Model", que permite elegir entre varios modelos de IA (como Claude, Google PaLM o Anthropic) con una sola clave API de OpenRouter .
- Se añade una herramienta "Pinecone Vector Store" al agente, se le da un nombre (por ejemplo, "knowledge base") y una descripción ("Call this tool to access the policy and FAQ database") para que el agente sepa cuándo usarla .
- Se selecciona el índice y el namespace correctos (por ejemplo, "FAQ") en la configuración de la herramienta Pinecone para asegurar que el agente busque en el lugar adecuado .
- Se añade un nodo "Embeddings, OpenAI" a la herramienta Pinecone, utilizando el mismo modelo de incrustación que se configuró previamente .
- Al interactuar con el chatbot (por ejemplo, preguntando "¿Cuál es nuestra política de garantía?"), el agente utiliza su base de conocimientos vectorial para recuperar la información relevante y responder .
- Se puede refinar el comportamiento del agente añadiendo un prompt del sistema que le indique su rol y cuándo usar la herramienta de base de conocimientos .
3.5. Flujo de trabajo 2: Atención al cliente con IA
- El flujo de trabajo de atención al cliente se activa con un disparador de Gmail "On message received" .
- Para conectar Gmail, se deben habilitar las credenciales de OAuth 2.0 en la Consola de Google Cloud, asegurándose de que la API de Gmail esté habilitada .
- Se configura el disparador de Gmail para obtener el contenido completo del correo electrónico (desactivando la opción "Simplify") y se "fija" el evento de prueba para facilitar las pruebas .
- Se añade un nodo "Text Classifier" para que la IA lea el correo electrónico entrante y determine si está relacionado con "Customer Support" o "Other", utilizando un modelo de chat (por ejemplo, OpenAI) .
- Se definen las categorías de clasificación (por ejemplo, "Customer Support" y "Other") con descripciones para guiar a la IA .
- El flujo de trabajo se bifurca según la clasificación: si es "Customer Support", se añade un nodo "AI Agent" para redactar una respuesta; si es "Other", se puede añadir un nodo "Do Nothing" .
- El agente de IA se configura para leer el contenido del correo electrónico (extraído del disparador de Gmail) y se le proporciona un prompt del sistema que define su rol (agente de soporte de TechHaven), las instrucciones de respuesta (amigable, emojis, firmar como "Mr. Helpful") y el formato de salida (solo el cuerpo del correo electrónico) .
- Se conecta un modelo de chat (por ejemplo, Google Gemini 2.0 Flash a través de OpenRouter) y se añade una herramienta "Pinecone Vector Store" (llamada "KnowledgeBase") para que el agente acceda a la base de datos de políticas y preguntas frecuentes .
- Si el agente encuentra un error en el modelo de chat (por ejemplo, un problema con la clave API), se puede cambiar a un modelo de chat de OpenAI para solucionar el problema .
- El agente redacta una respuesta basada en la consulta del correo electrónico y la información de la base de conocimientos, siguiendo las instrucciones del prompt del sistema (tono amigable, emojis, firma) .
- Finalmente, se añade un nodo de Gmail "Reply to a message" para enviar la respuesta del agente al remitente original, utilizando el ID del mensaje del disparador de Gmail para mantener el hilo de conversación y el contenido del cuerpo del correo electrónico generado por el agente .
- Se puede añadir funcionalidad adicional, como etiquetar el correo electrónico como "Customer Support" en Gmail, o crear ramas para otros tipos de correos electrónicos (finanzas, etc.) .
3.6. Flujo de trabajo 3: Creador de contenido de LinkedIn
- El flujo de trabajo de creación de contenido de LinkedIn idealmente comenzaría con un disparador de horario (por ejemplo, todos los días a las 7:00 a.m.) para generar publicaciones automáticamente, pero para la demostración se utiliza un disparador manual .
- Se añade un nodo de Google Sheets "Get rows" para extraer ideas de contenido de una hoja de cálculo de LinkedIn Posts, filtrando por filas donde el estado es "to-do" y devolviendo solo la primera fila coincidente .
- Se añade un nodo "HTTP Request" para realizar una búsqueda web utilizando la API de Tably, que permite buscar en Internet y obtener 1.000 búsquedas gratuitas al mes .
- Para configurar la solicitud HTTP de Tably, se copia el comando cURL de la documentación de la API de Tably y se importa en n8n, lo que rellena automáticamente el método (POST), la URL y los encabezados .
- Se reemplaza el token de autorización en el encabezado con la clave API de Tably y se configura el cuerpo de la solicitud para que la consulta de búsqueda sea dinámica, utilizando una variable del tema extraído de Google Sheets .
- Se añade un nodo "AI Agent" para redactar el contenido de LinkedIn, alimentando la investigación web de Tably como entrada y proporcionando un prompt del sistema que le indica al agente cómo escribir una publicación profesional de LinkedIn (por ejemplo, estructura, hashtags, llamada a la acción) .
- Se conecta un modelo de chat (por ejemplo, Claude 3.5 Sonnet a través de OpenRouter) al agente de IA para la generación de contenido .
- Finalmente, se añade otro nodo de Google Sheets "Update Row and Sheet" para actualizar el estado de la publicación a "created" y escribir el contenido generado por la IA de nuevo en la hoja de cálculo .
3.7. Flujo de trabajo adicional: Procesamiento de facturas
- Este flujo de trabajo procesa facturas en PDF, extrayendo información clave y actualizando una base de datos de Google Sheets, y luego enviando un correo electrónico al equipo de facturación .
- El flujo de trabajo comienza con un disparador de Google Drive que se activa cuando se añade una nueva factura en PDF a una carpeta específica .
- Se añade un nodo de Google Drive "Download File" para obtener el contenido binario del PDF de la factura, ya que el nodo "Extract Text" requiere datos binarios .
- Se añade un nodo "Extract Text from PDF" para extraer el texto de la factura descargada .
- Se utiliza un nodo "AI Information Extractor" para extraer ocho campos específicos de la factura (número de factura, nombre del cliente, dirección, correo electrónico, teléfono, importe total, fecha de factura y fecha de vencimiento), configurando cada atributo con una descripción y marcándolo como obligatorio .
- Se conecta un modelo de chat (por ejemplo, Google Gemini 2.0 Flash) al extractor de información de IA para procesar el texto y extraer los campos .
- Se añade un nodo de Google Sheets "Append Row" para añadir los campos extraídos a una hoja de cálculo de "Invoice Database", mapeando dinámicamente cada campo extraído a su columna correspondiente .
- Se añade un nodo de OpenAI "Message a Model" (llamado "Create Email") para redactar un correo electrónico para el equipo de facturación, utilizando un prompt del sistema que define su rol (experto en correo electrónico de Green Grass Corp) y un prompt del usuario que incluye la información de la factura extraída .
- Para que el correo electrónico se envíe correctamente, el nodo "Create Email" se configura para generar la salida en formato JSON, separando el asunto y el cuerpo del correo electrónico en campos distintos .
- Se añade un nodo de Gmail "Send Message" para enviar el correo electrónico al equipo de facturación, utilizando el asunto y el cuerpo generados por la IA, y se desactiva la atribución de n8n .
- Se puede mejorar el correo electrónico añadiendo un enlace a la hoja de cálculo de la base de datos de facturas en el prompt del sistema, lo que permite al equipo de facturación acceder directamente a los datos .
- El flujo de trabajo se prueba con diferentes formatos de factura para asegurar que la IA pueda extraer la información correctamente, demostrando su robustez .
4. Comprensión y uso de las API
Esta sección desglosa qué son las API, por qué son importantes y cómo configurarlas en n8n, con ejemplos prácticos utilizando Perplexity y Firecrawl.
4.1. Las API explicadas de forma sencilla
- Las API (Application Programming Interface) son fundamentales para los agentes de IA, ya que permiten que los flujos de trabajo de n8n se conecten y accedan a servicios externos como Gmail, HubSpot o Airtable .
- En términos sencillos, una API es una forma en que dos sistemas se comunican entre sí, como un camarero en un restaurante que toma el pedido del cliente (solicitud HTTP) y lo lleva a la cocina (punto final de la API), y luego entrega la comida (datos) de vuelta al cliente .
- En n8n, un agente de IA utiliza una solicitud HTTP para enviar información a un punto final de la API de un servicio, que luego procesa la solicitud y devuelve los datos solicitados .
- Las integraciones nativas en n8n son esencialmente solicitudes HTTP preconfiguradas con una interfaz de usuario amigable, lo que significa que solo se necesita una solicitud HTTP manual si un servicio no tiene una integración nativa en n8n .
- Al configurar solicitudes HTTP, hay cinco elementos principales a considerar:
- Método: Las dos opciones más comunes son GET (para recuperar datos sin enviar información) y POST (para enviar datos y recibir una respuesta) .
- Punto final: La URL específica del servicio al que se desea acceder .
- Parámetros de consulta: Filtros que se añaden a la URL para especificar la solicitud (por ejemplo,
google.com/search?q=pizza) . - Parámetros de encabezado: Se utilizan principalmente para la autorización, como enviar una clave API para acceder al servicio .
- Parámetros de cuerpo: Datos que se envían al servidor para obtener una respuesta específica (por ejemplo, enviar
name=Johna un CRM para obtener información sobre John) .
- Las comandos cURL son una herramienta valiosa, ya que permiten importar una solicitud API preconfigurada en n8n, rellenando automáticamente la mayoría de los campos y simplificando el proceso de configuración .
- La documentación de la API siempre especificará cómo configurar estos parámetros, y comprender el formato JSON (pares clave-valor) es esencial para trabajar con las API .
4.2. Configuración de la API de Perplexity
- Perplexity es una herramienta de IA similar a ChatGPT, pero con excelentes capacidades de búsqueda e investigación en Internet, y se puede acceder a ella a través de su API .
- Dado que Perplexity no tiene una integración nativa en n8n, se debe utilizar un nodo "HTTP Request" para interactuar con su API .
- Para configurar la solicitud HTTP, se copia el comando cURL de la documentación de la API de Perplexity y se importa en n8n, lo que rellena automáticamente el método (POST), la URL del punto final y la estructura del cuerpo JSON .
- Se obtiene una clave API de la configuración de la cuenta de Perplexity y se pega en el encabezado de autorización de la solicitud HTTP, asegurándose de dejar un espacio después de "Bearer" .
- El cuerpo de la solicitud JSON incluye parámetros como el modelo (por ejemplo, Sonar) y los mensajes (un mensaje del sistema para las instrucciones y un mensaje del usuario para la consulta de búsqueda) .
- La documentación de la API de Perplexity también permite configurar parámetros opcionales como
max_tokens(número máximo de tokens a usar) ytemperature(aleatoriedad de la respuesta) . - Para hacer la búsqueda dinámica, se puede reemplazar el mensaje de usuario fijo en el cuerpo de la solicitud con una variable (por ejemplo,
research term) que se extrae de un nodo anterior . - Al probar la solicitud, se puede verificar que Perplexity devuelve resultados en tiempo real, como las últimas novedades de Anthropic, lo que demuestra la capacidad de la API para buscar en la web .
- Los errores comunes de la API incluyen:
- 200 (Éxito): La solicitud fue exitosa y se recibieron los datos .
- 400 (Bad Request): La solicitud está mal formada, a menudo debido a un JSON no válido o parámetros incorrectos .
- 401 (Unauthorized): La clave API es incorrecta o falta .
- 403 (Forbidden): La cuenta no tiene permisos para acceder a los datos solicitados .
- 404 (Not Found): El punto final de la API no existe .
- 500 (Server Error): Un problema en el servidor de la API, no en la solicitud del usuario .
4.3. Configuración de la API de Firecrawl
- Firecrawl es una API que convierte cualquier sitio web en datos listos para LLM, ofreciendo funciones como
scrape(extraer HTML o Markdown),crawl(rastrear todo el sitio),map(mapear la estructura) yanalyze(analizar el contenido) . - La función
extractde Firecrawl permite extraer datos estructurados de una o varias URL, incluso con comodines para rastrear todas las páginas de un dominio . - Para configurar la solicitud HTTP de Firecrawl, se copia el comando cURL de la documentación de la API de Firecrawl (sección "Extract") y se importa en n8n .
- Se obtiene una clave API de la cuenta de Firecrawl y se configura como una credencial de encabezado genérica en n8n, lo que permite reutilizarla sin tener que pegarla en cada solicitud .
- El cuerpo de la solicitud JSON de Firecrawl se configura para incluir la URL del sitio web a extraer (con un asterisco
*para rastrear todas las páginas) y un esquema que define los campos a extraer (por ejemplo, "text" para la cita y "author" para el autor) . - Si el JSON copiado de Firecrawl no es válido en n8n, se puede usar ChatGPT para corregir el formato .
- Firecrawl devuelve un ID de solicitud, que luego se utiliza en otra solicitud HTTP (GET) para verificar el estado de la extracción; si el estado es "processing", se utiliza una técnica de polling (espera y reintento) con un nodo "If" y un nodo "Wait" hasta que los datos estén listos .
- La diferencia entre
scrapeyextractes quescrapedevuelve el contenido de una sola página (HTML o Markdown), mientras queextractpuede rastrear todo un sitio y extraer datos estructurados según un esquema definido . - Las plantillas de flujos de trabajo de Firecrawl se pueden descargar de la comunidad de Skool para experimentar con diferentes URL y claves API .
5. Uso de API para la generación de contenido: imágenes y videos
Esta sección explora cómo utilizar las API de OpenAI para la generación de imágenes y Runway para la generación de videos, integrándolas en flujos de trabajo de n8n.
5.1. Generación de imágenes con la API de OpenAI
- La API de generación de imágenes de OpenAI permite crear, editar y transformar imágenes, incluyendo la capacidad de generar imágenes con texto legible, lo que abre nuevas posibilidades para equipos de marketing .
- Un flujo de trabajo de ejemplo convierte una idea en una publicación de LinkedIn investigada con un gráfico, utilizando un agente de IA para la publicación y otro para generar el prompt de la imagen .
- Para acceder al modelo de generación de imágenes a través de la API de OpenAI, la organización del usuario debe estar verificada y se debe tener información de facturación configurada .
- La solicitud HTTP para crear una imagen se configura como una solicitud POST al punto final de la API de OpenAI, con un encabezado de autorización que contiene la clave API y un cuerpo que especifica el modelo (por ejemplo, GPT-Image-1), el prompt de la imagen y el tamaño .
- La API devuelve una cadena base64 masiva, que debe convertirse a datos binarios utilizando un nodo "Convert to File" en n8n para poder ver la imagen real .
- El costo de la generación de imágenes varía según el modelo y el tamaño, pero se considera rentable para la calidad que ofrece .
- Al configurar la clave API de OpenAI, se recomienda guardarla como una credencial de encabezado genérica en n8n para no tener que introducirla manualmente cada vez .
- Los errores comunes incluyen "Bad Request" si los parámetros no son válidos (por ejemplo,
nesperaba un entero pero recibió una cadena) o errores de servidor si la API está sobrecargada .
5.2. Generación de videos con la API de Runway
- Para generar un video a partir de una imagen, se utiliza la API de Runway, que ofrece videos de 5 segundos por 25 centavos y de 10 segundos por 50 centavos .
- La API de Runway requiere una URL HTTPS pública de la imagen como entrada, por lo que la imagen generada por OpenAI debe subirse a un servicio de alojamiento de imágenes gratuito como ImageBB para obtener una URL pública .
- Para subir la imagen a ImageBB, se utiliza un nodo "HTTP Request" configurado como POST, con la clave API de ImageBB como parámetro de consulta y los datos binarios de la imagen como datos de formulario .
- Una vez que se obtiene la URL pública de la imagen de ImageBB, se utiliza otro nodo "HTTP Request" para enviar una solicitud POST a la API de Runway, configurando la autenticación (clave API de Runway como encabezado "Authorization"), la URL de la imagen, el modelo (Gen 4 Turbo), el texto del prompt (para el efecto de giro 3D) y la duración (5 o 10 segundos) .
- La API de Runway devuelve un ID de tarea, que se utiliza en una técnica de polling para verificar el estado del video; esto implica un bucle con un nodo "If" y un nodo "Wait" que comprueba si el estado es "RUNNING" y espera hasta que sea "succeeded" .
- Una vez que el video está listo, se puede enviar por correo electrónico al usuario, incluyendo la URL del video y la imagen original .
- El flujo de trabajo completo implica:
- Un disparador de formulario para la entrada del usuario (foto del producto, título, descripción, correo electrónico) .
- Subir la foto original a Google Drive .
- Un agente de IA para crear un prompt de texto a imagen a partir del título y la descripción del producto .
- Descargar la imagen original de Google Drive .
- Generar una imagen profesional con la API de OpenAI .
- Convertir la cadena base64 de la imagen a datos binarios .
- Subir la imagen a ImageBB para obtener una URL pública .
- Generar un video con la API de Runway utilizando la URL de la imagen y un prompt de video .
- Implementar un bucle de polling para esperar a que el video esté listo .
- Enviar el video y la imagen por correo electrónico al usuario .
6. Agentes de IA vs. Flujos de trabajo de IA y arquitecturas multiagente
Esta sección profundiza en la distinción entre agentes de IA y flujos de trabajo de IA, destacando los beneficios de los flujos de trabajo para tareas predecibles y explorando diversas arquitecturas multiagente para sistemas más complejos.
6.1. Agentes de IA vs. Flujos de trabajo de IA: cuándo usar cada uno
- Aunque los agentes de IA son un concepto popular, a menudo se utilizan incorrectamente en procesos que se beneficiarían más de un flujo de trabajo de IA simple .
- Un flujo de trabajo de IA es más fácil de construir, más rentable y más fiable a largo plazo para tareas deterministas (pasos predefinidos y lineales) .
- Un agente de IA es adecuado para flujos de trabajo no deterministas, donde el agente debe tomar decisiones y elegir entre múltiples herramientas en función de la entrada del usuario .
- Los beneficios de los flujos de trabajo de IA sobre los agentes de IA incluyen:
- Fiabilidad y consistencia: Los flujos de trabajo siguen rutas predefinidas, lo que reduce la variabilidad y los errores en la transferencia de datos .
- Eficiencia de costos: Los flujos de trabajo evitan llamadas adicionales a la "mente" del agente para la toma de decisiones, lo que ahorra costos de API .
- Depuración y mantenimiento más sencillos: Los flujos de trabajo lineales facilitan la identificación de errores en nodos específicos y la corrección de mapeos incorrectos .
- Escalabilidad: Añadir funcionalidad a un flujo de trabajo es más sencillo que a un agente de IA, ya que este último requeriría refinar y ampliar el prompt del sistema, lo que podría afectar la consistencia de las herramientas existentes .
- Un ejemplo de RAG (Generación Aumentada por Recuperación) demuestra que un flujo de trabajo de IA puede lograr los mismos resultados que un agente de IA, pero con mayor control y eficiencia de costos .
- En un flujo de trabajo de IA, se pueden aplicar filtros a los resultados de la base de datos vectorial (por ejemplo, mantener solo los vectores con una puntuación de relevancia superior a 0.4), lo que es más fácil de controlar que en un agente .
- Al dar a un nodo de IA un objetivo específico (por ejemplo, "escribir un correo electrónico"), se obtiene una mayor calidad y consistencia en las salidas que si se le dieran múltiples tareas a un agente .
- Un ejemplo de un analista técnico que genera y analiza gráficos bursátiles muestra que un flujo de trabajo de IA puede lograr los mismos resultados que un agente de IA, pero de forma más fluida y sin la latencia de la toma de decisiones del agente .
6.2. Arquitectura de sistemas multiagente: el agente orquestador
- Un sistema multiagente implica que varios agentes de IA autónomos trabajan juntos, comunicándose entre sí y utilizando sus herramientas para completar tareas .
- La arquitectura de orquestador es un tipo de sistema multiagente donde un agente orquestador (agente padre) delega tareas a subagentes (agentes hijos) .
- El objetivo principal del agente orquestador es comprender la intención del usuario y luego decidir qué subagente(s) debe llamar para lograr el objetivo final .
- Esta arquitectura es beneficiosa para tareas complejas y cargadas, ya que evita que un solo agente se vea abrumado por demasiadas herramientas y responsabilidades, lo que lleva a una mayor precisión .
- Los subagentes pueden ser flujos de trabajo personalizados o agentes personalizados construidos en n8n, y el agente orquestador puede enviar datos a estos subflujos de trabajo utilizando la herramienta "n8n Workflow" .
- Cada subagente tiene un rol especializado y un conjunto específico de instrucciones (prompt del sistema) y herramientas, lo que permite un control más granular y una mayor eficiencia .
- Los beneficios de los sistemas multiagente incluyen:
- Componentes reutilizables: Los subagentes (como un agente de correo electrónico) se pueden reutilizar en múltiples flujos de trabajo .
- Flexibilidad del modelo: Se pueden utilizar diferentes modelos de chat (por ejemplo, GPT-3.7 para creación de contenido, GPT-3.5 Turbo para contactos) para diferentes subagentes, optimizando costos y rendimiento .
- Depuración y mantenimiento más sencillos: Dividir las tareas en áreas especializadas simplifica la identificación y corrección de problemas .
- Prompts y lógica más claros: Los prompts del sistema para los subagentes son más concisos y específicos, lo que reduce la ambigüedad .
- Base para agentes de múltiples turnos y memoria: La memoria se puede pasar entre flujos de trabajo, manteniendo el contexto de la conversación .
- Sin embargo, la arquitectura de orquestador no siempre es la mejor opción; forzarla en procesos que podrían ser manejados por un solo agente o un flujo de trabajo simple puede aumentar la latencia, el costo y la probabilidad de errores .
6.3. Cuatro arquitecturas de agentes adicionales
- Además de la arquitectura de orquestador, existen otros marcos de agentes que se pueden utilizar en los flujos de trabajo:
- Encadenamiento de prompts (Prompt Chaining): Implica pasar la salida de un agente directamente como entrada al siguiente agente en una secuencia lineal .
- Beneficios: Mejora la precisión y la calidad al enfocar cada paso en una tarea específica, lo que reduce errores y alucinaciones .
- Permite un mayor control sobre cada paso, refinando los prompts del sistema de cada agente especializado (por ejemplo, un escritor de esquemas, un evaluador de esquemas y un escritor de blogs) .
- Facilita la depuración y la optimización debido a su naturaleza lineal, y es más escalable y reutilizable .
- Permite utilizar diferentes modelos de lenguaje grandes para diferentes tareas, optimizando el rendimiento y el costo (por ejemplo, un modelo más barato para el esquema, uno más potente para la evaluación y otro para la escritura del blog) .
- Enrutamiento (Routing): Un LLM inicial clasifica las entradas (por ejemplo, correos electrónicos) y las dirige a diferentes agentes o ramas de flujo de trabajo según la clasificación (por ejemplo, alta prioridad, soporte al cliente, finanzas) .
- Beneficios: Manejo optimizado de respuestas, permitiendo establecer diferentes personas para cada agente .
- Es más escalable y modular, más rápido y eficiente, y puede incluir escalada humana para problemas críticos .
- Proporciona una mejor experiencia de usuario para equipos y clientes .
- Un ejemplo muestra cómo un clasificador de correo electrónico puede etiquetar un correo como "soporte al cliente" y dirigirlo a un agente de soporte, o como "alta prioridad" y enviar una notificación inmediata por Telegram .
- Paralelización (Parallelization): Se utilizan varios agentes simultáneamente para analizar una entrada, y luego sus salidas se fusionan y se agregan en un agente final para consolidar una respuesta .
- Beneficios: Análisis más rápido al procesar tareas simultáneamente (por ejemplo, analizar emoción, intención y sesgo de un texto al mismo tiempo) .
- Permite la especialización de los prompts del sistema y el uso de modelos de lenguaje grandes especializados para cada tarea .
- Conduce a una revisión más completa y una mayor escalabilidad .
- Un ejemplo analiza un texto para determinar el tono emocional, la intención y el sesgo utilizando tres agentes paralelos, y luego un agente final combina los resultados en un informe completo .
- Evaluador-Optimizador (Evaluator Optimizer): Un agente evaluador decide si una salida es buena; si no lo es, se envía a un agente optimizador para su revisión y luego se devuelve al evaluador, creando un bucle de mejora continua hasta que la salida cumpla con los criterios .
- Beneficios: Asegura salidas de alta calidad, reduce errores y revisiones manuales, y es flexible y escalable .
- Optimiza el rendimiento de la IA a través de un enfoque iterativo de mejora continua .
- Un ejemplo utiliza un agente biógrafo para escribir una biografía, un agente evaluador para proporcionar retroalimentación basada en criterios (citas, humor, sin emojis) y un agente optimizador para revisar la biografía hasta que el evaluador la apruebe .
- Permite la flexibilidad de cambiar los modelos de chat en diferentes etapas del bucle para optimizar el costo y el rendimiento .
- Encadenamiento de prompts (Prompt Chaining): Implica pasar la salida de un agente directamente como entrada al siguiente agente en una secuencia lineal .
7. Dominio de los prompts para agentes de IA
Esta sección se centra en la importancia de los prompts para los agentes de IA, presentando una metodología de "prompting reactivo" y detallando los componentes esenciales de un prompt efectivo.
7.1. La importancia del prompting reactivo
- La calidad y consistencia del rendimiento de los agentes de IA están directamente relacionadas con la calidad del prompt del sistema .
- El prompting es esencial porque los agentes de IA están diseñados para funcionar de forma autónoma, sin la interacción de ida y vuelta que se tiene con chatbots como ChatGPT .
- El objetivo es crear prompts que funcionen correctamente desde la primera vez, siendo claros, simples y accionables, evitando la sobrecarga de información .
- El prompting reactivo es una metodología superior al prompting proactivo:
- El prompting proactivo implica escribir un prompt largo y detallado desde el principio, lo que dificulta la depuración y puede introducir nuevos problemas al intentar solucionar los existentes .
- El prompting reactivo comienza con un prompt mínimo, se añade una herramienta, se prueba y luego se añaden frases lentamente al prompt del sistema en función de los errores observados .
- Beneficios del prompting reactivo: Facilita la depuración (se sabe exactamente qué causó el error), permite pruebas más eficientes y evita prompts excesivamente complicados .
- Un ejemplo de la vida real de enseñar a un niño a andar en bicicleta ilustra que es más efectivo corregir el comportamiento a medida que ocurre, en lugar de dar todas las instrucciones por adelantado .
- En el flujo de trabajo del "Asistente Definitivo", el prompting reactivo se utilizó para corregir comportamientos inesperados del agente, como intentar escribir correos electrónicos en lugar de delegar la tarea a la herramienta de correo electrónico .
- Los ejemplos son una forma efectiva de "codificar" el comportamiento deseado en el agente, especialmente para escenarios donde el agente falla consistentemente; se proporciona una entrada, las acciones correctas a tomar y la salida esperada .
- Es crucial depurar un error a la vez, cambiando solo una cosa y observando el impacto para identificar la causa exacta del problema .
- El prompting reactivo permite escalar lentamente, añadiendo herramientas y reglas de prompt gradualmente después de confirmar que el agente funciona consistentemente con las configuraciones existentes .
7.2. Componentes esenciales de un prompt efectivo
- Cada agente debe tener un prompt estructurado para asegurar claridad, consistencia y eficiencia, aunque los componentes varían según el tipo de agente (basado en herramientas, conversacional, creación de contenido, categorización/evaluación) .
- Se recomienda utilizar el formato Markdown para los prompts debido a su legibilidad, permitiendo el uso de encabezados, listas en negrita y listas numeradas para organizar las secciones .
- Las secciones principales de un prompt incluyen:
- Antecedentes (Overview): Define el rol, propósito y contexto del agente, estableciendo su persona y comportamiento; sin esto, el agente carecerá de dirección y generará salidas genéricas .
- Herramientas (Tools): Es crucial para agentes con múltiples herramientas, informando al agente sobre las herramientas disponibles, cuándo usarlas y cómo funcionan; esto asegura la selección correcta de herramientas y previene la confusión .
- Instrucciones/Reglas (Rules): Describe reglas específicas que el agente debe seguir, dictando el orden de las operaciones a alto nivel; sin embargo, no debe especificar un orden lineal estricto si el agente está destinado a ser no determinista .
- Ejemplos (Examples): Ayudan a la IA a comprender las expectativas mostrando ejemplos reales de entradas, acciones y salidas; son especialmente útiles para corregir errores recurrentes del agente .
- Notas finales/Recordatorios importantes (Final Notes): Contiene recordatorios misceláneos pero importantes, como el formato de respuesta o la fecha y hora actuales, para evitar que la información se pierda en el prompt .
- Para agentes de creación de contenido sin herramientas, se puede incluir una sección de Salida (Output) para definir el formato específico (por ejemplo, HTML, líneas horizontales, etiquetas de imagen) .
- Otros componentes que se pueden incluir son la gestión de memoria y contexto, el razonamiento y el manejo de errores, aunque a menudo se pueden integrar en la sección de reglas .
7.3. Ejemplos de prompting reactivo en n8n
- Se demuestra el prompting reactivo añadiendo una herramienta de Google Calendar a un agente de IA con un prompt del sistema mínimo ("Eres un asistente útil") .
- Cuando el agente crea un evento con una fecha incorrecta (por ejemplo, en el pasado), se corrige reactivamente el prompt del sistema añadiendo una sección de "Final notes" que incluye la fecha y hora actuales (
$now) . - Se añade una herramienta de Gmail "Send Email" al agente, permitiendo que el modelo defina dinámicamente el destinatario, el asunto y el mensaje del correo electrónico .
- Cuando el agente firma el correo electrónico con un marcador de posición ("Best Placeholder, your name"), se corrige reactivamente el prompt del sistema añadiendo una instrucción en la sección de herramientas para que firme los correos electrónicos como "Frank" .
- Se añaden herramientas de Gmail "Get Emails" y "Get Labels" para que el agente pueda recuperar correos electrónicos y sus etiquetas, respectivamente .
- Se añade una herramienta de Gmail "Add Label" para que el agente pueda etiquetar correos electrónicos, y se configura para que el modelo defina el ID del mensaje y el ID de la etiqueta .
- Cuando el agente intenta añadir una etiqueta antes de obtener los IDs necesarios, se corrige reactivamente el prompt del sistema añadiendo instrucciones específicas en la descripción de la herramienta "Add Label" sobre el orden de uso de "Get Emails" y "Get Labels" .
- Este proceso iterativo de construir, probar, observar errores y corregir el prompt del sistema demuestra la eficacia del prompting reactivo para mejorar la funcionalidad y consistencia del agente .
8. Consejos y trucos para agentes de IA
Esta sección cubre varias funcionalidades avanzadas para agentes de IA en n8n, incluyendo el análisis de salida, la intervención humana, los flujos de trabajo de errores, los cerebros dinámicos, los webhooks, los agentes de voz y las aplicaciones web.
8.1. Análisis de salida (Output Parsing)
- El análisis de salida es crucial cuando un agente de IA necesita generar múltiples elementos de datos (por ejemplo, asunto y cuerpo de un correo electrónico) que deben ser referenciados por separado en nodos posteriores .
- Sin un analizador de salida, el agente puede devolver todos los elementos en un solo campo (por ejemplo, "output"), lo que dificulta el mapeo dinámico de variables .
- n8n ofrece una opción "Require specific output format" en la configuración del agente de IA, que añade un componente de analizador de salida .
- El Structured Output Parser es la opción más común, permitiendo definir un esquema JSON específico para que el agente siempre genere datos en ese formato .
- Se puede utilizar ChatGPT para generar un ejemplo de esquema JSON para el analizador de salida, especificando los campos deseados (por ejemplo, "subject" y "body") .
- Al configurar el analizador de salida con el esquema JSON, el agente de IA generará la salida en campos separados (por ejemplo,
JSON.subjectyJSON.body), lo que facilita el mapeo en nodos posteriores como un nodo de Gmail "Send Message" . - Esta técnica también se puede aplicar para generar estructuras de datos más complejas, como una historia con título, personajes y escenas, lo que permite una mayor flexibilidad en la salida del agente .
8.2. Intervención humana (Human in the Loop)
- La intervención humana (Human in the Loop) es un proceso en el que el flujo de trabajo se pausa y espera la retroalimentación del usuario antes de continuar, asegurando la aprobación humana antes de realizar acciones críticas .
- n8n ofrece nodos "Human in the Loop" que permiten esperar la aprobación o la entrada humana, con integraciones para plataformas como Telegram, Gmail, Slack, etc. .
- Un ejemplo simple de intervención humana implica que un agente de IA cree una publicación para X (anteriormente Twitter), y luego el flujo de trabajo se pausa para que el usuario apruebe o rechace la publicación en Telegram .
- Si el usuario rechaza la publicación, el flujo de trabajo puede enviar un mensaje de "denegación" y solicitar otra solicitud; si la aprueba, la publicación se publica en X .
- Una versión más avanzada de la intervención humana permite la retroalimentación basada en texto, en lugar de solo "sí" o "no", lo que permite al agente revisar y optimizar la publicación en un bucle de revisión ilimitado .
- El flujo de trabajo de intervención humana 2.0 implica:
- Un agente de IA inicial que crea el contenido (por ejemplo, una publicación de Instagram) utilizando una herramienta de búsqueda web (Tavly) .
- Un nodo "Set" que guarda la versión más reciente de la publicación, lo que permite realizar revisiones sobre revisiones .
- Un nodo "Human in the Loop" que envía la publicación al usuario (a través de Telegram) y espera su retroalimentación en formato de texto libre .
- Un nodo "Text Classifier" que utiliza IA para clasificar la retroalimentación del usuario como "aprobada" o "rechazada" .
- Si la retroalimentación es una "denegación" (por ejemplo, "Haz esto más corto"), se envía a un "Revision Agent" que utiliza la publicación original y la retroalimentación humana para crear una versión revisada .
- La versión revisada se vuelve a guardar en el nodo "Set" y se envía de nuevo al nodo "Human in the Loop", creando un bucle de revisión hasta que el usuario apruebe la publicación .
- Si la retroalimentación es una "aprobación" (por ejemplo, "Listo"), la publicación se envía a X .
- Actualmente, la intervención humana como herramienta para un agente de IA tiene limitaciones en n8n, ya que el agente espera la respuesta a nivel del agente en lugar de a nivel de la herramienta, lo que dificulta la integración de la retroalimentación en el flujo de trabajo del agente .
8.3. Flujos de trabajo de errores (Error Workflows)
- Un flujo de trabajo de errores en n8n permite registrar y notificar automáticamente cada vez que uno de los flujos de trabajo activos falla .
- Para configurar un flujo de trabajo de errores, se crea un nuevo flujo de trabajo con un disparador de errores ("Error Trigger"), que se activa cuando otro flujo de trabajo tiene un error .
- El flujo de trabajo de errores se vincula a un flujo de trabajo activo yendo a la configuración de este último y seleccionando el flujo de trabajo de errores en la sección "Error Workflow" .
- Cuando el flujo de trabajo activo falla (por ejemplo, si se desconecta el modelo de chat de un agente), el disparador de errores se activa y captura información detallada sobre el error, como el ID de ejecución, la URL del flujo de trabajo, el nombre del flujo de trabajo, el nodo que falló y el mensaje de error .
- Esta información se puede registrar en una hoja de cálculo de Google Sheets, incluyendo una marca de tiempo, el nombre del flujo de trabajo, la URL, el nodo que falló y el mensaje de error .
- Además de registrar los errores, se pueden enviar notificaciones a plataformas como Slack, proporcionando un resumen del error y un enlace directo a la ejecución fallida para facilitar la depuración .
- Es importante distinguir entre un flujo de trabajo que falla (se pone en rojo) y uno que simplemente no funciona como se espera (se pone en verde pero no produce el resultado deseado); el flujo de trabajo de errores solo se activa en el primer caso .
8.4. Cerebro dinámico para agentes de IA
- Un cerebro dinámico permite que un agente de IA seleccione el modelo de IA más adecuado para una tarea específica en función de la entrada, lo que ahorra dinero y mejora el rendimiento .
- El sistema utiliza un primer agente (selector de modelos) que elige el modelo a usar, y luego un segundo agente (agente principal) que utiliza el modelo seleccionado dinámicamente para realizar la tarea .
- El agente selector de modelos recibe el mensaje del usuario y, basándose en un prompt del sistema que define las fortalezas de varios modelos, elige el más adecuado (por ejemplo, Gemini 2.0 Flash para tareas simples, Claude 3.7 Sonnet para investigación) .
- La salida del agente selector de modelos (el nombre del modelo elegido) se utiliza como entrada para el modelo de chat del agente principal, lo que permite que el agente principal utilice dinámicamente el modelo seleccionado .
- Este enfoque permite optimizar los costos, ya que se utilizan modelos más baratos para tareas sencillas y modelos más potentes y caros solo cuando son necesarios .
- Los resultados de las interacciones (entrada, salida, modelo elegido) se pueden registrar en una hoja de cálculo de Google Sheets para su análisis y optimización continua .
- Un ejemplo de RAG (Generación Aumentada por Recuperación) con un cerebro dinámico demuestra que el agente puede elegir un modelo más simple (GPT-4.1 Mini) para consultas sencillas y un modelo más complejo (Anthropic Cloud 3.5 Sonnet) para consultas más complejas .
- Herramientas como Vellum y LM Arena pueden ayudar a comparar diferentes modelos de lenguaje grandes en términos de razonamiento, matemáticas, codificación, uso de herramientas, costo y velocidad .
8.5. Webhooks
- Los webhooks son similares a las API, pero en lugar de enviar una solicitud, el flujo de trabajo de n8n está "escuchando" y esperando recibir datos de un servicio externo .
- Un webhook siempre se configura como un disparador en n8n, y tiene una URL específica a la que otros servicios envían datos .
- Es importante que el método del webhook (por ejemplo, POST) coincida con el método utilizado por el servicio que envía los datos .
- Para probar un webhook, se debe hacer clic en "Listen for Test Event" en n8n antes de enviar datos desde el servicio externo (por ejemplo, Postman) .
- Los webhooks pueden configurarse para responder inmediatamente o para esperar a que un nodo "Respond to Webhook" envíe datos de vuelta al servicio de origen después de que el flujo de trabajo haya procesado la información .
- Cuando un flujo de trabajo con un webhook se activa (se pone en producción), se debe utilizar la URL de producción del webhook en lugar de la URL de prueba .
8.6. Agente de correo electrónico de voz con Eleven Labs
- Se construye un agente de correo electrónico conversacional activado por voz utilizando Eleven Labs y n8n, donde el usuario interactúa con un agente de voz (Archer) para enviar correos electrónicos .
- El flujo de trabajo de n8n recibe una solicitud POST de Eleven Labs a través de un webhook, que contiene parámetros como el destinatario y el contenido del correo electrónico .
- El agente de IA en n8n utiliza herramientas como "Contact Data" (una hoja de cálculo de Google Sheets) para encontrar direcciones de correo electrónico y "Send Email" (Gmail) para redactar y enviar correos electrónicos .
- El prompt del sistema del agente de IA define su rol (agente de IA responsable de redactar y enviar correos electrónicos profesionales), las herramientas disponibles y sus objetivos (identificar el destinatario, redactar un correo electrónico profesional, firmar como Nate) .
- El prompt del usuario se alimenta dinámicamente desde Eleven Labs, conteniendo el destinatario y el contenido del correo electrónico .
- El agente de IA utiliza su "cerebro" (por ejemplo, GPT-4) para procesar la información, recuperar los detalles de contacto, generar el mensaje del correo electrónico y luego responde al webhook con la confirmación de que el correo electrónico se ha enviado .
- En Eleven Labs, se configura el agente de voz con un prompt del sistema que define su personalidad (amigable, divertido, servicial), su rol (asistir con el envío de correos electrónicos) y las instrucciones para interactuar con la herramienta de n8n .
- La herramienta de n8n en Eleven Labs se configura con la URL del webhook de n8n, el método POST y los parámetros del cuerpo (
toyemail content) que se enviarán a n8n . - Es crucial que el webhook de n8n esté "escuchando" (en modo de prueba o activo en producción) para que Eleven Labs pueda enviar datos y recibir respuestas .
8.7. Creación de una interfaz de usuario con Lovable
- Lovable es una plataforma que permite crear aplicaciones web rápidamente a partir de prompts en lenguaje natural, integrándose con n8n para la lógica de backend .
- La arquitectura implica que la interfaz de usuario de Lovable envía datos a un webhook de n8n, el flujo de trabajo de n8n procesa los datos (por ejemplo, con un agente de IA) y luego envía una respuesta de vuelta a Lovable para mostrarla al usuario .
- Para empezar, se utiliza un prompt en lenguaje natural en Lovable (por ejemplo, "Ayúdame a crear una aplicación web llamada 'Sácame de esto' donde un usuario pueda enviar un problema que tenga") y una imagen como inspiración de diseño .
- Lovable genera automáticamente el código de la aplicación web, que se puede modificar mediante un chat de ida y vuelta (por ejemplo, "Haz esta página más simple", "Cambia el texto a negro") .
- Para conectar Lovable a n8n, se copia la URL del webhook de n8n y se le indica a Lovable que envíe los datos del formulario a esa URL como una solicitud POST .
- En n8n, el flujo de trabajo comienza con un nodo de webhook que recibe los datos del problema del usuario .
- Se añade un agente de IA que recibe el problema del usuario como entrada, con un prompt del sistema que lo define como un "generador de excusas de IA" y le indica que cree excusas ingeniosas y humorísticas .
- Se conecta un modelo de chat (por ejemplo, OpenAI) al agente de IA para que genere la excusa .
- Un nodo "Respond to Webhook" envía la excusa generada por el agente de IA de vuelta a Lovable .
- Lovable se configura para esperar la respuesta del webhook y mostrar el valor del campo "output" (la excusa) en la interfaz de usuario .
- Se puede añadir funcionalidad adicional a la aplicación de Lovable, como un sistema de niveles dinámico que otorga puntos cada vez que un usuario envía un problema .
- También se puede añadir un menú desplegable para que el usuario seleccione el tono de la respuesta (realista, divertido, ridículo, extravagante), y esta información se pasa al webhook de n8n .
- El agente de IA en n8n se configura para tener en cuenta el tono seleccionado por el usuario en su prompt del sistema, lo que le permite generar excusas que coincidan con el tono deseado .
- Para que el flujo de trabajo de n8n funcione continuamente sin intervención manual, se debe activar y utilizar la URL de producción del webhook en Lovable .
9. Servidores MCP y autoalojamiento de n8n
Esta sección explica qué son los servidores MCP (Model Context Protocol), cómo mejoran la inteligencia de los agentes de IA y cómo autoalojar n8n para instalar y utilizar nodos de la comunidad MCP.
9.1. Comprensión de los servidores MCP
- Los servidores MCP (Model Context Protocol) son una capa entre el agente de IA y las herramientas a las que desea acceder, lo que mejora la inteligencia del agente .
- Inicialmente, los LLM solo podían generar texto; luego, la evolución llevó a los agentes de IA que podían usar herramientas para realizar acciones (por ejemplo, enviar un correo electrónico) .
- Las herramientas tradicionales tienen funciones específicas y configuraciones predefinidas (por ejemplo, una herramienta de Gmail para etiquetar, otra para obtener y otra para enviar correos electrónicos), lo que limita su flexibilidad y escalabilidad .
- Un servidor MCP actúa como un traductor universal, enriqueciendo la solicitud del agente con información detallada sobre los recursos, esquemas y prompts necesarios para interactuar con la herramienta correcta .
- Por ejemplo, un servidor MCP de Notion podría proporcionar al agente información sobre todas las bases de datos, sus esquemas y las acciones disponibles, permitiendo al agente interactuar de forma más inteligente .
- La comunicación entre el cliente (n8n) y el servidor MCP se realiza a través del protocolo MCP, que es un estándar para enviar y recibir datos .
- Los servidores MCP permiten que un solo nodo de n8n (el cliente MCP) acceda a múltiples herramientas y operaciones de un servicio (por ejemplo, 13 acciones de Airtable en un solo nodo), lo que simplifica la configuración del agente .
9.2. Autoalojamiento de n8n e instalación de nodos de la comunidad MCP
- Para utilizar los nodos de la comunidad MCP en n8n, es necesario autoalojar el entorno de n8n, ya que estos nodos no son integraciones nativas verificadas .
- Se puede autoalojar n8n utilizando plataformas como Aliyun, que simplifican la implementación y gestión de software de código abierto con unos pocos clics .
- El proceso de autoalojamiento en Aliyun implica:
- Crear una cuenta y configurar un método de pago .
- Esperar la activación de la cuenta .
- Añadir un nuevo servicio, buscar "n8n" y seleccionar un plan de servicio (se recomienda un plan medio para servidores MCP intensivos en recursos) .
- Nombrar el servicio (que será el dominio de la instancia de n8n) y crear el servicio .
- Una vez que el servicio está en funcionamiento, se accede a la instancia de n8n a través del dominio proporcionado .
- Para instalar un nodo de la comunidad MCP, se va a la configuración de n8n, se selecciona "Community Nodes" y se introduce el nombre del paquete (por ejemplo,
n8n-nodes-mcpdel repositorio de GitHub) . - Una vez instalado, el nodo "MCP Client" estará disponible en n8n, ofreciendo operaciones como "execute a tool", "list available tools" y "read a resource" .
- Para conectar un servidor MCP (por ejemplo, Airbnb), se crea una nueva credencial en n8n, se introduce el comando
npxy los argumentos específicos del servidor MCP (por ejemplo,-y @open-b&b/mcp-server --ignore-robots-txt) . - Al ejecutar la operación "list available tools" con la credencial MCP, se recuperan las herramientas disponibles del servidor MCP (por ejemplo, "Airbnb search" y "Airbnb listing details") y sus esquemas .
- Para ejecutar una herramienta MCP, se utiliza otro nodo "MCP Client" con la operación "execute tool", especificando el nombre de la herramienta (por ejemplo, "Airbnb Search") y los parámetros necesarios (por ejemplo, "location: Los Angeles", "adults: 4") .
- Para que un agente de IA acceda a las herramientas MCP, se añade un nodo "AI Agent", se conecta un modelo de chat (por ejemplo, OpenAI GPT-4) y se añade la herramienta "MCP Client" al agente .
- Es necesario configurar una variable de entorno en el entorno de autoalojamiento de n8n (
community_package_allow_tool_usageatrue) para que el agente de IA pueda reconocer y utilizar las herramientas de la comunidad MCP . - El agente de IA puede determinar dinámicamente qué herramienta MCP usar y cómo rellenar sus parámetros, incluso con un prompt del sistema mínimo, lo que demuestra la inteligencia de los modelos .
- La configuración de servidores MCP que requieren una clave API (como Brave Search) implica añadir la clave API como una variable de entorno en la credencial de n8n (por ejemplo,
BRAVE_API_KEY) . - Los agentes de IA pueden tener dificultades con servidores MCP que requieren procesos de varios pasos (por ejemplo, obtener ID de base, luego ID de tabla, luego registros) sin un prompting robusto, lo que destaca la necesidad de instrucciones más específicas para tareas complejas .
- Algunos servidores MCP pueden no estar completamente disponibles o en mantenimiento, lo que puede causar errores de conexión incluso si la configuración es correcta .
10. Lecciones aprendidas en la construcción de agentes de IA
Esta sección final resume las lecciones clave aprendidas en seis meses de construcción de agentes de IA, abordando las verdades difíciles, la importancia de la planificación, el contexto, el prompting, la escalabilidad y las limitaciones de las herramientas sin código.
10.1. Verdades difíciles sobre los agentes de IA
- La mayoría de las demostraciones de agentes de IA en línea son solo pruebas de concepto y no están listas para la producción, lo que significa que no se pueden implementar directamente en un negocio sin pruebas y ajustes rigurosos .
- Es crucial entender la diferencia entre agentes de IA y flujos de trabajo de IA:
- Un flujo de trabajo de IA es secuencial y tiene un número fijo de pasos que se ejecutan en un orden predefinido, incluso si utiliza IA en algunos pasos .
- Un agente de IA es no determinista, lo que significa que elige sus propios pasos y el orden de las llamadas a las herramientas en función de la entrada, lo que puede implicar bucles y decisiones dinámicas .
- La mayoría de los problemas empresariales no requieren agentes de IA "verdaderos" y pueden resolverse de manera más eficiente con flujos de trabajo mejorados con IA .
- Un error común es optar directamente por un agente de IA cuando un flujo de trabajo de IA sería más consistente, fácil de depurar y menos propenso a errores en la toma de decisiones .
10.2. Siete lecciones clave para construir agentes de IA
- Construir flujos de trabajo primero: Antes de usar IA, se debe considerar si el problema puede resolverse con automatización basada en reglas o flujos de trabajo simples. La IA solo debe usarse donde realmente agrega valor, ya que no es gratuita .
- Esquematizar antes de construir: Planificar el flujo de trabajo en papel o en una herramienta de diagramación (como Excalidraw) antes de empezar a construir en n8n ayuda a evitar flujos de trabajo desordenados, confusiones sobre dónde usar la IA y horas de depuración .
- El contexto lo es todo: La calidad de la IA depende de la información que se le proporciona. Sin un contexto de alta calidad, la IA puede "alucinar", usar mal las herramientas o dar respuestas vagas .
- El contexto se puede proporcionar a través de:
- Prompt del sistema: Define el rol, el comportamiento y las responsabilidades del agente .
- Memoria del agente: Almacena interacciones pasadas con el usuario para mantener el contexto de la conversación .
- Generación Aumentada por Recuperación (RAG): Permite al agente recuperar información en tiempo real de API externas o bases de conocimiento .
- El contexto se puede proporcionar a través de:
- Cuándo usar (y cuándo no usar) una base de datos vectorial: Las bases de datos vectoriales son excelentes para datos no estructurados (grandes bloques de texto) donde se necesita una búsqueda semántica basada en el significado .
- Sin embargo, para datos estructurados que requieren una recuperación exacta (como perfiles de usuario, registros de ventas o detalles de facturas), una base de datos relacional con consultas SQL es más eficiente .
- Un ejemplo ilustra que una base de datos relacional podría no encontrar "mantas suaves" si la palabra "suave" no está explícitamente en la descripción, mientras que una base de datos vectorial podría encontrar "vellón acogedor" o "algodón tejido a mano" debido a la similitud de significado .
- El prompting es fundamental para los agentes de IA: A diferencia de los chatbots, los agentes de IA requieren prompts del sistema precisos porque solo tienen una oportunidad para realizar la tarea de forma autónoma .
- El prompting reactivo (empezar con un prompt mínimo y añadir instrucciones lentamente en función de los errores observados) es más efectivo que el prompting proactivo (escribir un prompt largo desde el principio) .
- Los elementos clave de un prompt fuerte incluyen: rol, contexto, instrucciones de herramientas, reglas y restricciones, y ejemplos (utilizados para corregir errores específicos) .
- Escalar agentes puede ser una pesadilla: Los agentes de IA pueden funcionar bien en demos, pero escalar a miles o millones de usuarios introduce problemas de fiabilidad, latencia e inconsistencia .
- Se recomienda escalar verticalmente (perfeccionar una funcionalidad para un área específica) antes de escalar horizontalmente (expandirse a más funcionalidades o usuarios) .
- Las estrategias para mitigar los problemas de escalabilidad incluyen establecer reglas de recuperación estrictas, segmentar datos en diferentes bases de datos, usar procesamiento asíncrono y hacer que los agentes evalúen la confianza de sus respuestas .
- Las herramientas sin código como n8n tienen sus límites: Aunque n8n es potente para la automatización visual, la integración de API y los flujos de trabajo de IA básicos, puede encontrar limitaciones al procesar conjuntos de datos masivos, escalar a miles de usuarios o manejar una autenticación compleja a nivel empresarial .
- La mejor estrategia para soluciones a gran escala es un enfoque híbrido, combinando la velocidad y modularidad de las herramientas sin código como n8n con scripts de código personalizado (por ejemplo, Python) para el procesamiento complejo y el manejo de datos .
Comprende grandes cantidades de material como un genio — con LilysAI
Más de 1.000.000 de exploradores del conocimiento usan Lilys AI.
