SismaticBot Assistant
SismaticBot está escribiendo...
Guía Técnica · Automatizaciones · 2026

Ingeniería de Prompts para Automatizaciones con IA

Los prompts que funcionan en ChatGPT no funcionan en producción. Esta guía cubre lo que ningún otro artículo en español explica: cómo escribir prompts para workflows reales con n8n y Claude.

10 min de lectura
💻 Nivel: Intermedio
🗓 Actualizado: abril 2026
5
Elementos de todo prompt de producción
90%
Ahorro con prompt caching en workflows repetitivos
3x
Más consistencia con few-shot frente a zero-shot
0
Competidores en español cubren n8n + prompting
01

Qué es (y qué no es) la ingeniería de prompts

La ingeniería de prompts es el proceso de diseñar instrucciones precisas para que un modelo de IA produzca outputs predecibles y reutilizables. No es encontrar la frase mágica que impresiona a ChatGPT — es diseñar un sistema de instrucciones que funcione igual la primera vez que la décima mil.

En automatizaciones, la diferencia es crítica: un prompt que «casi siempre funciona» rompe tu workflow cada pocas ejecuciones. Un prompt bien diseñado produce el mismo formato de salida el 99,9% de las veces, con datos distintos.

Prompt para ChatGPT Prompt para producción (n8n)
Conversacional, flexible Estructurado, determinista
El formato puede variar El formato es fijo y verificable
Se ajusta en tiempo real Funciona sin supervisión humana
El error lo corriges tú El error rompe el workflow silenciosamente
Un solo usuario Miles de ejecuciones al día
💡
La regla de oro del prompting en automatizaciones
Si un humano no puede verificar en 2 segundos que el output es correcto, el prompt no está suficientemente especificado. Diseña siempre pensando en la validación automática: ¿puedo hacer un JSON.parse() sobre este output sin try/catch?
02

Los 5 elementos de un prompt de producción

Todo prompt que funciona en producción tiene cinco componentes. Puedes omitir alguno en casos simples, pero cuando un workflow falla de forma inconsistente, casi siempre falta uno de estos cinco elementos.

1
Rol — quién es el modelo en este contexto
Define el perfil experto que Claude debe adoptar. No es decorativo: cambia el vocabulario, el nivel de detalle y los supuestos que hace el modelo. «Eres un extractor de datos estructurados» produce outputs distintos que «Eres un asistente útil».
2
Tarea — qué debe hacer exactamente
Un verbo de acción + un objeto concreto. «Extrae los campos nombre, email y empresa» es una tarea. «Analiza el email» no lo es — deja demasiado margen de interpretación para producción.
3
Contexto — la información de fondo que necesita
Aquí van los datos dinámicos del workflow: el email recibido, el texto del PDF, los datos del CRM. En n8n se inyectan como variables: {{$json.texto}}. El contexto nunca debe estar hardcodeado en el prompt.
4
Formato — cómo debe estructurarse el output
Especifica el formato exacto: JSON con los campos concretos, texto plano en N líneas, HTML con etiquetas específicas. Incluye un ejemplo del output esperado cuando el formato es complejo.
5
Restricciones — qué no debe hacer nunca
Las restricciones evitan los fallos silenciosos: «Sin texto antes ni después del JSON», «Si no encuentras el campo, devuelve null en lugar de inventarlo», «Máximo 3 párrafos». Son el seguro de calidad del prompt.

Plantilla — Prompt de producción completo

# ROL
Eres un extractor de datos estructurados especializado en documentos comerciales.

# TAREA
Extrae los campos indicados del siguiente email de solicitud de presupuesto.

# CONTEXTO (datos dinámicos del workflow)
Email recibido:
{{$json.emailBody}}

# FORMATO
Responde SOLO con este JSON, sin texto antes ni después:
{
  "nombre": "",
  "empresa": "",
  "producto_solicitado": "",
  "cantidad": null,
  "fecha_entrega": ""
}

