← SCRAM AI Lab
Gemini Flash para 'gracias', gpt-4o-mini para clasificación, Sonnet 4.6 para conversación útil, Opus 4.7 solo cuando importa. Resultado: 70% menos costo en chatbots de volumen.
May 21, 2026
7 lecturas
Si mides los mensajes reales que llegan a un chatbot de producción, vas a encontrar una distribución brutal: el 60% es acknowledgment trivial, el 30% es pregunta de bajo contexto, el 8% requiere razonamiento real, y el 2% son los casos críticos donde un error sale caro. Pagar Opus 4.7 (~$15/MTok output) para responder "de nada" a alguien que dijo "gracias" es indefendible. Y sin embargo lo hace la mayoría de los chatbots que usan "un solo modelo bueno".
El patrón que SCRAM corre en producción tiene cuatro niveles, cada uno con un modelo distinto:
type Tier = 0 | 1 | 2 | 3;
function determineTier(message: string, ctx: Context): Tier {
const trimmed = message.trim().toLowerCase();
const wordCount = trimmed.split(/\s+/).length;
// Tier 0: acknowledgment puro
const ackPatterns = /^(gracias|ok|listo|perfecto|sale|va|si|no|excelente)[.!]?$/;
if (ackPatterns.test(trimmed) || wordCount <= 2) return 0;
// Tier 3: señales de criticidad
if (ctx.isHighValueDeal || ctx.isEscalated) return 3;
if (/error|stack trace|no funciona|urgente|critic/i.test(message) && wordCount > 15) return 3;
// Tier 1: preguntas cortas con baja complejidad
if (wordCount < 12 && !ctx.hasOpenObjection) return 1;
// Tier 2: default productivo
return 2;
}
Las señales que importan en producción: longitud del mensaje, presencia de keywords técnicos, valor del deal en el CRM, etapa del funnel. No te compliques con clasificadores ML: una función pura con heurísticas explícitas es 5ms, debugeable y la puedes ajustar viendo logs.
En un chatbot con 12,000 mensajes/día y 60% acknowledgments antes del router:
La sorpresa: la calidad percibida sube, no baja. Los mensajes de tier 0 responden en 300ms en lugar de 2s, lo que da al usuario sensación de fluidez. Los de tier 3 reciben razonamiento real en lugar del compromiso mediocre de un modelo "para todo".
Cada tier tiene fallback al siguiente superior si: (a) el provider devuelve 429/529, (b) latencia rebasa SLO, (c) el modelo expresó duda ("no estoy seguro" en la respuesta, detectable con un patrón corto). El fallback no es retry; es escalar. Y se loguea: si el 15% de los tier 1 escala a tier 2, tu clasificación está mal calibrada.
Aparte del costo, hay un tema de latencia. Opus 4.7 a ~2.5s de TTFT es genial para razonamiento, pero para "¿cuál es su horario?" se siente lento. La percepción de inteligencia en un chatbot está dominada por fluidez en lo trivial y profundidad en lo importante. Un router te da las dos. Un solo modelo te da una a costa de la otra.
¿Cuántos de los mensajes de tu chatbot del último mes eran "gracias"? Si no lo sabes, ese es el primer dato que vale la pena medir antes de discutir routers.
Artículos relacionados
Costo real Opus 4.7 vs Sonnet 4.6: números 2026
Opus 4.7 cuesta 5x más que Sonnet 4.6 y rinde aproximadamente 2x en razonamiento complejo. Sonnet basta para 70% de los casos productivos. Cuándo el delta paga.
Defensa contra prompt injection: scoring práctico
LLM-as-judge no escala ni en costo ni en latencia. Un scorer regex con patrones ponderados y threshold 0.6 atrapa 90% del problema en 2ms y sin llamadas extras al modelo.
Circuit breaker + retry exponencial para LLMs
Los endpoints de LLMs fallan diferente que las APIs tradicionales. 429 y 529 son ritmo, no muerte. El patrón circuit breaker con HALF_OPEN evita inundar al provider en mal momento.