Monitoreo de LLM en producción: métricas, calidad, costo y seguridad
Monitoreo de LLM en producción: SLIs para latencia, errores, tokens, fundamentación y seguridad, además de alertas de observabilidad que detectan tempranamente cualquier deterioro sutil en la calidad.
Fuentes: LLM Monitoring in Production: Metrics, Quality, Cost, and Safety
Esta guía reconstruye el proceso desde las materias primas hasta un sistema funcional para: Monitoreo de LLM en producción: métricas, calidad, costo y seguridad. El enfoque está en pasos operativos, verificaciones explícitas y código que se puede incorporar directamente a un repositorio sin necesidad de adivinar su propósito. Para obtener una visión general, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Documente tanto el camino óptimo como el camino de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.
Una aplicación de LLM no es solo una llamada al modelo
Para una aplicación de LLM, no se trata solo de llamar al modelo: es necesario definir las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Es preferible utilizar unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Se deben monitorear la latencia, la tasa de errores, el costo por token, el grado de fundamentación y los casos de incumplimiento de seguridad como indicadores clave de rendimiento.
Comience con la monitorización habitual en producción
Para comenzar con la supervisión normal de la producción, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Registre la latencia, la tasa de errores, el costo de los tokens, el grado de fundamentación y las interrupciones por seguridad como indicadores clave de rendimiento de primera categoría.
La pila de monitoreo que realmente importa
Para la pila de monitoreo que realmente importa, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. La visibilidad temprana del costo evita facturas inesperadas cuando el flujo pasa de entornos de demostración a entornos compartidos. Haga un seguimiento de la latencia, la tasa de errores, el costo de tokens, el grado de fundamentación y los incidentes de seguridad como indicadores clave de desempeño de primera categoría. Para la pila de monitoreo que realmente importa, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras aplicadas posteriormente.
El costo por solicitud suele ser la métrica incorrecta
Para evitar que el costo por solicitud sea la métrica incorrecta, defina los insumos, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Active alertas ante cambios en la distribución, no solo ante fallos evidentes. El deterioro silencioso de la calidad es el tipo de fallo más costoso.
Registre suficiente contexto para reproducir un fallo
Para contar con suficiente contexto que permita reproducir un fallo, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Genere alertas ante cambios en la distribución, no solo ante fallos graves. La degradación silenciosa de la calidad es el tipo de fallo más costoso.
trace_id
request_id
session_id
timestamp
application_version
prompt_template_id
prompt_template_version
retrieval_pipeline_version
tool_schema_version
requested_model
returned_model
generation_parameters
input_tokens
output_tokens
time_to_first_output
total_generation_time
total_request_time
retrieval_query
retrieval_filters
retrieved_document_ids
retrieved_document_versions
retrieval_scores
reranker_scores
tool_name
tool_status
tool_duration
tool_retry_count
tool_side_effect_id
input_guardrail_result
output_guardrail_result
policy_reason
quality_scores
human_review_status
user_feedback
task_outcome
No convierta la observabilidad en una fuga de privacidad
Para evitar que la observabilidad se convierta en una fuga de privacidad, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad sobre los costos desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Active alertas ante cambios en la distribución, no solo ante fallos graves. El deterioro silencioso de la calidad es el tipo de fallo más costoso. Para evitar que la observabilidad se convierta en una fuga de privacidad, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son algo que se añada posteriormente.
La calidad no puede reducirse a una sola puntuación universal
Dado que la calidad no puede reducirse a una sola puntuación universal, se deben definir los insumos, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido sin tener que adivinar el estado oculto. Es preferible utilizar unidades pequeñas y verificables en lugar de scripts extensos. Cuando una etapa falla, el error debe indicar una única responsabilidad y no un proceso complicado. Incluir ejemplos de trazas en el conjunto de evaluación permite que las sorpresas en producción se conviertan en pruebas offline.
Utilice jueces basados en LLM, pero no los adore
Para los jueces de LLM, pero sin idolatrarlos: defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Incluya ejemplos de seguimiento en el conjunto de evaluación para que las sorpresas en producción se conviertan en pruebas offline.
La recuperación de información y la generación deben monitorizarse por separado
Para la recuperación de información y la generación de texto es necesario monitorearlos por separado; defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Mida el rendimiento en un conjunto fijo de preguntas antes de ajustar los prompts; cambiar frecuentemente los prompts rara vez soluciona problemas en la capacidad de recuperación de información. Documente tanto el camino óptimo como los procedimientos de recuperación. Las intentonas repetidas, las verificaciones humanas y el manejo de mensajes no entregados forman parte integral del producto.
No más tarde de lo necesario para pulirlo.El monitoreo del agente es el monitoreo de acciones
Dado que el monitoreo del agente equivale al monitoreo de acciones, se deben definir las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Es preferible utilizar unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Mantenga el estado del grafo simple y tipado. Los bloques anidados ocultan qué nodo escribió qué campo y dificultan la reanudación después de interrupciones.
Los comentarios de los usuarios son útiles, pero ruidosos
Para que los comentarios de los usuarios sean útiles pero no generen ruido, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Registre la latencia, la tasa de errores, el costo de los tokens, el grado de fundamentación y las infracciones de seguridad como indicadores clave de rendimiento de primera categoría.
Monitoree las secciones individuales, no solo los promedios globales
Para las secciones de monitoreo, y no solo para los promedios globales, defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. La visibilidad temprana del costo evita facturas inesperadas cuando el flujo pasa de entornos de demostración a entornos compartidos. Separe la política de particionamiento de la política de recuperación. Cambiar una no debe obligar a reescribir la otra cuando cambian las métricas de calidad. Para las secciones de monitoreo, y no solo para los promedios globales, defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, y no se añaden posteriormente.
Alertas.
Las alertas deben llevar a decisiones
Para que las alertas conduzcan a decisiones, defina los datos de entrada, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el fallo debe indicar una única responsabilidad y no un proceso complicado. Genere alertas ante cambios en la distribución, no solo ante fallos graves. El deterioro silencioso de la calidad es el tipo de fallo más costoso.
Defina objetivos a nivel de servicio para los LLM
Para definir los objetivos a nivel de servicio del LLM, se deben establecer las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Genere alertas ante cambios en la distribución, no solo ante fallos graves; el deterioro silencioso de la calidad es el tipo de fallo más costoso.
Construya la supervisión y evaluación como un único ciclo de retroalimentación
Para que la supervisión y evaluación de las compilaciones forme un único ciclo de retroalimentación, defina los insumos, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad temprana del costo evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Active alertas ante cambios en la distribución, no solo ante fallos graves. La degradación silenciosa de la calidad es el tipo de fallo más costoso. Para que la supervisión y evaluación de las compilaciones forme un único ciclo de retroalimentación, defina los insumos, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no algo que se añada posteriormente.
lish.
Un plan de implementación práctico
Para un plan de implementación práctico, defina los insumos, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Incluya ejemplos de seguimiento en un conjunto de evaluación para que las sorpresas en producción se conviertan en pruebas offline.
El verdadero propósito de la supervisión de LLM
Para el propósito real de la supervisión de los LLM, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina comprobaciones de éxito y rechace las completaciones parciales silenciosas. Incluya ejemplos de seguimiento en un conjunto de evaluación para que las sorpresas en producción se conviertan en pruebas offline.
Lista de verificación operativa
Para la lista de verificación operativa, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto.
Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar que los operadores puedan auditar sin tener que leer todo el sistema.
Alerta ante cambios en la distribución, no solo ante fallos graves. El deterioro silencioso de la calidad es el modo de fallo más costoso.
Escriba un manual breve: cómo rotar claves, cómo vaciar la cola de procesos, cómo revertir la última operación de ingestión.
Documente tanto el camino óptimo como el proceso de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.
Alerta ante cambios en la distribución, no solo ante fallos graves. El deterioro silencioso de la calidad es el modo de fallo más costoso.
Antes de promocionar la solución, congele las versiones, capture una transcripción de referencia para el camino crítico y confirme los pasos de reversión. Los entornos compartidos requieren límites de velocidad, verificaciones de asignación y un responsable claro para la rotación de claves secretas. Prefiera una fiabilidad sencilla a demostraciones ingeniosas pero puntuales.
Para la nota de fortalecimiento 0, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.
Para la nota de fortalecimiento 1, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben encontrarse en un lugar que los operadores puedan auditar sin necesidad de leer todo el sistema.
Para la nota de fortalecimiento 2, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado.
Para la nota de fortalecimiento 3, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos.
Para la nota de fortalecimiento 4, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.
Lecturas relacionadas
- Seis métricas de evaluación de RAG que son importantes en producción —Recall@K, nDCG, MRR, fidelidad, latencia y costo: cómo depurar la recuperación de información que parece mejor en teoría pero empeora las respuestas.