Ir al contenido

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

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.

  • 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_eventos con origen = 'prueba'.
Ventana de terminal
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.