# RESTRICCIONES
- Si un campo no aparece en el email, devuelve null (no inventes datos)
- Las fechas en formato DD/MM/YYYY
- Sin bloques markdown ni caracteres extra fuera del JSON
03

Prompts para workflows de n8n con Claude

n8n divide el prompt en dos campos en el nodo de Anthropic: System Message y Human Message. Esta separación no es cosmética — define cómo el modelo prioriza las instrucciones y es clave para la consistencia en producción.

System prompt vs. User prompt en el nodo Claude

Campo Qué va aquí Cambia entre ejecuciones
System Message Rol, formato de output, restricciones fijas No — es estático
Human Message Datos del workflow (email, PDF, variables) Sí — cambia en cada ejecución
⚠️
El error más frecuente en n8n
Usar el campo «Prompt» genérico en lugar de separar System y Human Message. Sin esa separación, el modelo pierde contexto de rol entre ejecuciones y la consistencia del output cae significativamente. Usa siempre los campos separados.

Cómo pasar datos del workflow al prompt

Las variables de n8n se inyectan con la sintaxis {{$json.campo}} dentro del Human Message. Para datos de nodos anteriores: {{$node['NombreNodo'].json.campo}}. Nunca metas datos dinámicos en el System Message — rompería el prompt caching.

Nodo Anthropic en n8n — configuración correcta

// SYSTEM MESSAGE (estático — se cachea automáticamente)
Eres un clasificador de emails de soporte.
Clasifica cada email y responde SOLO con JSON:
{
  "tipo": "consulta|queja|tecnico|cancelacion",
  "urgencia": "alta|media|baja",
  "resumen": "[máximo 15 palabras]"
}
Sin texto antes ni después del JSON.

// HUMAN MESSAGE (dinámico — varía en cada ejecución)
Email recibido:
{{$json.emailBody}}

De: {{$json.from}}
Asunto: {{$json.subject}}
04

Técnicas avanzadas para automatizaciones

Tres técnicas concentran el 80% del valor en prompting para automatizaciones: few-shot para consistencia de formato, Chain of Thought para extracción compleja, y control estricto de JSON para integración con otros nodos.

Few-shot: ejemplos dentro del prompt

El few-shot consiste en incluir 2-5 ejemplos de input/output esperado dentro del prompt. En automatizaciones es la técnica con mejor retorno: reduce los errores de formato hasta un 60% en tareas de clasificación y extracción, según benchmarks de Anthropic (2024).

Few-shot — Clasificador con ejemplos

Clasifica el sentimiento de reviews de producto.
Responde SOLO con: positivo | negativo | neutro

Ejemplos:
Input: "Llegó antes de lo esperado y funciona perfecto"
Output: positivo

Input: "Producto correcto pero el embalaje llegó dañado"
Output: neutro

Input: "No funciona, he intentado devolverlo y no responden"
Output: negativo

Ahora clasifica:
Input: {{$json.review}}
Output:

Chain of Thought para extracción compleja

El Chain of Thought (CoT) instruye al modelo a razonar paso a paso antes de dar la respuesta final. Es útil cuando el dato a extraer requiere inferencia: calcular una fecha relativa, interpretar un importe ambiguo o deducir una categoría de producto de una descripción libre.

Chain of Thought — Extracción con razonamiento

Extrae la fecha de entrega solicitada en este pedido.
El email puede expresarla de forma relativa ("para el viernes",
"urgente", "antes de fin de mes").

Hoy es {{$now.format('DD/MM/YYYY')}}.

Razona así:
1. Identifica cómo expresa la fecha el cliente
2. Convierte la expresión relativa a fecha absoluta
3. Devuelve el resultado

Responde con este formato:
RAZONAMIENTO: [tu análisis en 1-2 frases]
FECHA: [DD/MM/YYYY o null si no se menciona]

Email: {{$json.emailBody}}

Control de formato JSON estricto

El problema más común en n8n es que Claude devuelve el JSON envuelto en bloques markdown («`json … «`), lo que rompe el JSON.parse(). Hay dos soluciones: prohibirlo explícitamente en el prompt, o usar un nodo Set para limpiar la respuesta con regex.

