Prácticas recomendadas de observabilidad
Instrumentar una aplicación Claude de manera adecuada significa que un pico de costos, una regresión de latencia o una regresión de caché aparezcan en un panel o una página dentro de la hora, no en la factura del próximo mes.
Esta lista de verificación consolida las prácticas cubiertas en esta sección en reglas contra las cuales puedes verificar tu propia instrumentación.
- Trata la sección A como la base innegociable para cualquier integración de Claude más allá de un script desechable.
- Las secciones B y C valen el esfuerzo una vez que tengas bucles de agente de varios pasos o tráfico de producción para observar.
- Revisa esta lista después de tu primer incidente real y anota qué regla lo habría detectado antes.
- Usa las casillas de verificación como una auditoría literal de tu instrumentación actual, no solo como un ejercicio de lectura.
- Sección A primero, siempre. El registro estructurado casi no cuesta nada de añadir y es la base sobre la que se construye toda otra práctica en esta lista.
- Sección B una vez que tengas un bucle de agente de varios pasos o tráfico de producción que valga la pena observar. El rastreo y los paneles agregan un esfuerzo de ingeniería real, por lo que ganan su lugar una vez que el registro por sí solo deja de responder a tus preguntas.
- Sección C una vez que B esté en su lugar. Alertar sobre métricas que aún no existen no es posible; haz que las señales fluyan antes de establecer umbrales sobre ellas.
- Sección D tan pronto como un segundo equipo o servicio comience a instrumentar. Esperar hasta que tres servicios ya se hayan desviado convierte esto de una decisión proactiva en un proyecto de limpieza.
¿Qué práctica de esta lista es más importante si solo puedo hacer una cosa?
Registro estructurado (sección A): un esquema consistente que capture el prompt, la respuesta, los tokens, el modelo, la latencia y el ID de solicitud para cada llamada. Cuesta poco añadirlo, y toda otra práctica en esta lista (rastreo, paneles, alertas) depende de que estos datos existan de forma consultable.
¿Necesito rastreo OpenTelemetry para una integración simple de llamada única?
No necesariamente. El rastreo justifica su costo una vez que tienes un bucle de agente de varios pasos donde el orden y la anidación de las llamadas importan. Una integración de llamada única puede depender solo del registro estructurado hasta que eso cambie.
¿Por qué el costo se trata como una preocupación de observabilidad en lugar de una preocupación financiera en esta lista?
Un bucle de agente descontrolado es un error de confiabilidad que, por casualidad, se manifiesta primero como una anomalía de gasto. Tratar el costo como una señal de ingeniería de primera clase, junto con la latencia y la tasa de error, detecta ese error el mismo día en lugar de al final de un ciclo de facturación.
¿Cuál es el riesgo de omitir la práctica ADR en la sección D?
Cada servicio que adopta el rastreo de forma independiente tiende a inventar sus propios nombres de spans y claves de atributos. Una vez que eso sucede, las consultas de rastreo entre servicios y los paneles compartidos dejan de funcionar, y arreglarlo más tarde requiere una migración en lugar de una decisión única.
¿Deben las verificaciones de alerta ejecutarse como parte de mi código normal de manejo de solicitudes?
No. Ejecuta la evaluación de alertas según un horario, separado de la ruta de solicitud, ya sea como un trabajo cron o un monitor evaluado por tu backend de métricas. Poner la lógica de alerta en línea agrega latencia y un nuevo modo de fallo al código que ya atiende a los usuarios.
¿Por qué la lista de verificación recomienda una línea base móvil en lugar de un umbral de gasto fijo?
Un umbral fijo que se ajusta a tu tráfico actual se vuelve demasiado sensible o demasiado tarde para detectar un pico real a medida que crece el uso. Una línea base móvil (una mediana de ventanas recientes) se adapta automáticamente, manteniendo la alerta significativa sin reajustes manuales.
¿Qué debo hacer de manera diferente una vez que un segundo servicio comience a instrumentar llamadas a Claude?
Escribe el ADR que documente los nombres de spans, atributos y política de muestreo antes de que ese segundo servicio envíe su instrumentación, no después. Este es el punto donde la inconsistencia comienza a acumularse, y es mucho más barato prevenirla que migrar de ella más tarde.
¿Es el muestreo de spans al 100% la elección correcta alguna vez?
Con un bajo volumen de tráfico, sí, ya que el costo y el ruido son insignificantes. A medida que el tráfico crece, la mayoría de los equipos cambian a una tasa de muestreo más baja para spans exitosos de rutina, mientras mantienen los spans de error y de valores atípicos de costos con muestreo completo, lo que el ADR debería documentar explícitamente.
¿Cómo sé si mi esquema de registro se está perdiendo algo importante?
Si no puedes responder "cuánto costó esta llamada específica, cuánto tiempo tomó y qué devolvió" solo con tus registros, sin volver a ejecutar la solicitud, el esquema está incompleto. Los campos en la sección A (prompt, response, model, tokens, latency, request ID) son el mínimo que hace que esta pregunta sea respondible.
¿Cuál es la forma más rápida de verificar si un pico de métricas es causado por mi propio despliegue?
Compara la marca de tiempo de inicio de la anomalía con tu registro de despliegue para la misma ventana, y verifica la página de estado de Anthropic para descartar una causa del lado del proveedor. Este es el primer paso de la lista de verificación de correlación de despliegues vinculada a continuación, y resuelve la mayoría de los incidentes más rápido que empezar desde cero.
¿Deben las métricas de costos vivir en un panel separado específico de LLM o con mis otras métricas de infraestructura?
Con tus otras métricas de infraestructura. Un panel dedicado solo a LLM tiende a ser revisado raramente, mientras que el gasto junto a los gráficos de latencia y tasa de error que tu equipo observa diariamente se nota el día que algo sale mal.
Versiones de pila: Escrito contra la línea de modelos Claude actual a partir de ~junio de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (el predeterminado), y Claude Haiku 4.5 - y el SDK oficial anthropic de Python (última versión 0.x). Los nombres de modelos, precios y versiones de SDK cambian rápidamente; verifica los detalles actuales en platform.claude.com/docs antes de confiar en ellos.