Trazabilidad GenAI con OpenTelemetry: una guía práctica para la observabilidad de LLM y agentes
La trazabilidad GenAI con OpenTelemetry ofrece a los equipos de ingeniería una forma práctica de inspeccionar flujos de trabajo de LLM y agentes más allá de los registros de servicio habituales. Esta guía explica qué instrumentar, qué redactar, cómo conectar trazas con evaluaciones y cómo empezar sin crear telemetría ruidosa o arriesgada.
Por qué la trazabilidad GenAI con OpenTelemetry importa ahora
La trazabilidad GenAI con OpenTelemetry ofrece a los equipos de ingeniería una forma de inspeccionar flujos de trabajo de LLM y agentes sin tratar la llamada al modelo como una caja negra. Eso suena árido hasta que algo se rompe. La API devuelve 200. La app no falla. El usuario recibe una respuesta. Aun así, la respuesta puede ser superficial, demasiado cara para la tarea, construida a partir del contexto recuperado equivocado o condicionada por una llamada a herramienta que nadie notó en la revisión.
Esa es la parte incómoda del trabajo de IA en producción. Los registros estándar pueden demostrar que ocurrió una solicitud. Rara vez explican por qué un flujo de trabajo de IA se comportó como lo hizo.
OpenTelemetry GenAI no es otro producto de monitoreo para comprar. Es un conjunto de convenciones semánticas para describir operaciones de IA generativa en un formato coherente. La guía oficial de OpenTelemetry cubre solicitudes de modelo, respuestas, eventos, métricas, excepciones, spans de agentes y telemetría relacionada. Si los equipos describen proveedores, modelos, prompts, completions, uso de tokens, herramientas y pasos de agentes con convenciones compartidas, las trazas se vuelven más fáciles de consultar, comparar y mover entre backends de observabilidad.
Mi punto de vista: la mayoría de los equipos de IA esperan demasiado para estandarizar esto. Añaden trazabilidad después del primer incidente doloroso, cuando las versiones de prompts, las reglas de enrutamiento y el comportamiento de las herramientas ya están dispersos entre registros, notebooks y capturas de dashboards. El mejor momento es antes de que un flujo de trabajo se vuelva importante.
De registros de aplicación a trazas de modelos, herramientas y agentes
La mayoría de los equipos de producción ya monitorean lo básico: latencia HTTP, códigos de estado, llamadas a bases de datos, profundidad de colas, fallos de dependencias y tasas de error. Los sistemas LLM fallan de formas más silenciosas. Una respuesta generada puede ser deficiente porque cambió una plantilla de prompt, la recuperación seleccionó fuentes débiles, el modelo se enrutó a otro proveedor, una herramienta devolvió datos parciales, el streaming se detuvo antes de tiempo, un reintento cambió el contexto final o la validación permitió una respuesta que debería haberse bloqueado.
La trazabilidad da forma a esos pasos. En lugar de una sola operación opaca llamada generar respuesta, una traza puede mostrar ensamblaje del prompt, recuperación, invocación del modelo, selección de herramienta, ejecución de herramienta, validación y ensamblaje de la respuesta como spans relacionados. Eso importa cuando un prototipo se convierte en un flujo de trabajo gestionado. La depuración, la revisión de incidentes, los controles de privacidad y la revisión de costes necesitan más que capturas de pantalla y registros JSON improvisados.
Qué añaden las convenciones semánticas GenAI
Las convenciones GenAI de OpenTelemetry dan a los equipos un vocabulario compartido para las operaciones de modelos. Una llamada al modelo puede situarse dentro de la misma traza distribuida que la solicitud web, el servicio de recuperación, la consulta a la base de datos y la herramienta descendente. A alto nivel, las convenciones cubren el sistema o proveedor GenAI, nombres de operaciones, modelos de solicitud y respuesta, uso de tokens, prompts y completions como eventos cuando se capturan, excepciones, métricas y spans relacionados con agentes.
El límite es tan importante como el beneficio. La trazabilidad ayuda a los equipos a reconstruir lo que ocurrió durante una solicitud. No demuestra que la respuesta final fuera correcta, segura o útil. Sigues necesitando evaluaciones, red teaming cuando corresponda, controles de acceso, registros específicos del proveedor, revisión de privacidad y criterio de producto.
La brecha de observabilidad en aplicaciones LLM y agentes
El monitoreo tradicional del rendimiento de aplicaciones es fuerte en salud de servicio. Puede mostrar que un endpoint fue lento, que una dependencia agotó el tiempo de espera o que falló una consulta a la base de datos. Para aplicaciones LLM, esas señales son necesarias pero incompletas. Una traza de servicio normal a menudo omite construcción del prompt, versión de la plantilla de prompt, identificadores de documentos recuperados, elección de modelo, ajustes de muestreo, motivo de parada, enrutamiento de herramientas, comportamiento de reintentos, decisiones de seguridad y resultados de evaluación.
Los agentes amplían la brecha. Pueden planificar, llamar herramientas, inspeccionar resultados, llamar de nuevo al modelo, recuperar memoria, transferir a otro flujo de trabajo, ejecutar validaciones y detenerse bajo una regla de terminación. Algunos pasos pueden fallar mientras el usuario todavía recibe una respuesta final. Los equipos que trabajan en sistemas agénticos también deberían leer de forma más amplia sobre fiabilidad y supervisión de agentes de IA, porque la trazabilidad muestra el camino que tomó un agente mientras que la supervisión decide si ese camino fue aceptable.
Una primera versión práctica de observabilidad LLM suele registrar modelo y proveedor, nombre de operación, modelo de solicitud, modelo de respuesta cuando esté disponible, parámetros de solicitud, latencia, conteos de tokens cuando estén disponibles, motivo de parada, nombre de herramienta, estado del resultado de herramienta, identificadores de fuentes de recuperación, categorías de error, indicadores de seguridad y resultados de evaluación. La captura de contenido necesita una política más estricta. Los prompts y completions pueden contener datos de usuarios, documentos privados, secretos, contratos, código fuente, información sanitaria, datos financieros o estrategia interna. Muchos equipos deberían empezar con metadatos, IDs, hashes y fragmentos redactados en lugar de contenido completo.
Qué estandariza OpenTelemetry GenAI
Las convenciones semánticas de OpenTelemetry definen un lenguaje común para la telemetría. En el área GenAI, describen atributos y eventos que hacen reconocibles las operaciones de modelos entre servicios y herramientas. Un span de invocación de modelo puede identificar el proveedor GenAI, el nombre de la operación, el modelo solicitado, el modelo de respuesta, los parámetros de solicitud, el uso de tokens y los metadatos de respuesta. Los nombres exactos de atributos deberían comprobarse contra el repositorio actual de OpenTelemetry GenAI antes de la implementación porque las convenciones siguen cambiando.
Los eventos son útiles porque una solicitud a un modelo no siempre se representa bien como atributos estáticos de span. Una interacción de chat puede contener varios mensajes. Una respuesta en streaming puede producir fragmentos con el tiempo. Una llamada a herramienta puede estar asociada con un mensaje del asistente y un resultado posterior de la herramienta. La seguridad sigue estando primero. Los eventos pueden transportar texto sensible si la captura de contenido está habilitada. Los equipos que construyen flujos de trabajo documentales pueden encontrar útil la guía de Optijara sobre pipelines de IA documental, ya que los sistemas documentales a menudo combinan recuperación, extracción, generación y restricciones de privacidad.
OpenTelemetry Protocol, normalmente abreviado como OTLP, ofrece a los equipos una ruta para enviar telemetría a backends de observabilidad compatibles. El soporte de backend varía. Algunas herramientas muestran trazas GenAI con claridad. Otras las tratan como spans ordinarios con atributos. Antes de llamar a esto listo para producción, verifica capacidad de consulta, visualización de trazas, comportamiento de retención y control de acceso en el backend que tu equipo usa realmente.
El Optijara GenAI Trace Map
El Optijara GenAI Trace Map es un marco orientado a decisiones para diseñar observabilidad de LLM y agentes. Convierte la trazabilidad de un hábito de recopilación de datos en una actividad de diseño de producción. La pregunta no es qué podemos registrar. La mejor pregunta es qué decisión debería ayudarnos a tomar esta traza, qué spans exponen esa decisión y qué contenido debe quedar fuera de la telemetría.
Empieza con decisiones, no con dashboards. Las preguntas útiles para una traza incluyen qué llamada al modelo fue lenta, qué proveedor gestionó la solicitud, qué versión de plantilla de prompt se usó, qué documentos se recuperaron, qué herramienta falló, si los reintentos cambiaron la respuesta final, si la validación pasó y qué flujo de trabajo produjo un uso inusual.
| Capa de traza | Span típico | Metadatos útiles | Evitar por defecto |
|---|---|---|---|
| Entrada | Solicitud del usuario | ID de traza, ruta, segmento de usuario, tipo de solicitud | Mensaje completo del usuario sin política |
| Prompt | Ensamblaje del prompt | ID de plantilla, versión, IDs de contexto, estado de redacción | Contexto confidencial sin procesar |
| Recuperación | Búsqueda o rerank | Nombre de índice, IDs de documentos, bandas de puntuación, conteo de resultados | Documentos privados completos |
| Modelo | Llamada GenAI | Proveedor, modelo, parámetros, latencia, uso de tokens | Secretos en prompts o completions |
| Herramienta | Ejecución de herramienta | Nombre de herramienta, estado, duración, categoría de error | Credenciales de herramienta o salida sensible sin procesar |
| Validación | Comprobación de seguridad o esquema | Pasa o falla, ID de regla, fallback usado | Texto de política privada si está restringido |
| Evaluación | Señal de calidad | Nombre de evaluación, versión de rúbrica, banda de puntuación | Tratar la evaluación como verdad absoluta |
Una política compacta legible por máquina puede ayudar a los equipos de ingeniería y gobernanza a alinearse antes de que la instrumentación se extienda:
{
"framework": "Optijara GenAI Trace Map",
"trace_goal": "debug and evaluate one production AI workflow",
"required_spans": ["entry", "prompt_assembly", "retrieval", "model_call", "tool_call", "validation", "evaluation"],
"content_policy": {
"forbidden": ["secrets", "credentials", "unredacted private documents"],
"redacted": ["user text", "tool output"],
"sampled": ["prompt events", "completion events"],
"retained": ["metadata", "trace ids", "template versions", "document ids"]
}
}Patrones de implementación, de una llamada LLM a agentes
La implementación más simple traza una solicitud de modelo dentro de una traza de aplicación existente. El span padre es la solicitud del usuario o el trabajo en segundo plano. El span hijo es la operación GenAI. Debería capturar el proveedor o sistema, el modelo solicitado, el nombre de operación, parámetros relevantes, latencia, estado, uso de tokens cuando esté disponible, modelo de respuesta cuando esté disponible y detalles de excepción si la llamada falla.
La generación aumentada por recuperación necesita más que un span de modelo. Una traza RAG útil suele incluir reescritura de consulta, búsqueda de embeddings, reranking, IDs de documentos seleccionados, ensamblaje de contexto, generación final, validación de citas y ensamblaje de respuesta. Los IDs de documentos importan porque permiten a los equipos auditar qué fuentes influyeron en la respuesta sin colocar documentos confidenciales completos en la telemetría.
Para agentes, representa el flujo de trabajo como un árbol. El span raíz es la tarea del usuario. Los spans hijos pueden incluir planificación, llamadas al modelo, selección de herramientas, cada ejecución de herramienta, validación de salida de herramienta, reflexión, lecturas de memoria, validación de respuesta y terminación. Si el agente llama herramientas en paralelo, cada llamada a herramienta debería ser visible como un span hermano con estado y duración.
user_task: investigate_invoice_question
prompt_assembly: support_agent_v4
model_call: plan_next_step
tool_call: search_orders status=ok
tool_call: fetch_invoice status=timeout
model_call: revise_plan_after_timeout
tool_call: fetch_invoice status=ok retry=1
validation: policy_and_schema_check status=passed
response_assembly: final_answerLangSmith documenta soporte de trazabilidad OpenTelemetry, lo que es un ejemplo útil de integración del ecosistema. La instrumentación de frameworks puede reducir el trabajo manual con spans, especialmente cuando los equipos ya usan un framework para cadenas, herramientas o agentes. Trata esa instrumentación como punto de partida y luego inspecciona las trazas exportadas. Esto encaja bien con higiene de ingeniería más amplia, como usar uv para flujos de trabajo de proyectos Python, donde herramientas reproducibles y entornos coherentes facilitan mantener el despliegue de observabilidad.
Plan de adopción y evaluación
Un despliegue seguro empieza con un flujo de trabajo y una lista de comprobación de pruebas. Verifica la continuidad de traza entre servicios. Confirma que los nombres de atributos GenAI coincidan con la documentación actual de OpenTelemetry que tu equipo haya elegido seguir. Comprueba el comportamiento de muestreo. Prueba la redacción de prompts. Inspecciona respuestas en streaming. Confirma si el uso de tokens está disponible en tu proveedor y cómo se representa. Asegúrate de que los errores de herramientas se capturen como errores de herramientas, no solo como excepciones genéricas. Consulta trazas en el backend y confirma que los ingenieros de guardia pueden encontrar lo que necesitan.
| Área de prueba | Qué verificar | Por qué importa |
|---|---|---|
| Continuidad de traza | Una traza sigue la solicitud entre app, recuperación, modelo y herramientas | Evita diagnósticos fragmentados |
| Nomenclatura de atributos | Los nombres se alinean con la versión GenAI de OpenTelemetry elegida | Mejora la portabilidad y las consultas |
| Redacción | Prompts, documentos y salidas de herramientas sensibles se filtran | Reduce el riesgo de privacidad y seguridad |
| Muestreo | Los flujos de alto volumen no saturan el almacenamiento | Controla coste y ruido de telemetría |
| Streaming | Fragmentos, respuesta final y motivo de parada se representan de forma coherente | Hace diagnosticables los fallos de streaming |
| Metadatos de tokens | Los campos de tokens están presentes donde los proveedores los exponen | Apoya la revisión de uso con salvedades |
| Consultas de backend | Los ingenieros pueden buscar por ID de traza, modelo, flujo de trabajo y tipo de error | Hace usable la telemetría durante incidentes |
Evita capturar prompts completos por defecto. Evita depender de un solo dashboard como fuente de verdad. Evita tratar los conteos de tokens como exactos en todos los proveedores y flujos de trabajo. Evita instrumentar cada función auxiliar. Evita ignorar la política de retención y acceso. Evita usar trazas como prueba de que una respuesta fue buena. Las convenciones de OpenTelemetry siguen evolucionando, así que los equipos deberían fijar versiones de instrumentación, documentar supuestos y revisar cambios de convenciones antes de un despliegue amplio.
Errores comunes que cometen los equipos
La forma más rápida de crear riesgo de observabilidad es registrar primero prompts y completions y discutir la política después. Los prompts pueden contener datos personales, documentos confidenciales, credenciales, código fuente, planes de negocio privados o información regulada. Define campos prohibidos, redactados, muestreados y retenidos antes de la instrumentación.
La trazabilidad solo del modelo es demasiado estrecha para agentes. Muchos fallos ocurren fuera del modelo: la recuperación devuelve contexto débil, una herramienta agota el tiempo de espera, se omite la validación, la memoria contiene información obsoleta o el ensamblaje de respuesta descarta detalles importantes. Si la traza se detiene en el span del modelo, el equipo puede culpar a la capa equivocada.
Cada atributo debería responder a una pregunta. Quién usará este campo, durante qué flujo de trabajo y qué decisión apoyará. Si nadie puede responder, el campo probablemente es ruido. Las trazas son evidencia de proceso. Las evaluaciones son evidencia de calidad de salida, e incluso las evaluaciones necesitan un diseño cuidadoso de rúbrica.
Cómo elegir tu primer proyecto de trazabilidad
El mejor primer proyecto no siempre es la función de IA más compleja. Elige un flujo de trabajo donde la observabilidad cambie decisiones pronto.
| Criterio | Señal de baja prioridad | Señal de alta prioridad | Guía para el primer proyecto |
|---|---|---|---|
| Importancia de negocio | Experimento interno | Flujo de trabajo orientado al usuario u operacionalmente importante | Prefiere alto impacto con alcance acotado |
| Dolor de depuración | Los fallos son raros u obvios | Los fallos son frecuentes, ambiguos o costosos de investigar | Candidato fuerte |
| Sensibilidad de privacidad | Datos mayormente públicos o sintéticos | Datos sensibles de usuario o documentos | Empieza solo con una política estricta de redacción |
| Complejidad del flujo | Una sola llamada al modelo | Recuperación, herramientas, validación, reintentos o agentes | El mapa de trazas añade más valor |
| Madurez de OpenTelemetry | Sin trazabilidad existente | Trazas distribuidas y pipeline OTLP existentes | Despliegue más fácil |
| Preparación del backend | Sin modelo de consulta o acceso | Trazas consultables con controles de acceso | Adopción de producción más segura |
Un primer hito práctico es una solicitud de extremo a extremo con un árbol de trazas legible. La traza debería conectarse con los registros de aplicación mediante ID de traza. Debería mostrar ensamblaje del prompt, recuperación si existe, llamada al modelo, resultados de herramientas si existen, validación de respuesta y una señal de evaluación o revisión. La redacción debería verificarse antes de cualquier despliegue más amplio.
Si tu equipo está pasando de prototipos a flujos de trabajo de IA en producción, Optijara puede ayudar a mapear las trazas, evaluaciones y controles de gobernanza antes de que la instrumentación se vuelva ruidosa o arriesgada. El objetivo debería ser una observabilidad neutral respecto al proveedor que ayude a los equipos a depurar, evaluar y operar sistemas de IA con límites claros.
La trazabilidad GenAI con OpenTelemetry es más útil cuando los equipos estandarizan antes de escalar, trazan decisiones en lugar de cada llamada posible, protegen el contenido sensible, conectan trazas con evaluaciones y mantienen las convenciones bajo revisión a medida que el ecosistema madura.
Puntos clave
- 1La trazabilidad GenAI con OpenTelemetry estandariza cómo los equipos describen llamadas a modelos, prompts, completions, herramientas, agentes, uso de tokens y metadatos de proveedores.
- 2Las trazas son más valiosas cuando se diseñan alrededor de decisiones de depuración, evaluación, revisión de costes, gobernanza y análisis de incidentes.
- 3La observabilidad de agentes necesita spans padre e hijo para planificación, recuperación, llamadas a herramientas, validación, reintentos y ensamblaje de respuesta, no solo llamadas a modelos.
- 4La captura de prompts y completions debería gobernarse mediante política, redacción, muestreo, límites de retención y controles de acceso.
- 5Las convenciones de OpenTelemetry mejoran la portabilidad, pero los equipos todavía deben verificar soporte de backend, capacidad de consulta y calidad de visualización.
Conclusión
La trazabilidad GenAI con OpenTelemetry da a los equipos de producción un lenguaje compartido para inspeccionar flujos de trabajo de LLM y agentes, pero el estándar solo ayuda cuando se aplica con disciplina. Empieza con las decisiones que tus trazas deben apoyar, define límites de spans antes de escribir instrumentación, protege el contenido sensible por defecto y conecta las trazas con evaluaciones, incidentes y revisiones de despliegue. Eso mantiene la observabilidad práctica en lugar de ruidosa.
Preguntas frecuentes
¿Qué es OpenTelemetry GenAI?
OpenTelemetry GenAI es un conjunto de convenciones semánticas y patrones de telemetría para trazar operaciones de IA generativa como llamadas a modelos, prompts, completions, uso de tokens, llamadas a herramientas, excepciones, métricas y spans de flujos de trabajo de agentes.
¿En qué se diferencia la observabilidad LLM del monitoreo tradicional de aplicaciones?
El monitoreo tradicional rastrea salud del servicio, latencia y errores. La observabilidad LLM también necesita visibilidad sobre ensamblaje de prompts, contexto de recuperación, parámetros del modelo, llamadas a herramientas, uso de tokens, resultados de validación y señales de calidad.
¿Deberían los equipos almacenar prompts y completions en las trazas?
No por defecto. Los equipos deberían definir primero una política y luego usar redacción, muestreo, límites de retención y controles de acceso. Los metadatos, identificadores, hashes y fragmentos redactados suelen ser más seguros que el contenido completo.
¿Puede OpenTelemetry trazar agentes de IA de múltiples pasos?
Sí. Los equipos pueden modelar flujos de trabajo de agentes como spans padre e hijo para planificación, ensamblaje de prompts, llamadas al modelo, recuperación, ejecución de herramientas, validación, reintentos, lecturas de memoria y ensamblaje de respuesta.
¿OpenTelemetry reemplaza las herramientas de evaluación para aplicaciones LLM?
No. Las trazas explican qué ocurrió durante una solicitud. Las evaluaciones ayudan a juzgar si la salida fue correcta, segura, útil y alineada con la tarea. Los equipos de producción suelen necesitar ambas.
Fuentes
- https://opentelemetry.io/docs/specs/semconv/gen-ai/
- https://github.com/open-telemetry/semantic-conventions/tree/main/docs/gen-ai
- https://github.com/open-telemetry/semantic-conventions/pull/3696
- https://opentelemetry.io/blog/2024/llm-observability/
- https://docs.langchain.com/langsmith/trace-with-opentelemetry
- https://github.com/open-telemetry/semantic-conventions/issues?q=is%3Aissue%20gen_ai
Escrito por
Hamza DiazHamza Diaz es el fundador de Optijara, donde crea agentes de IA prácticos, sistemas de automatización y flujos de trabajo de Copilot para empresas de servicios. Escribe sobre operaciones de IA, estrategia de agentes e implementación real para equipos que quieren sistemas útiles en lugar de promesas vacías.