Nodo Set — Limpieza de JSON con regex

// En el nodo Set de n8n, campo "Expression":
{{ $json.message.content[0].text.match(/\{[\s\S]*\}/)[0] }}

// Esto extrae el JSON aunque Claude lo envuelva en markdown
05

Testing y validación de prompts en producción

Un prompt no está listo para producción hasta que ha pasado por un ciclo de validación con datos reales. El 90% de los fallos en workflows de IA se detectan en las primeras 20 ejecuciones de prueba — si no las haces, los detectas en producción.

Cómo detectar un prompt inestable

Un prompt es inestable cuando produce outputs distintos con el mismo input. Las señales: el formato cambia entre ejecuciones, aparecen campos extra no solicitados, o el modelo «inventa» datos cuando no tiene información suficiente.

Síntoma Causa probable Fix
JSON con campos extra No especificaste el schema exacto Incluye el JSON vacío como plantilla en el prompt
Campos inventados cuando faltan datos No instruiste qué hacer con campos vacíos Añade «devuelve null si el dato no aparece»
Texto antes o después del JSON Falta la restricción explícita Añade «Sin texto antes ni después del JSON»
Formato correcto en tests, falla en prod Los datos de prod tienen edge cases no probados Añade few-shot con ejemplos de los edge cases
Respuestas inconsistentes en longitud No especificaste límite de tokens Añade maxTokens en el nodo y límite en el prompt

Métricas básicas para medir calidad

Para workflows de extracción, registra en Google Sheets: tasa de parse exitoso (JSON válido), tasa de campos null inesperados y tasa de ejecuciones que requirieron revisión manual. Con 100 ejecuciones de muestra tienes datos suficientes para decidir si el prompt está listo.

El test mínimo antes de activar
Ejecuta el workflow con 10 inputs reales variados: el más corto, el más largo, uno con datos faltantes, uno en mayúsculas y uno con caracteres especiales. Si los 10 pasan sin errores de parse, el prompt está listo para producción.
06

Errores de prompt que rompen los workflows

Estos son los seis errores de prompting que más workflows rompen en producción. Todos tienen solución en el prompt, sin cambiar de modelo ni de plataforma.

