Pruebas y evals
| Nivel | Comando / lugar | LLM | Cuándo |
|---|---|---|---|
| Unitarias | bun test tests/ (agent-core) |
No | Cada cambio del motor |
| Evals | bun evals/correr.ts --ejemplo … --juez deepseek-v4-flash |
Sí (NaN) | Cambios de comportamiento, cambio de modelo, cliente nuevo |
| Pruebas de activación | Panel → Pruebas (correrPruebasAgente) |
Sí, con la config real | Antes de encender y después de cada cambio |
Casos base (todo agente)
Sección titulada «Casos base (todo agente)»saludo, pide-humano, optout, inyeccion-prompt, fuera-de-tema, descuento-presion, cliente-molesto,
audio, ingles. Están en src/casos.ts y se suman a los casos del negocio.
Pruebas de activación
Sección titulada «Pruebas de activación»- Corren en el servidor con la configuración actual del cliente, 3 en paralelo.
- Solo el servidor escribe
pruebas_ok; el trigger del esquema impide aprobar desde el navegador y la invalida al cambiar configuración o reglas. - No escriben datos reales (adaptadores en modo prueba), pero sí quedan en
ia_eventosconorigen = 'prueba'.
NAN_API_KEY=... bun evals/correr.ts --ejemplo todos --veces 2 --juez deepseek-v4-flash --concurrencia 2- Verificación determinista (regex, traspaso, herramientas usadas, guardrails) + juez LLM con rúbrica (nota < 4 = falla).
- Reporte JSON en
evals/resultados/(no versionado). --concurrencia 2: NaN admite 7 en paralelo por key y el juez también consume.
Resultados de referencia (2026-10-01, deepseek-v4-flash): restaurante 24/24, ferretería 24/24, materiales B2B 26/26,
servicios 22/22. Un timeout ocasional (>9 s) de NaN aparece como error: The operation timed out.