Inteligencia Artificial · Serie LLMs y n8n
Evaluación continua: asegurando que tu modelo no empeore con el tiempo
La calidad de un sistema con IA no es un logro único: es una disciplina. Con evaluación continua detectas regresiones, controlas costos y promueves solo mejoras reales.
En el post anterior vimos cómo observar tu sistema en producción. Ahora daremos el paso que evita “mejoras” que empeoran las cosas: evaluación continua (offline y online), versionada y automatizada.
¿Qué es la evaluación continua?
Es un ciclo repetible que compara tu pipeline actual contra un baseline usando datasets representativos y métricas acordadas. Si la variante nueva no gana en calidad sin romper seguridad ni costos, no se promociona.
Datasets que sí sirven (y cómo versionarlos)
- Golden set (post #11): preguntas/entradas con criterio de evaluación claro.
- Shadow data: muestras reales anonimizadas de producción.
- Casos borde: longitudes extremas, formatos raros, idiomas, fechas y números críticos.
- Anti-regresión: colecciona fallos históricos y conviértelos en pruebas permanentes.
// Esquema mínimo (JSONL)
{"id":"q-0001","input":"...","expected":{"type":"facts","rules":["citar","json_valido"]},"weight":1.0}
{"id":"q-0002","input":"...","expected":{"type":"gen","rubric":{"claridad":5,"formato":5}},"weight":0.8}
Métricas: calidad, seguridad y costo (las tres a la vez)
- Calidad: win-rate A/B, exact match/F1 por campo, groundedness (% con cita válida), % JSON válido, tasa de abstención sana.
- Seguridad: violaciones de política (0 es el objetivo), fuga de PII/secretos, ejecuciones de herramientas fuera de whitelist.
- Operación: costo por request, latencia p95, tokens in/out, tamaño de contexto.
Decisión: “Promover solo si win-rate ≥ +3pts, costo ≤ baseline y 0 regresiones de seguridad”.
Offline vs. Online
- Offline: rápido, barato, determinista; compara variantes contra tu golden/shadow set.
- Online: canary A/B en producción; mide impacto real (CSAT, resolución, conversión).
// Veredicto de corrida offline
{
"variant": "pipeline.v7",
"baseline": "pipeline.v6",
"win_rate": 0.58,
"json_valid": 0.97,
"groundedness": 0.81,
"cost_delta": -0.06,
"policy_violations": 0
}
Detectar “drift” (cuando todo cambia por debajo)
- Entrada: distribución de longitudes/idiomas cambia.
- Recuperación: baja el recall@K por corpus/ingesta/permiso.
- Modelo: proveedor actualiza sin avisar → variaciones de calidad/costo.
Mitiga con checks diarios y alertas si groundedness o % JSON válido caen bajo umbral.
Eval gates en CI/CD (no pasa quien no gana)
- Pre-merge: corre batería offline sobre golden set.
- Gate: bloquea si no mejora calidad o rompe seguridad/costos.
- Canary: 5–10% del tráfico con monitoreo reforzado (post #19).
- Promoción: etiqueta
pipeline.vN.prodsi supera umbrales online.
Micro-workflow en n8n: “Evaluación continua nocturna”
- Cron (diario) → dispara el flujo.
- HTTP → descarga datasets (golden + shadow) versión actual.
- Split In Batches → ejecuta
pipeline.candidateypipeline.baseline. - Function (judge) → evalúa con rúbrica y calcula métricas (win-rate, groundedness, json válido, costo).
- IF → si candidate ≥ umbral y sin violaciones → marca “ready for canary”.
- Database → persiste resultados por
pipeline_version. - Notifier → envía reporte y diff de calidad/costo.
Tips para Laravel/PHP
- Esquema:
eval_runs(id, pipeline, baseline, win_rate, groundedness, json_valid, cost_delta, policy_viol, created_at) eval_cases(run_id, case_id, verdict, cost_usd, lat_ms, tokens_in, tokens_out) - Jobs:
EvalRunJob(columna eval),EvalCaseJob(por caso, paralelizable). - Endpoint CI:
POST /eval/runsque acepte{pipeline, baseline, dataset_id}y devuelva veredicto. - Rutas seguras: rate limit + tokens; nunca expongas prompts/datasets sin auth.
- Reportes: genera Markdown/HTML con tablas y anexos de fallos (top-10 casos con mayor impacto).
Anti-patrones frecuentes
- “Funciona en mi demo” → sin golden set ni gate, se cuela a producción y regresa el lunes.
- Medir solo gusto humano → necesitas métricas objetivas y rúbricas.
- Ignorar costo/latencia → “mejor calidad” que duplica gastos.
- Datasets estáticos por meses → envejecen; rota y añade fallos reales.
Conclusión
La evaluación continua convierte cambios arriesgados en mejoras controladas. Con datasets versionados, gates en CI/CD y canaries vigilados, tu asistente evoluciona sin sorpresas.
← Anterior: Observabilidad para LLMs: cómo monitorear lo que ocurre bajo el capó