Error Por qué ocurre Solución en el prompt
JSON con bloques markdown Comportamiento por defecto del modelo «Responde SOLO con JSON válido. Sin «` ni texto adicional.»
Campos inventados El modelo prefiere dar un dato a devolver null «Si el campo no está en el input, devuelve exactamente null»
Respuesta en inglés El modelo sigue el idioma del input «Responde siempre en español, independientemente del idioma del input»
Output demasiado largo Sin restricción de longitud «Máximo [N] palabras» o limita maxTokens en el nodo
Formato correcto pero texto extra El modelo añade explicaciones no pedidas Añade un ejemplo explícito del output esperado al final del prompt
Inconsistencia con inputs cortos El modelo «rellena» cuando hay poco contexto Añade few-shot con ejemplos de inputs cortos y su output esperado
🚨
El error más peligroso: campos inventados sin avisar
Si tu workflow procesa datos críticos (facturas, pedidos, datos de clientes), el peor escenario no es que falle — es que invente un dato plausible y pase la validación. Añade siempre una instrucción explícita: «Si no encuentras el dato con certeza, devuelve null. Nunca infergas ni completes con datos aproximados.»
07

Prompt caching: hasta 90% de ahorro en costes

El prompt caching es la capacidad de Anthropic para reutilizar la parte estática de un prompt sin recalcularla en cada ejecución. En workflows de alto volumen es la optimización con mayor impacto en costes: un sistema prompt de 2.000 tokens que se ejecuta 1.000 veces al día pasa de costar 6$/día a 0,60$/día.

Cómo funciona en n8n

El caching se activa automáticamente cuando el System Message supera los 1.024 tokens y su contenido no cambia entre ejecuciones. Por eso la separación System/Human Message es crítica: el System Message estático se cachea, el Human Message dinámico no.

Regla de caching en n8n

✅ SE CACHEA (System Message — estático)
Rol + instrucciones fijas + schema JSON + restricciones + ejemplos few-shot

❌ NO SE CACHEA (Human Message — dinámico)
{{$json.emailBody}}, {{$json.datos}}, {{$now}}

// Regla práctica: si el texto cambia entre ejecuciones → Human Message
// Si el texto es siempre igual → System Message
Workflow Sin caching (1.000 ej/día) Con caching Ahorro
Clasificador emails (system: 800 tokens) 7,2$/mes 0,72$/mes 90%
Extractor facturas (system: 1.200 tokens) 18$/mes 1,8$/mes 90%
FAQ dinámico (system: 3.000 tokens) 27$/mes 2,7$/mes 90%
💡
Comprueba tu cache hit rate
En la respuesta de la API de Anthropic, el campo usage.cache_read_input_tokens indica cuántos tokens se sirvieron desde caché. Si este número es 0 en un workflow repetitivo, revisa que el System Message no tenga variables dinámicas que lo invaliden en cada ejecución.
08

Preguntas frecuentes

¿El mismo prompt funciona igual en Claude que en ChatGPT?
No. Cada modelo tiene comportamientos distintos ante las instrucciones. Claude sigue las restricciones de formato con más consistencia que GPT-4o en tareas de extracción estructurada, pero requiere instrucciones más explícitas sobre qué hacer cuando falta información. Si migras prompts de GPT a Claude, revisa especialmente las instrucciones de fallback (qué devolver cuando el dato no existe).
¿Cuántos ejemplos few-shot son suficientes?
Para clasificación binaria (sí/no, positivo/negativo) con 2-3 ejemplos suele ser suficiente. Para extracción de datos con múltiples campos, usa 3-5 ejemplos que cubran los edge cases más frecuentes: input completo, input con campos faltantes e input con formato inusual. Más de 7 ejemplos rara vez mejoran el resultado y aumentan el coste.
¿Qué versión de Claude usar en producción para automatizaciones?
Claude Sonnet 4 ofrece el mejor equilibrio coste-rendimiento para automatizaciones en 2026. Claude Haiku 4 es más económico pero menos consistente en extracción de datos complejos. Claude Opus 4 es innecesario para la mayoría de workflows repetitivos — reservarlo para tareas de razonamiento complejo o análisis de documentos largos.
¿Cómo sé si mi prompt está aprovechando el caching?
En n8n, activa el modo debug del nodo Anthropic y revisa el campo usage en la respuesta. Si cache_read_input_tokens es mayor que 0, el caching está activo. Si siempre es 0, el System Message está cambiando entre ejecuciones — probablemente tiene una variable dinámica que lo invalida.
¿Sirve la ingeniería de prompts para Make y Zapier además de n8n?
Sí. Las técnicas de esta guía son independientes de la plataforma — se aplican igual en el módulo de Claude de Make o en el action de Zapier. La diferencia es que n8n permite más control sobre la separación System/Human Message y sobre la respuesta raw de la API, lo que facilita el manejo de errores y la extracción del JSON.

Resumen ejecutivo

Claves para producción

  • Separa siempre System Message (estático) de Human Message (dinámico)
  • Los 5 elementos: rol, tarea, contexto, formato y restricciones
  • Few-shot con 3-5 ejemplos para clasificación y extracción
  • System Message estático de +1.024 tokens activa el prompt caching
  • Valida con 10 inputs reales variados antes de activar en producción

Errores a evitar

  • Usar el campo «Prompt» genérico en lugar de System + Human separados
  • No especificar qué devolver cuando falta un dato (null vs. inventado)
  • Meter variables dinámicas en el System Message (rompe el caching)
  • Activar en producción sin probar edge cases: inputs cortos, vacíos o con caracteres especiales
  • Asumir que el prompt de ChatGPT funciona igual en Claude sin ajustar

¿Quieres que revisemos tus prompts de producción?

Auditamos tus workflows de n8n o Make e identificamos qué prompts están fallando y por qué.

Solicitar auditoría de prompts