Agentes IA · CULTIVA IA

Pipeline Multi-Agente: NutriSync SEO

Arquitectura de producción generada por el Diseñador de Flujos Multi-Agente — patrón híbrido Sequential + Evaluator

Resumen del caso
Cliente
NutriSync SaaS
Patrón principal
Sequential + Evaluator
Agentes
5 especializados
Budget máx.
8 000 tokens/art.
Selección de patrón

Basado en el perfil de dependencias y riesgo del brief, el sistema selecciona los dos patrones óptimos.

⛓️
Sequential
Cadena lineal de dependencias
Parallel
Fan-out de tareas independientes
🔀
Router
Despacho por intención/tipo
🧠
Orchestrator
Planificación dinámica con DAG
ACTIVO
🔁
Evaluator
Loop calidad hasta score ≥ 0.8
Razonamiento: Los pasos 1-3 tienen dependencia lineal estricta (cada paso requiere el output anterior) → Sequential. Los pasos 4-5 requieren un gate de calidad con posibilidad de iterar → Evaluator. Patrón Parallel descartado (tareas no independientes). Orchestrator overkill para este caso de uso.
Diagrama de flujo

Pipeline completo de generación de artículo SEO — NutriSync

— FASE 1: Sequential (Producción) —
PASO 1
🔍 research_agent
Keywords, intención de búsqueda, análisis competidor
~1 200 tokens · 90s
PASO 2
📐 outline_agent
Esquema H1/H2/H3 + brief por sección
~800 tokens · 90s
PASO 3
✍️ writer_agent
Redacción completa ~1 200 palabras
~4 000 tokens · 90s
— FASE 2: Evaluator Loop (Calidad + Publicación) —
📝
writer_agent
Revisa y mejora el draft
🔬
seo_reviewer
Score: keywords · meta · links
PASS ≥ 0.8 → FAIL: retry
max 3 iter.
🚀
publisher_agent
WordPress REST API
Budget total: 8 000 tokens por artículo
Timeout: 90s por paso
Retry: 2 reintentos · backoff 2s
Throughput: ~20 artículos/mes sin intervención humana
Contratos de handoff (mínimo por arista)
📤 research_agent → outline_agent
workflow_idnutrisync-content-{uuid}
step_id"research"
task"generate_outline"
upstream_artifactskeywords[], serp_analysis, competitors[]
budget_tokens800
timeout_seconds90
📤 outline_agent → writer_agent
workflow_idnutrisync-content-{uuid}
step_id"draft"
task"write_full_article"
upstream_artifactsoutline_h1h2h3, section_briefs[], tone
budget_tokens4000
timeout_seconds90
📤 writer_agent → seo_reviewer
workflow_idnutrisync-content-{uuid}
step_id"review_iter_{n}"
task"score_seo_quality"
upstream_artifactsarticle_md, target_keyword, meta_description
budget_tokens600
constraintspass_threshold: 0.8, criteria: [keywords, format, links]
📤 seo_reviewer → publisher_agent
workflow_idnutrisync-content-{uuid}
step_id"publish"
task"publish_to_wordpress"
upstream_artifactsarticle_md (score ≥ 0.8), meta, slug, category
budget_tokens400
timeout_seconds30
nutrisync-content-pipeline.json
nutrisync-seo-evaluator.json
{
  "name": "nutrisync-content-pipeline",
  "pattern": "sequential",
  "steps": [
    {
      "id": "research",
      "agent": "research_agent",
      "next": "outline",
      "budget_tokens": 1200,
      "timeout_seconds": 90
    },
    {
      "id": "outline",
      "agent": "outline_agent",
      "next": "write",
      "budget_tokens": 800,
      "timeout_seconds": 90
    },
    {
      "id": "write",
      "agent": "writer_agent",
      "next": "evaluate",
      "budget_tokens": 4000,
      "timeout_seconds": 90
    }
  ],
  "retry": {
    "max_attempts": 2,
    "backoff_seconds": 2
  }
}
{
  "name": "nutrisync-seo-evaluator",
  "pattern": "evaluator",
  "generator": {
    "agent": "writer_agent",
    "budget_tokens": 4000,
    "timeout_seconds": 90
  },
  "evaluator": {
    "agent": "seo_reviewer_agent",
    "criteria": [
      "keyword_density",
      "meta_description",
      "internal_links"
    ],
    "budget_tokens": 600
  },
  "loop": {
    "max_iterations": 3,
    "pass_threshold": 0.8,
    "on_fail": "revise_and_retry"
  },
  "on_pass": {
    "agent": "publisher_agent",
    "target": "wordpress_rest_api",
    "budget_tokens": 400,
    "timeout_seconds": 30
  }
}
Heurísticas de selección aplicadas
Dependencia lineal
Los pasos 1→2→3 tienen dependencia estricta de outputs. Sequential es el patrón mínimo suficiente.
Gate de calidad
Publicar sin revisión es riesgo alto (SEO dañado). Evaluator con score ≥ 0.8 garantiza calidad antes de publicación.
Budget controlado
Presupuesto explícito por paso evita cost spill. Total: ~7 000 tokens en happy path (bajo el límite de 8 000).
Orchestrator descartado
El flujo es determinista y no requiere planificación dinámica. Orchestrator añadiría complejidad sin beneficio.
Parallel descartado
Ninguna tarea es independiente del paso anterior. Fan-out no aplica a este pipeline.
Iteración máxima
max_iterations=3 previene loops infinitos. Si falla 3 veces, el artículo escala a revisión humana manual.
Pitfalls evitados en este diseño
⚠️
Over-orchestration: Se eligió Sequential+Evaluator en lugar de Orchestrator dinámico. El flujo es predecible y testeable sin overhead de planificación.
⚠️
Missing timeouts: Cada paso tiene timeout_seconds explícito (90s producción, 30s publicación). Evita cuellos de botella en llamadas a LLM externo.
⚠️
Cost accumulation: Budget por paso sumado garantiza que ningún artículo supere los 8 000 tokens de presupuesto máximo definido en el brief.
⚠️
Handoff implícito: Cada arista del grafo tiene contrato mínimo explícito (workflow_id, step_id, task, artifacts, budget, timeout) — sin dependencias implícitas.