Capítulo 6 — Observabilidad y trazado en IA
Sexta entrega del recorrido capítulo por capítulo de LLM Primer V: Building Real-World LLM Applications. El capítulo que trata una consulta de usuario como un árbol causal, no como un log de petición, y muestra qué hay que trazar para que el árbol sea legible.
Por qué existe este capítulo
Una sola consulta de usuario en un sistema LLM se abre en un árbol: una reescritura de consulta, tres llamadas de recuperación contra dos índices, un rerank, una llamada al planificador, cuatro invocaciones de herramienta, un resumidor y una generación final. Colapsa ese árbol en "petición recibida, respuesta enviada" y la verdad se pierde. Cuando el usuario se queja de que la respuesta era incorrecta, el equipo no puede decir si la recuperación no encontró el chunk adecuado, si el planificador eligió la herramienta equivocada, si la herramienta devolvió los datos equivocados o si el generador ignoró lo que se le dio. El Capítulo 6 reconstruye la observabilidad para esta forma. El trazado distribuido clásico es el sustrato; las convenciones semánticas GenAI de OpenTelemetry son la extensión que convierte las llamadas al modelo en ciudadanos de primera clase; las métricas específicas de LLM — TTFT, TPOT, coste por llamada, puntuaciones del juez — son lo que convierte una traza en algo contra lo que el equipo puede operar.
6.1 De logs de petición a trazas causales
El movimiento es de logs planos de petición a spans anidados. OpenTelemetry con las convenciones semánticas GenAI da formas de span portables y neutrales respecto al proveedor para llamadas LLM, embeddings, recuperaciones e invocaciones de herramientas. El bucle del agente se convierte en un span raíz; cada iteración se convierte en un span hijo; cada llamada LLM, llamada a herramienta y recuperación se anida por debajo. Las sesiones multi-turno se convierten en árboles de árboles, con enlaces de span modelando el estado compartido entre turnos — el resumen del turno tres del que el turno siete sigue dependiendo. El valor aparece la primera vez que se depura: "¿qué chunk devolvió el recuperador para esa consulta y realmente lo citó el generador?" — una pregunta que los logs planos no pueden responder sin arqueología — se convierte en una única traza que mirar. La forma del span es portable entre proveedores porque es el estándar de OpenTelemetry, no un formato propietario, y pasar de LangSmith a Langfuse se convierte en un cambio de enrutado en lugar de una reescritura.
6.2 Las métricas que importan — TTFT, TPOT, coste, calidad
La latencia total no basta. El tiempo hasta el primer token domina la velocidad percibida para respuestas en streaming — el usuario mira el primer carácter, no el último — y TTFT pertenece al span junto a la latencia total. El tiempo por token de salida domina la sensación en respuestas largas y es lo que un usuario percibe cuando dice "tardó en acabar". El coste pertenece al span como atributo de primera clase, computado en el punto de llamada a partir de una tabla de precios versionada, para que la traza histórica diga la verdad incluso después de que los precios cambien. Las señales de calidad — un pulgar abajo del usuario, una puntuación del juez del pipeline de evaluación, un disparo de fallback del envoltorio — se enganchan a la traza como atributos, y es así como el equipo correlaciona una mala respuesta con la llamada al modelo y la recuperación específicas que la produjeron. Las métricas están visibles en dashboards, pero el mayor pago es que son consultables por traza, así que una regresión se puede filtrar por "coste alto, puntuación de juez baja" y el camino ofensivo aflora al momento.
6.3 Plataformas y el cierre del bucle
Cuatro plataformas ocupan el panorama actual. LangSmith es la elección integrada con LangChain con menos fricción si la aplicación ya está en LangChain. Langfuse es la opción open source auto-alojada que encaja con despliegues regulados y con organizaciones que necesitan que las trazas se queden dentro de su perímetro. Arize Phoenix tiene análisis de embeddings potentes y es la herramienta correcta cuando la pregunta diagnóstica es "qué consultas están cayendo en la región equivocada del espacio vectorial". Helicone funciona como proxy delante de la API del proveedor, que es la integración de menor toque pero solo ve la capa de la llamada LLM. La elección es operativa, no cualitativa — la mayoría exponen la misma forma central. El trabajo de más valor es el pipeline de exportación: trazas de feedback negativo, puntuaciones bajas del juez y disparos de fallback se convierten en casos de evaluación candidatos, curados en el eval set y gateados por la siguiente release. Ese bucle es lo que convierte la producción en un profesor para el desarrollo.
Lo que prepara el Capítulo 6
Las trazas también son donde los incidentes de seguridad se hacen visibles. Una inyección de prompt exitosa se ve como una llamada a herramienta inesperada en el árbol de traza. La exfiltración se ve como un span de recuperación cuyo chunk el modelo luego obedece como instrucción. Un system prompt filtrado aparece como un span de completación cuyo texto solapa improbablemente con el prompt anterior. El Capítulo 7 gira el mismo sustrato de trazado hacia la disciplina de seguridad — el OWASP LLM Top 10 como vocabulario de mediados de 2025, la taxonomía inyección directa versus indirecta que ese vocabulario intenta nombrar, y la matriz de mitigación en cuatro capas que impone el principio de que la autoridad tiene que igualar al origen de confianza.
Próximamente — Capítulo 7: Seguridad LLM y guardrails. La postura de seguridad que responde a la pregunta que la capa de trazado acaba de hacer preguntable — qué debería haber ocurrido, y a quién se le permitía hacerlo.