Descarga el WorkFlow de la lección:
En la lección anterior, nuestro agente de IA generó su primera respuesta. Sin embargo, los modelos de lenguaje tienden a usar más palabras de las necesarias para contestar. Enviar un párrafo largo en WhatsApp puede ser abrumador. Una buena práctica es dividir la respuesta en varios mensajes cortos y añadir elementos como emojis para hacerla más amigable.
En esta lección, utilizaremos un segundo llamado a un modelo de IA, esta vez con el único propósito de actuar como un «un especialista en dar formato a mensajes de WhatsApp«.
Objetivos de esta lección:
- Utilizar el nodo Basic LLM Chain para procesar la respuesta del agente principal.
- Crear un prompt específico que instruya a un modelo de IA para dividir y formatear texto para WhatsApp.
- Asegurar que la salida sea un JSON estructurado para poder procesarlo fácilmente.
- Dividir el JSON resultante en ítems individuales para enviarlos uno por uno.
Paso 1: Configurar el Nodo Basic LLM Chain
Este nodo es ideal para tareas de procesamiento de texto donde una entrada produce una salida específica.
- Añade un nodo Basic LLM Chain después del AI agent.
- Renómbralo a formatear_respuesta.
- En la configuración del nodo, en la sección Source for Prompt (User Message), cambia la entrada a Define below.
- En el campo Prompt (User Message), vamos a darle la instrucción:
Procesa el siguiente mensaje: y arrastra la salida output de tu agente principal AI agent aquí. - Activa la opción Require Specific Output Format. Esto da un formato especifico a los datos de salida del nodo.
- Haz clic en Add Prompt y asegúrate de que el rol sea System. Ahora, necesitamos un «System Prompt» que le diga al modelo exactamente cómo queremos que formatee el texto.
- En el campo Message, pega un prompt detallado. Aquí tienes un ejemplo muy efectivo:
# Instrucciones para Formatear Mensajes para WhatsApp
Actúa como un experto en comunicación digital especializado en WhatsApp Business. Tu tarea es tomar cualquier mensaje largo y reorganizarlo en múltiples mensajes optimizados para WhatsApp, manteniendo TODA la información original.
## Reglas de formateo:
### Estructura general:
1. *Mensaje 1: Introducción + datos básicos (mantener el saludo/contexto original)
2. **Mensaje 2: Características principales
3. **Mensaje 3: Servicios y políticas
### Formato de cada mensaje:
- Máximo 3-4 líneas por mensaje
- Usar emojis relevantes para hacer más visual
- Mantener el tono original del mensaje
- NO perder ningún dato: direcciones, capacidades, horarios, etc.
### Preservar:
- El saludo/contexto inicial completo
- Todos los datos técnicos (direcciones, capacidades, horarios)
- El call to action final
- El tono de comunicación original
## Formato de salida:
Devuelve SIEMPRE un JSON con esta estructura exacta:
json
{
"respuesta": [
"Texto del primer mensaje",
"Texto del segundo mensaje",
"Texto del mensaje final"
]
}
### Reglas para el JSON:
- Cada elemento del array es un mensaje individual
- Mantener el orden lógico: introducción -> características -> servicios -> call to action
- NO agregar texto explicativo fuera del JSON
- NO numerar los mensajes en el JSON
## Ejemplo:
INPUT: [Mensaje largo con información]
OUTPUT: JSON con array de respuestas listo para WhatsApp
Paso 3: Definir el Formato de Salida (Output Parser) y conectar con el modelo de IA
Para asegurarnos de que el modelo siempre nos devuelva la información en el formato que necesitamos, usaremos un «Output Parser».
- En la configuración del nodo, ve a la sección Output Parser.
- Elige la opción Structure Output Parser .
- En el campo JSON Example, vamos a darle un ejemplo de cómo queremos la respuesta. Introduce la siguiente estructura:
{"respuesta": []}
Esto le indica al modelo que esperamos un objeto JSON con una clave «respuesta» que contiene una lista (array). - Activa la opción Auto-Fix Format para que el modelo intente corregirse a sí mismo si comete un error de formato.
Conexiones: Vamos a conectar este nodo y el nodo formatear_respuesta a nuestro modelo de IA GPT-5 que tenemos configurado.
Paso 4: Dividir la Respuesta en Múltiples Ítems
Si ejecutas el nodo formatear_respuesta verás que el resultado (Output) es un solo ítem que contiene un JSON con la lista de mensajes. Para enviarlos uno por uno, necesitamos que cada mensaje sea un ítem separado.
- Añade un nodo Split Out después del nodo formatear_respuesta.
- Renómbralo a dividir_mensajes.
- En el campo Field to Split Out, debemos especificar la ruta a la lista de mensajes.
Escribe: output.respuesta.
N8n entenderá que debe tomar el campo output del nodo anterior, y dentro de él, el array respuesta, y crear un nuevo ítem por cada elemento de ese array. - Ejecuta este nodo. Si la respuesta se dividió en 4 mensajes, el Output de este nodo mostrará 4 ítems, cada uno conteniendo uno de los mensajes listos para ser enviados y va a permitir mandar los mensajes uno por uno como respuestas en WhatsApp.
Resumen de la Lección:
¡Hemos transformado con éxito una respuesta potencialmente larga y aburrida en una serie de mensajes cortos, amigables y listos para WhatsApp!
En esta lelección hemos aprendido a:
- Utilizar un segundo modelo de IA como una herramienta de formateo especializada.
- Crear prompts de sistema muy específicos para tareas de formato.
- Forzar una salida en formato JSON para obtener resultados predecibles y estructurados.
- Usar el nodo Split Out para convertir una lista dentro de un JSON en múltiples ítems ejecutables.
Próximos Pasos:
Ya tenemos nuestros mensajes individuales listos para ser enviados. En la lección final de este módulo, construiremos un bucle (Loop) para enviar cada mensaje uno por uno, simulando que una persona está escribiendo, y finalmente, limpiaremos la memoria temporal de Redis. ¡Ya casi lo tenemos!