Diseña Agentes de IA y Flujos de Trabajo de Automatización
Construye sistemas de IA agentes y flujos de trabajo de automatización con prompts reutilizables, gestión de estado y patrones de integración que escalan de forma confiable en n8n, APIs y LLMs.
Construye sistemas de IA agentes y flujos de trabajo de automatización con prompts reutilizables, gestión de estado y patrones de integración que escalan de forma confiable en n8n, APIs y LLMs.
Por Copy&Prompt TEAM · Publicado junio 2025 · Actualizado junio 2025
Respuesta rápida: Diseña agentes de IA dándoles un rol fijo, un conjunto limitado de herramientas, memoria a corto plazo y una condición de salida. Conéctalos en flujos de trabajo mediante disparadores deterministas (webhooks, programaciones o llamadas a APIs) y pasa JSON estructurado entre pasos. Almacena cada prompt reutilizable de agente de forma externa para que las actualizaciones se propaguen a todos los flujos de trabajo instantáneamente. Valida cada agente contra tres modos de fallo antes de encadenarlos: tiempo de espera agotado, bucle infinito y llamada a herramienta alucinada.
Introducción
Quieres construir agentes de IA que no colapsen después de la tercera ejecución. Quieres flujos de trabajo de automatización que sobrevivan a actualizaciones de modelos y cambios en el equipo. Quieres sistemas que se recuperen de los fallos en lugar de amplificarlos.
Esta guía te lleva por la capa de arquitectura que todo equipo omite. Cubrimos gestión de estado, versionamiento de prompts, contratos de herramientas y patrones de integración usando Copy&Prompt, n8n y APIs LLM nativas.
Límite de tiempo: 45 minutos. Nivel: intermedio. Ya deberías saber cómo llamar a una API y escribir un prompt básico de sistema.
Requisitos previos
- Una clave API de OpenAI, Anthropic o Gemini (o modelo autohospedado).
- Acceso a Copy&Prompt para versionamiento de prompts (el plan gratuito es suficiente).
- Una herramienta de flujo de trabajo: n8n (local o en la nube), Make o un script ligero en Node.js.
- Familiaridad básica con esquemas JSON y APIs REST.
- Presupuesto: cero si usas planes gratuitos. Planifica costos de API más allá de 10,000 llamadas mensuales.
Paso 1: Define el contrato del agente
Comienza con un contrato, no con código. Cada agente debe declarar su rol, entradas, salidas, comportamiento ante fallos y herramientas en un único prompt versionado.
{
"role": "Analista Principal de Investigación",
"input": "Una cadena de consulta del cliente",
"output": "JSON estructurado con claves: intención, urgencia, próximo_paso_recomendado",
"timeout_seconds": 30,
"max_retries": 2,
"tools": ["web_search", "summarize"],
"failure_mode": "escalar_a_humano"
}Consejo: Nunca codifiques el contrato dentro de la lógica del flujo. Almacénalo como plantilla de prompt en Copy&Prompt para que cada flujo obtenga la misma definición.
Error común: Definir "herramientas" como cadenas sueltas en lugar de APIs tipadas. El modelo alucinará parámetros.

