← SCRAM AI Lab
Aprende a combinar consultas SQL deterministas con Claude Sonnet para generar nudges comerciales de alta adopción en tu CRM sin inflar costos operativos.
May 21, 2026
415 lecturas

El error que vemos en todos los CRMs que prometen "AI insights" es pedirle al LLM que encuentre los patrones. No los va a encontrar: los costos explotan, las latencias son atroces y la mitad de las recomendaciones son alucinadas. El patrón que funciona en producción es invertido: SQL detecta, LLM contextualiza. La máquina relacional sabe contar; el LLM sabe redactar el mensaje que el vendedor abre desde su iPhone a las 9 PM.
Los asistentes nativos fallan porque intentan procesar bases de datos relacionales completas mediante prompts no estructurados, lo que genera costos exorbitantes por token, latencias de varios segundos y recomendaciones alucinadas sin sustento. Al carecer de filtros deterministas previos, inundan al ejecutivo con sugerencias irrelevantes que terminan ignoradas sistemáticamente por el equipo comercial.
Cuando una plataforma delega el análisis de miles de registros a un modelo de lenguaje masivo, el costo de inferencia se multiplica innecesariamente. Las bases de datos relacionales como PostgreSQL o MySQL fueron optimizadas durante cuatro décadas para agregar, filtrar y comparar fechas en milisegundos. Delegar esa labor a un LLM equivale a utilizar un soplete para encender un fósforo. La arquitectura debe mantener la separación estricta de responsabilidades: la base de datos ejecuta la lógica booleana y el modelo de lenguaje actúa únicamente como la capa de síntesis y redacción ejecutiva.
Evaluamos tres enfoques comunes de implementación frente a variables operativas críticas en flujos de ventas B2B:
| Criterio | Workflows tradicionales (Reglas fijas) | LLM Autónomo (RAG sobre CRM) | Híbrido: SQL Detector + LLM (SCRAM) |
|---|---|---|---|
| Latencia de ejecución | Inmediata (< 100 ms) | Alta (4 a 12 segundos) | Baja (< 1 segundo total) |
| Costo por 1,000 alertas | $0.00 USD | $15.00 a $40.00 USD | $3.00 USD (según tarifas de API de Anthropic) |
| Riesgo de alucinación | Nulo (plantilla estática) | Alto en fechas e importes | Nulo en métricas; mínimo en tono |
| Adopción comercial observada | Baja (percibido como spam) | Media-Baja (fatiga por texto irrelevante) | Alta (41% según telemetría interna de SCRAM) |
Después de mirar métricas de adopción en cinco clientes, estos son los únicos que pasan el filtro de "el vendedor lo abre y actúa":
Nótese lo que no está: "contacto cumple años", "se acerca renovación en 6 meses", "el clima está bueno para llamar". Calendar reminders no son nudges; son ruido.
SELECT d.id, d.title, d.amount, d.stage, d.owner_id,
c.full_name, c.email,
MAX(a.created_at) AS last_activity
FROM crm_deal d
JOIN crm_contact c ON c.id = d.primary_contact_id
LEFT JOIN crm_activity a ON a.deal_id = d.id
WHERE d.status = 'open'
AND d.stage IN ('qualified', 'proposal', 'negotiation')
GROUP BY d.id, c.id
HAVING MAX(a.created_at) < NOW() - INTERVAL '14 days'
OR MAX(a.created_at) IS NULL
ORDER BY d.amount DESC
LIMIT 50;
Para cada fila del SQL, hacemos una sola llamada a Claude Sonnet 4.6 (tier 2 en nuestro router) con el contexto mínimo del deal y el historial de actividad. El prompt:
const prompt = `Eres un asesor comercial revisando un deal stale.
Deal: ${deal.title} - $${deal.amount} MXN
Stage: ${deal.stage}
Contacto: ${contact.full_name} (${contact.email})
Última actividad: ${daysSince} días atrás - ${lastActivity.type}
Historial reciente: ${activitySummary}
Genera UN nudge accionable de 2 frases para el vendedor:
1. Por qué este deal merece atención AHORA
2. Acción concreta sugerida (llamar / email específico / agendar)
No saludes. No expliques que es un nudge. Directo al grano.`;
Costo por nudge: ~$0.003 USD. Para 50 nudges diarios son $4.50/mes por org. La alternativa de Opus es 5x más cara y no mueve la métrica.
En los equipos comerciales de México y América Latina existe una fricción operativa recurrente: gran parte de la negociación real sucede fuera del CRM. Conversaciones clave ocurren en WhatsApp, llamadas personales de teléfono celular o reuniones presenciales que los ejecutivos no registran oportunamente. Este desfase afecta de forma directa la validez del detector SQL.
Si la base de datos asume que un lead lleva quince días abandonado simplemente porque la interacción ocurrió por mensajería instantánea no sincronizada, el nudge pierde credibilidad ante el vendedor. Para contrarrestar esta brecha sin imponer cargas administrativas adicionales, recomendamos dos ajustes:
Existen puntos de falla técnicos que comprometen el sistema si no se gestionan desde el despliegue inicial:
Trackeen nudges atendidos en 24h, no nudges generados. Un nudge atendido es uno donde el vendedor registra actividad sobre ese deal/contacto en las 24h siguientes a haber abierto el panel. En SCRAM ese ratio es 41%; cuando bajaba de 30% sabíamos que el detector SQL estaba generando ruido (umbral de días mal, stages incorrectos) y volvíamos a tunear.
No hacemos push notifications. Los nudges viven en un widget del dashboard que el vendedor revisa en su rutina matutina. Push agresivo a Slack/email destruye la señal en dos semanas: aprenden a ignorarlos. El nudge debe ser un regalo, no una interrupción.
La pregunta abierta: ¿qué pasa cuando el LLM aprende del comportamiento del vendedor (cuáles atiende, cuáles ignora) y reordena? Estamos probando un bandit contextual encima del detector SQL — primeros resultados en el siguiente artículo de esta serie.
Artículos relacionados
¿Quién autoriza a un agente? Permisos automáticos, aprobación humana y dos turnos
Claude, OpenAI y Microsoft ya traen controles para decidir qué ejecuta un agente. Los comparamos con el nuestro: la llave identifica y el código autoriza.
Traefik v2.10 con auto-renewal certs para 94 containers
Wildcard *.scram2k.com cubre la mayoría, certs individuales para el resto. acme.json shared, DNS-01 para wildcards, HTTP-01 para subdomains. Anti-patrón: cert por container.
OpenTelemetry tracing para pipelines LLM
Domina el tracing de pipelines LLM con OpenTelemetry y GenAI semantic conventions. Optimiza latencias en producción y evita sobrecostos con tail sampling.