Se formalizo la observabilidad de route families para que el runtime pueda medirse por tipo de flujo, no solo por volumen global. Esto permite detectar regresiones de contexto, latencia y coste de tokens en rutas simples como minimal y observe.

Las route families son la segmentacion operativa del runtime:

FamilySignificado
minimalFlujo minimo: saludos, informes, resúmenes, respuestas cortas
observeInspeccion tecnica/operativa sin contexto pesado
tool_fastpathPeticiones que deben resolver herramientas con contexto minimo
cognitiveFlujo cognitivo general con contexto, recall y shaping
learningEndpoints internos de aprendizaje y analitica
MetricaTipoLabelsUso
ailab_route_family_totalCounterfamilyDistribucion de solicitudes por familia
ailab_route_family_latency_msHistogramfamilyLatencia observada por familia
ailab_route_family_prompt_tokens_totalCounterfamilyTokens de prompt acumulados por familia
ailab_route_family_completion_tokens_totalCounterfamilyTokens de completion acumulados por familia
ailab_route_family_errors_totalCounterfamilyErrores acumulados por familia
ailab_route_family_blocked_totalCounterfamilyBloqueos de policy por familia

Tambien se añadieron:

  • ailab_embedding_input_chars
  • ailab_embedding_truncations_total
  • ailab_recall_query_chars
sum by (family) (ailab_route_family_total)
histogram_quantile(0.95, sum by (le, family) (rate(ailab_route_family_latency_ms_bucket[5m])))
avg by (family) (ailab_route_family_latency_ms)
sum by (family) (rate(ailab_route_family_prompt_tokens_total[5m]))
sum by (family) (rate(ailab_route_family_completion_tokens_total[5m]))
sum by (family) (rate(ailab_route_family_errors_total[5m]))
sum by (family) (rate(ailab_route_family_blocked_total[5m]))
PanelTipoQuery
Route Family DistributionStat / Barsum by (family) (ailab_route_family_total)
Latency by Route FamilyTime seriessum by (family) (rate(ailab_route_family_latency_ms_sum[5m])) / sum by (family) (rate(ailab_route_family_latency_ms_count[5m]))
Prompt Tokens by FamilyTime seriessum by (family) (rate(ailab_route_family_prompt_tokens_total[5m]))
Completion Tokens by FamilyTime seriessum by (family) (rate(ailab_route_family_completion_tokens_total[5m]))
Errors by FamilyTime seriessum by (family) (rate(ailab_route_family_errors_total[5m]))
Blocked by FamilyTime seriessum by (family) (rate(ailab_route_family_blocked_total[5m]))

Grafana: http://192.168.1.40:3000

  • Si minimal o observe suben en tokens, hay regresion de contexto.
  • Si minimal sube en latencia, alguien volvió a meter contexto pesado o recall innecesario.
  • Si tool_fastpath sube en errores, el clasificador de herramientas o el parser de tool calls se degradó.
  • Si cognitive domina demasiado, el runtime esta cayendo en la ruta pesada por defecto.
  • Si learning crece sin cambios de aprendizaje, puede haber un job o dashboard consultando demasiado.
  • ailab_route_family_total tiene al menos una serie por family.
  • minimal y observe muestran menos tokens que cognitive.
  • route_family_selected aparece en audit/log.
  • ailab_route_family_errors_total no crece en minimal durante requests triviales.
  • ailab_embedding_truncations_total permanece bajo o en cero para queries normales.
  • ailab_recall_query_chars se mantiene en valores cortos.
  • La latencia del panel es promedio real basada en _sum/_count, no p95.

La referencia a mantener es:

  • ruta minima y observacion ligera
  • tokens bajos en solicitudes simples
  • latencia contenida en minimal/observe
  • recall controlado y acotado

FASE 19.5 — Operational Alerts Baseline

Objetivo: detectar degradaciones automaticas sin depender de abrir Grafana.