NOVATECS AGENTS
Catálogo de agentes IA · 2026-04-17
Nuestros agentes IA
Cada tarea del ciclo procurement está cubierta por un agente especializado con un rol único,
un modelo Claude elegido por tarea (Sonnet para razonamiento, Haiku para velocidad) y herramientas
específicas. Esto es el núcleo del producto: no un chatbot generalista, sino una red de
especialistas coordinados por supervisors que saben cuándo pasar la pelota.
3 Crons
Diarios + retention
Onboarding automático de proveedores por WhatsApp + email. El flujo recoge 6 documentos
requeridos (constancia fiscal, opinión cumplimiento, comprobante domicilio, acta constitutiva,
estado cuenta, ID representante) y 6 datos críticos antes de escalar a revisión humana.
🧠
Supervisor M1 (Orquestador)
Coordinador de los 5 especialistas
Recibe cada mensaje inbound (WA o email), decide a qué especialista pasarlo según
contexto de la conversación y estado del proveedor. La regla de oro: todo handoff
termina en comunicador para que el proveedor reciba respuesta.
Sonnet 4.6LangGraph supervisorproductivo
📇
Gestor
CRUD de proveedores
Registra proveedor nuevo, actualiza datos, cambia estados (nuevo → contactado → en_proceso → docs_incompletos → docs_completos), asigna asesor automático por menor carga.
Haiku FAST
🏷️
Clasificador
Identifica tipos de documento
Determina si un archivo subido es constancia fiscal, opinión cumplimiento, comprobante domicilio, acta constitutiva, estado de cuenta o ID. Usa pattern matching en el filename, sin LLM.
Haiku FASTpattern match
🔍
Validador
Vision + reglas fiscales
Valida documentos con Claude Vision (legibilidad, datos correctos, firma/sello). Valida RFC formato MX (persona moral 12 / física 13 chars) y CLABE 18 dígitos. Opinión cumplimiento con TTL de 30 días.
Sonnet SMARTVision
💬
Comunicador
WhatsApp + Email bidireccional
Único canal de salida al proveedor. Envía WhatsApp y email. Recibe respuestas. Respeta per-chat takeover (agente_pausado) para cuando un humano retoma la conversación.
Haiku FASTWA + MS Graph
🔔
Notificador
Alertas al equipo comprador
Crea notificaciones en dashboard + email interno + Teams cuando un proveedor alcanza hitos importantes (docs listos, revisión humana, aprobación). Dedup de 60s para evitar ruido.
Haiku FAST
Pipeline agéntico que encuentra proveedores nuevos cuando el catálogo interno no los tiene.
7 fuentes externas corren en paralelo, el scraper enriquece, el evaluador scorea con rubrica
explicable y el presentador arma la respuesta. Memoria que crece con cada búsqueda.
🧠
Supervisor M2 (Orquestador)
Orquestador Python del pipeline
Supervisor custom en Python puro (no LangGraph) que ejecuta el pipeline paso a paso:
analizador → memoria → 7 fuentes en paralelo con ThreadPoolExecutor → scraper → enriquecedor
→ evaluador → presentador. Controla el hardgate de costo ($1.50) y emite eventos SSE en vivo.
Sin routing LLM = cero overhead y control fino del costo por búsqueda.
Python directoThreadPoolExecutorproductivo
🎯
Analizador
Entiende la petición
Convierte el query natural del comprador ("busco acero en Nuevo León") a Criterios Pydantic estructurados (categoría, estado, num_resultados, criterios adicionales).
SonnetPydantic output
❓
Clarifier
Pregunta cuando falta info
Si el query es ambiguo ("proveedores"), sugiere slot-questions al usuario en chat inline ("¿qué categoría?", "¿qué estado?") con opciones pre-armadas. Evita búsquedas desperdiciadas.
Haikufew-shot
💾
Memoria (lector + escritor)
Catálogo descubierto
Si ya buscamos esto antes con resultados buenos, los reutiliza sin gastar APIs externas. Al final de cada búsqueda, hace upsert con dedup JSONB para crecer el catálogo.
SQL directoallow-list ISO
🏛️
DENUE
Registro INEGI oficial
Consulta API gratuita del DENUE (INEGI). Empresas con RFC válido y actividad económica oficial. Coverage: todo México. Requiere DENUE_TOKEN.
HaikuINEGI API
📍
Google Maps
Places API + reviews
Busca empresas por categoría + ubicación. Extrae teléfono, sitio web, rating, horarios. Fallback a web_search si no hay API key.
HaikuPlaces API
🌐
Buscador Web
web_search de Claude
Usa la tool oficial `web_search_20250305` de Anthropic. Encuentra empresas con presencia online pero no en directorios estructurados.
Sonnetnative web_search
🗺️
OpenStreetMap
Datos open-source de negocios
Consulta Overpass API. Coverage menor que Maps pero gratis, sin API key, y complementa con datos geográficos precisos.
Overpass APIgratis
📚
Wikidata
SPARQL empresas grandes
Empresas mexicanas grandes catalogadas en Wikidata. Útil para conocer corporativos y filiales. Sin API key.
SPARQLgratis
📞
Páginas Amarillas MX
Directorio B2C-pesado
Scrapea SecciónAmarilla.com.mx con Scrapling (bypass anti-bot + TLS fingerprint Chrome). Heurísticas de extracción robustas a cambios de layout.
Scraplingnuevo 2026-04-17
🏢
Empresite MX
Directorio B2B
Scrapea empresite.mx orientado a empresas B2B con razón social + domicilio fiscal. Complementario a Páginas Amarillas.
Scraplingnuevo 2026-04-17
🕷️
Scraper (cascade)
Enriquece top-5 URLs
Visita top-5 sitios web de las fuentes y extrae datos limpios: teléfono, email, descripción, certificaciones. Cascade Scrapling → httpx. SSRF-safe + robots.txt respectuoso.
ScraplingA6 sanitized
💵
Enriquecedor de Precios
Benchmarks de mercado
Para top-5 candidatos usa web_search para estimar precios típicos de la categoría. Ayuda al comprador a contextualizar ofertas.
Sonnetweb_search
⚖️
Evaluador
Score explicable
Scorea cada candidato en 5 sub-dimensiones (presencia web, certs, ubicación, precio, completitud) con pesos configurables + fórmula_explicada obligatoria para governance procurement.
SonnetPydanticrule-based fallback
🔄
Refinador
Segunda pasada si hace falta
Si la primera búsqueda no dio suficientes candidatos de calidad, expande criterios y reintenta con las fuentes que faltaron.
Sonnet
🎨
Presentador
Arma la respuesta final
Composición pura Python (sin LLM): hero + tabla + mapa + card top-5 destacado. Output renderizado por el dashboard vía SSE en vivo.
Python puroSSE streamed
Ciclo completo de vida de contratos: generación desde plantillas, firma electrónica vía Mifiel,
vigilancia de vencimientos, renovación asistida, retención SAT 7 años. Incluye OCR Vision para
contratos legacy firmados fuera del sistema.
🧠
Supervisor M3
Orquesta los 7 especialistas
Routea según trigger: nuevo_contrato, firma_proveedor_recibida, firma_tenant_recibida,
vencimiento_cercano, renovacion_iniciada. Todo handoff termina en comunicador_m3.
Sonnet 4.6LangGraph supervisorproductivo
📝
Generador
Plantilla → PDF
Renderiza Jinja2 + WeasyPrint con data del proveedor y variables del asesor. Registra documento en Mifiel para firma. Hash SHA-256 determinístico.
SonnetweasyprintMifiel
✅
Validador Completitud
Pre-envío a Mifiel
Verifica PDF draft: variables faltantes, cláusulas obligatorias, bloque de firmas presente.
Sonnet
✍️
Validador de Firma
Webhooks Mifiel
Procesa eventos Mifiel (signed/rejected/expired). Actualiza estado firmante + contrato. Descarga PDF firmado cuando cierra el ciclo. Idempotente vía event_id.
Sonnetwebhooks
📨
Comunicador M3
WA + email + notif tenant
WhatsApp al proveedor con link widget Mifiel, email con PDF adjunto, notif dashboard a firmantes tenant. Incluye firma móvil pública con QR.
HaikuWA + email
👁️
Vigilante
Cron diario vencimientos
Barrido diario 06:00 AM: alertas 60/30/15/7 días antes del vencimiento. Recordatorios WA si el proveedor no ha firmado + TTL Mifiel.
Haikucron 06:00
🔁
Renovador
Clona contrato → vigente
Cuando el comprador click "Renovar", clona el contrato padre con deltas, marca padre como renovado y arranca el generador sobre el nuevo.
Sonnet
📖
Lector (OCR)
Contratos externos legacy
Vision sobre PDFs de contratos firmados fuera del sistema. Extrae partes, fechas, monto, tipo → inserta en contratos con estado=firmado_completo y fuente=externo.
Haiku Vision
Ciclo completo de OCs: generación, validación, envío al proveedor por WA+email,
clasificación de respuestas, escalamiento automático a compradores humanos cuando se
requiere, OCR de evidencias (remisiones, OCs firmadas, fotos de entrega), vigilante
cron diario.
🧠
Supervisor M4
Orquesta los 7 especialistas
5 triggers: crear_oc, mensaje_proveedor, imagen_proveedor, vigilante_diario,
crear_oc_sin_enviar. Fuerza escalar si monto excede límite configurable.
Sonnet 4.6LangGraph supervisorMVP
🧾
Generador OC
Plantilla → PDF OC
Renderiza Jinja2 sandbox (bloquea RCE) + WeasyPrint con timeout. Plantillas HTML customizables por tenant. PDF a Supabase Storage.
Sonnetsandbox + autoescape
🛡️
Validador OC
Pre-envío integral
Proveedor aprobado (M1), contrato firmado_completo (M3), items con cantidad+precio positivos, monto > 0, moneda válida, fecha entrega futura, RFC formato MX.
Sonnetcross-module M1/M3
📤
Comunicador OC
WA + email al proveedor
Envía OC con PDF signed URL, nudges de acuse, responde textos redactados por seguimiento. Respeta oc_simulation_mode para demos.
HaikuWA + email
🔍
Seguimiento
Clasifica respuestas + cronograma
Clasifica texto inbound (acuse / confirmación / cambio / entrega / desconocido) con heurísticas. Evalúa si cronograma requiere nudge o alerta. Escala si no puede decidir.
SonnetFSM transitions
⚠️
Escalador
Notif al comprador humano
Crea notificación dashboard cuando el caso requiere humano: cambio de fecha/cantidad, monto excede límite, disputa, pregunta fuera política. Integrable con Teams.
Haiku
📷
Lector OC (OCR)
Vision para evidencias
OCR Vision sobre fotos del proveedor: OC firmada → acuse, remisión → surtida_parcial, foto entrega → surtida_completa. SSRF-safe + cap 10MB.
Haiku Vision
📅
Vigilante OC
Cron diario barrido
07:15 AM diario: detecta OCs sin acuse > 2 días, retrasos en entrega > 3 días de tolerancia, modificadas estancadas > 5 días. TenantScope context manager.
Haikucron 07:15
Arquitectura consolidada
Cómo se conectan los 4 módulos entre sí dentro del lifecycle procurement.
┌─────────────────────────────────────────────┐
│ DASHBOARD (Flask) │
│ /alta-proveedores /busqueda /contratos │
│ /ordenes /agentes /cockpit │
└──────────────────────┬──────────────────────┘
│ 4 portales multi-tenant
┌────────────────┐ ┌──────────────────────┴──────────────────────┐
│ WhatsApp Meta │─────────► │ webhook.py (port 5000) │
└────────────────┘ │ deduplica + rutea a supervisor correcto │
┌────────────────┐ │ │
│ MS Graph API │─────────► │ cron_email_polling │
└────────────────┘ └──────┬──────┬──────┬──────┬────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ │ ┌──────────────┐
│ M1 Super. │ │ │ M3/M4 Super. │
│ │ │ │ │
│ gestor, │ │ │ 7 agentes │
│ clasif., │ │ │ contratos + │
│ valid., │ │ │ 7 agentes │
│ comun., │ │ │ órdenes │
│ notif. │ │ │ │
└──────┬────┘ │ └──────┬───────┘
│ │ │
┌──────▼──────▼────────▼──────┐
│ M2 Pipeline (Python) │
│ 15 sub-agentes paralelos │
│ SSE service port 8502 │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ Supabase (multi-tenant) │
│ schema per tenant │
│ + Storage documentos │
└─────────────────────────────┘
M1 Alta de Proveedores
M2 Búsqueda Inteligente
M3 Contratos
M4 Órdenes de Compra