Paso 2: Externaliza los prompts en una biblioteca versionada
La principal fuente de desviación es usar prompts integrados. Cuando actualizas un prompt de sistema dentro de n8n, debes republicar manualmente cada flujo de trabajo. En su lugar, almacena los prompts de forma externa.
Usa Copy&Prompt para alojar cada prompt de agente. Cada prompt obtiene un identificador estable:
GET https://api.copyandprompt.com/v1/prompts/{prompt_id}?version=latestLos flujos de trabajo llaman a este endpoint en tiempo de ejecución. Una sola actualización de prompt se propaga instantáneamente a todos los lugares.
Consejo: Fija la versión (hash) en flujos de trabajo de producción. Activa la actualización automática solo en entornos de pruebas.
Error común: Usar “latest” en producción. Un buen cambio de prompt puede degradar silenciosamente el 80% de los flujos de trabajo de la noche a la mañana.
Paso 3: Construye el bucle de ejecución
Cada agente ejecuta tres fases: inicializar, actuar, terminar.
- Inicializar: Carga el contrato de prompt desde tu biblioteca versionada.
- Actuar: Llama al LLM con rol + contexto + herramientas. Analiza la respuesta JSON.
- Terminar: Verifica las condiciones de salida. Si se cumplen, devuelve el resultado. Si no, decide la siguiente acción.
while not exit_condition_met:
response = call_llm(system_prompt, user_input, tools)
action = parse_action(response)
if action.type == "search":
result = web_search(action.query)
tool_result = summarize(result)
elif action.type == "finish":
return action.output
else:
escalate_to_human()
Consejo: Limita las iteraciones a 5–10 ciclos. Ningún agente debería ejecutarse indefinidamente.
Error común: No hay límite de iteraciones. Los agentes giran sin parar ante entradas ambiguas.
Paso 4: Diseña puntos de integración deterministas
Los agentes son no deterministas. Los flujos de trabajo deben ser deterministas. Conecta ambos con contratos estructurados.
Toda salida de agente se convierte en un objeto JSON que se pasa al siguiente paso. Define esquemas en cada punto de transferencia:
{
"type": "object",
"properties": {
"intent": {"type": "string", "enum": ["billing", "technical", "sales"]},
"urgency": {"type": "integer", "minimum": 1, "maximum": 5},
"next_step": {"type": "string"}
},
"required": ["intent", "urgency", "next_step"]
}
Consejo: Usa esquemas Zod en TypeScript para validar las salidas de los agentes antes de enrutarlas.
Error común: Pasar texto sin estructurar entre agentes. Los datos no estructurados acumulan errores.
Paso 5: Encadena agentes en flujos de trabajo
Usa n8n o un script orquestador. Cada nodo llama a un agente mediante HTTP.
Ejemplo de flujo en n8n:
Webhook recibe un correo electrónico del cliente.
El nodo 1 llama al agente Clasificador de Intenciones. Analiza la salida JSON.
El nodo 2 enruta a agente de Facturación o Técnico según la intención.
El nodo 3 llama al agente Base de Conocimiento con contexto estructurado.
El nodo final envía la respuesta por correo o Slack.
Consejo: Inserta un nodo "puerta de calidad" entre agentes. Valida el esquema JSON antes de reenviar.
Error común: Cadena lineal sin mecanismo de fallback. Un agente fallido rompe todo el flujo.
Paso 6: Gestión de estado
La mayoría de los fallos de agentes se deben a contexto perdido. Usa un almacenamiento de estado persistente.
Implementa un almacenamiento clave-valor simple (Redis, SQLite o incluso un archivo JSON) por instancia de flujo:
{
"run_id": "abc-123",
"current_agent": "knowledge_base",
"history": [
{"agent": "intent_classifier", "output": {...}},
{"agent": "knowledge_base", "output": {...}}
],
"user_context": {
"customer_id": "cust_99",
"previous_ticket": "TKT-3321"
}
}
Consejo: Registra cada interacción de agente. La recuperación comienza con trazabilidad.
Error común: No hay persistencia de estado. Los flujos de trabajo de larga duración olvidan decisiones anteriores.
Paso 7: Monitoreo y recuperación
Supervisa tres métricas por agente:
Tasa de salida: Porcentaje de ejecuciones que alcanzan un estado terminal.
Tasa de reintentos: Porcentaje de llamadas a herramientas que requieren reintento.
Tasa de alucinaciones: Porcentaje de salidas JSON malformadas.
Configura alertas cuando cualquier tasa supere el 5%. Reintenta automáticamente los agentes fallidos una vez, luego escala.
Consejo: Almacena ejecuciones fallidas con contexto completo. Repítelas con un prompt corregido para probar la recuperación.
Error común: Sin alertas. La degradación silenciosa destruye la confianza en el sistema.
Cómo verificar que funciona
Prueba cada agente contra tres escenarios:
Camino feliz: Entrada clara que coincide con el contrato de prompt.
Entrada ambigua: Caso límite que obliga al agente a pedir aclaraciones.
Herramienta fallida: Simula un tiempo de espera o error de API. Confirma que se active la escalada.
Los tres deben pasar antes de la implementación.
Solución de problemas comunes
El agente se queda en bucle indefinidamente
Causa: No hay límite de iteraciones o la condición de salida no coincide.
Solución: Establece un límite rígido de 10 ciclos. Registra cada iteración.
Desajustes en el esquema de salida
Causa: Deriva del prompt o plantillas no versionadas.
Solución: Valida cada salida contra su esquema. Fija las versiones de los prompts.
El flujo de trabajo se estanca en un agente
Causa: No hay manejo de tiempos de espera o lógica de reintento.
Solución: Agrega lógica de interruptor de circuito. Enruta los fallos a un nodo de escalada humana.
Conclusiones clave
Define cada agente con un contrato fijo almacenado fuera del código.
Externaliza los prompts en una biblioteca versionada como Copy&Prompt.
Limita los bucles de agentes. Nunca permitas que se ejecuten de forma ilimitada.
Pasa JSON estructurado entre agentes. Nunca texto sin estructurar.
Supervisa las tasas de salida, reintentos y alucinaciones. Alerta al 5%.
Prueba agentes con entradas felices, ambiguas y fallidas.
Paso siguiente
Toma tu agente mejor evaluado hoy. Mueve su prompt a Copy&Prompt. Reemplaza la versión integrada con una llamada API. Implementa un flujo de trabajo usando este patrón. Detectarás desviaciones antes de que rompan la producción.
Preguntas frecuentes
¿Puedo construir agentes sin n8n?
Sí. Usa un script ligero en Node.js con Express para triggers HTTP. n8n no agrega capacidad única más allá de la orquestación visual. La clave es transferencias estructuradas y estado persistente.
¿Cuántos agentes debería tener un flujo de trabajo?
Limita a 5–7 agentes por flujo de trabajo. Más allá de eso, la complejidad de depuración crece exponencialmente. Menos agentes con mayor capacidad de herramientas escalan mejor que largas cadenas.
Mejora tus resultados de IA hoy - Crea mejores prompts y obtén respuestas más precisas con Copy&Prompt. Copy&Prompt →