Observabilidad de agentes de IA en producción: saber qué hace tu agente cuando ya nadie lo mira

Hay un momento incómodo en la vida de todo agente de IA: la semana después del despliegue. Durante el desarrollo, alguien miraba cada salida. En la demo, todo el mundo miraba. En producción, nadie mira —ese era justamente el objetivo— y el agente empieza a acumular decisiones, llamadas a herramientas y conversaciones de las que ya no hay testigos. La pregunta "¿está funcionando?" deja de tener una respuesta obvia en el mismo momento en que más importa.
En el artículo sobre evals explicamos cómo saber si un agente funciona antes de desplegarlo. Este artículo cubre la otra mitad del problema: cómo saber si sigue funcionando después, cuánto está costando cada tarea, por qué una petición tardó noventa segundos y qué ha cambiado cuando los usuarios empiezan a quejarse sin que nadie haya tocado el código. Esa disciplina es la observabilidad, y en agentes tiene particularidades que la monitorización clásica de aplicaciones no cubre.
La tesis del artículo es simple: un agente sin observabilidad no es un sistema en producción, es un experimento sin supervisor. Y montar la versión mínima viable —trazas, coste por tarea, alertas de presupuesto y una eval continua sobre muestra de producción— cuesta mucho menos que la primera semana de depurar a ciegas un incidente serio.
Evals y observabilidad no son lo mismo (y necesitas las dos)
Conviene deshacer primero una confusión frecuente. Las evals responden a una pregunta de laboratorio: dado un conjunto de casos de prueba que controlo, ¿qué porcentaje resuelve bien el agente? La observabilidad responde a una pregunta de campo: dado el tráfico real que no controlo, ¿qué está pasando? Son complementarias y ninguna sustituye a la otra: unas evals excelentes no detectan que el comportamiento del modelo subyacente cambió el martes, y una observabilidad excelente no te dice si la versión nueva del prompt es mejor que la anterior antes de desplegarla.
La relación entre ambas es un ciclo. Las trazas de producción alimentan el conjunto de evals con casos reales que no habías previsto; las evals validan los cambios antes de desplegar; y las evals continuas —ejecutadas periódicamente sobre muestras de producción— cierran el círculo detectando degradación en el mundo real. Los equipos que tratan evals y observabilidad como proyectos separados suelen acabar con dos herramientas y ningún ciclo.
Las cinco señales de un agente en producción
La monitorización clásica de servicios gira en torno a latencia, errores y saturación. Con un agente hace falta eso y más, porque en la práctica conviven dos niveles de observabilidad. El técnico: latencia, errores, disponibilidad, tokens, coste, llamadas a herramientas, reintentos. Y el de comportamiento: si el agente resolvió de verdad la tarea, si eligió la herramienta correcta, si dio pasos de más, si escaló a humano cuando tocaba, si el usuario tuvo que repetir la pregunta, si están apareciendo tipos de petición nuevos.
La frase que resume por qué necesitas los dos: un agente puede estar perfectamente sano desde el punto de vista de infraestructura —respondiendo rápido, sin errores HTTP— y estar fallando como agente, o haciendo bien su trabajo a un coste absurdo. Estas son las cinco señales que cubren ambos niveles y que un equipo debería poder consultar en un panel, con su pregunta correspondiente. La tasa de éxito merece una nota previa: cómo se mide depende del caso de uso —una condición determinista, un resultado de negocio, el feedback del usuario, revisión humana o un juez LLM, que ayuda pero no es un oráculo—.
| Señal | Pregunta que responde | Alerta típica |
|---|---|---|
| Trazas | ¿Qué hizo exactamente el agente en esta tarea, paso a paso? | Bucles de más de N iteraciones; caída de la tasa de acierto de una herramienta concreta |
| Coste | ¿Cuántos tokens y cuántos euros cuesta cada tarea completada? | Coste por tarea por encima del percentil histórico; presupuesto diario consumido |
| Latencia | ¿Cuánto tarda de verdad —P50, P95 y hasta el primer token— y dónde se va el tiempo: modelo, recuperación o herramientas? | P95 de extremo a extremo degradado; un componente concreto que se ha vuelto lento |
| Tasa de éxito | ¿Qué fracción de tareas termina bien según un criterio definido? | Caída sostenida de la tasa; subida de escalados a humano o de reintentos del usuario |
| Deriva | ¿Ha cambiado el comportamiento sin que cambiara mi código? | Evals continuas por debajo del umbral; distribución de entradas distinta de la histórica |
Trazas: reconstruir cada tarea paso a paso
La unidad de observabilidad de un agente no es la petición HTTP: es la tarea, y una tarea son decenas de pasos —llamadas al modelo, invocaciones de herramientas, lecturas de contexto, decisiones de control—. Una traza es la reconstrucción completa de esa secuencia: qué entró en cada llamada, qué salió, cuánto tardó, cuántos tokens consumió y qué decidió hacer el agente a continuación. De ahí salen también las métricas que distinguen a un agente de un chatbot: número de pasos e iteraciones, reintentos, escalados y la tasa de acierto por herramienta. Si un agente depende de cinco herramientas, saber que el agente falla no basta: necesitas saber cuál de ellas está fallando, con qué frecuencia y qué hace el agente cuando ocurre. Sin trazas, depurar un incidente es arqueología; con ellas, es lectura.
La buena noticia es que no hay que inventar el formato. OpenTelemetry se está consolidando como la capa común de instrumentación para aplicaciones y agentes de IA: ya dispone de convenciones semánticas específicas para IA generativa y agentes —modelan la ejecución completa como un árbol de spans: la invocación del agente, cada llamada al modelo, cada ejecución de herramienta—, aunque es un área del estándar que sigue evolucionando con rapidez y conviene tratarla como tal. Instrumentar sobre ese estándar reduce la dependencia de una plataforma concreta, sin esperar que todas implementen hoy exactamente las mismas capacidades.
- Cada llamada al modelo: modelo e identificador de versión, tokens de entrada y salida, duración, parámetros relevantes.
- Cada llamada a herramienta: cuál, con qué argumentos, resultado o error, reintentos, timeouts y duración. De aquí sale la tasa de acierto por herramienta.
- El recorrido de la tarea: pasos e iteraciones, y las decisiones del bucle — por qué el agente siguió, reintentó, escaló a humano o terminó.
- Identificadores de correlación: tarea, sesión y usuario, para reconstruir la historia completa.
- La foto de versiones: agente, prompt, modelo, harness, herramientas disponibles y, si aplica, el índice o base de conocimiento. Una traza sin versiones explica qué ocurrió, pero puede no explicar por qué cambió.
Cómo se ve una tarea cuando hay observabilidad
Para quien nunca ha abierto una traza de agente en Langfuse, LangSmith o Phoenix, así se lee una tarea instrumentada — los tiempos y tokens son ilustrativos:
- El usuario pide una tarea
«prepara la propuesta para este cliente».
El agente interpreta la intención — 0,3 s.
Consulta la base de conocimiento — 0,5 s.
El modelo decide usar la herramienta del CRM — 1.240 tokens · 0,8 s.
Tool call buscarCliente() — 0,2 s · OK.
Tool call generarPropuesta() — 1,4 s · ERROR.
Reintento con argumentos corregidos — 1,1 s · OK.
El modelo redacta la respuesta final — 840 tokens · 1,2 s.
- Tarea completada
3 tool calls, 1 reintento, coste y latencia totales imputados a la tarea, resultado correcto.
Coste: el presupuesto como barrera de seguridad
El coste es la señal más particular de los sistemas con LLM, porque es la única que puede arruinar el caso de negocio sin que nada "falle". Un agente que resuelve la tarea dando cuatro vueltas de más no dispara ninguna alerta de errores: solo cuesta el triple. Y el modo de fallo extremo —el bucle que reintenta indefinidamente una herramienta rota— convierte un bug menor en una factura seria si nadie le puso techo.
Por eso el coste se gestiona en dos capas. La primera es contable: coste por tarea —y, mejor aún, coste por tarea exitosa, que suele decirle más a negocio que el coste por llamada al modelo: una versión que abarata cada llamada pero falla más tareas sale cara—, segmentado por tipo de tarea, por usuario o cliente cuando aplica, y comparado entre versiones para ver qué encareció cada cambio. La segunda es defensiva: límites que cortan la ejecución al superarse. Según el caso de uso convienen por tarea, por sesión, por usuario o cliente, o por periodo —no todos los agentes necesitan todos los niveles—, y los mecanismos son conocidos: techo de iteraciones y de tool calls, presupuesto de tokens o monetario, timeout total, circuit breaker sobre herramientas, backoff, fallback a un modelo más barato y escalado a humano. Un agente sin ningún límite de gasto es un sistema al que le falta una barrera de seguridad básica, independientemente de lo bien que funcione hoy.
Deriva: cuando el agente empeora sin que nadie toque nada
Es el fenómeno más desconcertante para equipos que vienen del software tradicional: el sistema se degrada sin ningún despliegue. Las causas habituales son tres. El modelo subyacente puede cambiar de versión, quedar obsoleto o ser sustituido por el proveedor, y esos cambios pueden alterar el comportamiento de tu aplicación. Los datos sobre los que trabaja el agente cambian aunque el modelo no lo haga: la base de conocimiento envejece, los documentos del RAG se modifican, una API externa cambia su contrato, el knowledge layer se desincroniza. O el uso cambia: los usuarios descubren casos que no estaban en tu diseño y la distribución real de entradas se aleja de la que probaste. En la literatura verás estos fenómenos como deriva de modelo, de datos, de recuperación o de uso; el nombre importa menos que tener una señal que los delate.
Contra la deriva hay una defensa principal: evals recurrentes. Un subconjunto estable de casos de referencia ejecutado contra el sistema de producción con una frecuencia coherente con el volumen, la criticidad y el ritmo de cambio —continua o diaria en un sistema de alto tráfico, semanal en un agente interno tranquilo, y en cada despliegue siempre— detecta la degradación del modelo o del contexto aunque ningún usuario se haya quejado todavía. Y un muestreo periódico de tareas reales —revisado con juez LLM y con algo de ojo humano— detecta lo contrario: los casos nuevos que tus referencias no cubren, porque producción siempre contiene casos que el dataset original nunca anticipó. Cuando cualquiera de las dos señales cae del umbral, la conversación es concreta: qué cambió, desde cuándo, en qué casos.
- Fija la versión del modelo cuando el proveedor lo permita; si no, trata cada cambio de versión como un despliegue que hay que validar.
- Ejecuta una eval de referencia contra producción de forma recurrente — la frecuencia la marcan el tráfico y la criticidad, no una regla fija.
- Muestrea tareas reales cada semana y revisa una fracción con criterio humano.
- Vigila la distribución de entradas: longitud, idioma, tipo de petición. La deriva de uso precede a la caída de calidad.
- Registra el feedback explícito e implícito del usuario: correcciones, reintentos y abandonos son señal de calidad gratis.
El stack: qué herramientas usar y con qué criterio
El ecosistema se ha consolidado lo suficiente como para que la pregunta ya no sea si existe herramienta, sino cuál encaja con tu contexto. Los criterios que de verdad separan las opciones son cuatro: si necesitas alojarla tú mismo por sensibilidad de datos, si quieres evals y trazas en la misma plataforma, cuánto te ata al ecosistema de un framework concreto y si tu organización ya opera una plataforma de observabilidad que convenga aprovechar — los APM tradicionales ya no ofrecen solo visualización genérica de trazas: Datadog y Grafana tienen hoy productos específicos de observabilidad de LLM y agentes.
Para organizaciones con requisitos estrictos de datos —las trazas contienen prompts, y los prompts contienen información de negocio— la opción autoalojada tiene un atractivo evidente, y conecta con la misma lógica que lleva a algunas empresas a plantearse ejecutar los modelos en local: que el dato sensible no salga de casa.
| Opción | Qué aporta | Cuándo encaja |
|---|---|---|
| Langfuse | Trazas, evals y gestión de prompts; open source, autoalojable e integrable con OpenTelemetry | Buscas una plataforma especializada en LLM y agentes con control de la infraestructura y del dato |
| LangSmith | Trazas, evals online y offline, datasets y experimentos; integración especialmente profunda con LangChain/LangGraph —pero no limitada a ellos— y soporte de OpenTelemetry | Quieres desarrollo, evaluación y observabilidad integrados, sobre todo —no solo— en el ecosistema LangChain |
| Arize Phoenix | Trazas y evals open source sobre OpenTelemetry y OpenInference | Priorizas estándares abiertos, análisis fino y experimentación |
| Datadog (Agent Observability) | Producto específico de observabilidad de LLM y agentes, con ingesta nativa de trazas OpenTelemetry, correlacionado con APM e infraestructura | Tu organización ya opera Datadog y quiere agente, aplicaciones e infraestructura en la misma plataforma |
| Grafana Cloud (AI Observability) | Observabilidad de agentes y GenAI construida sobre OpenTelemetry, junto a las métricas, logs y trazas del resto del sistema | Tu organización ya vive en Grafana o quiere el agente integrado con su observabilidad existente |
Qué debería despertarte una alerta (y qué es un SLO de agente)
Un panel que nadie mira no es observabilidad: es decoración. La diferencia la marcan las alertas, y en agentes las útiles no son las genéricas de infraestructura, sino las desviaciones respecto al comportamiento propio del sistema. El umbral correcto sale del baseline de cada agente y del riesgo del caso de uso, no de un porcentaje universal; lo que sí es universal es la lista de cosas que merecen despertarte.
El paso de madurez siguiente es convertir esas señales en SLO —objetivos de nivel de servicio— del agente, pactados con negocio: una tasa de éxito mínima, una latencia P95 máxima, un coste medio por tarea dentro de presupuesto, un tope de escalados a humano, disponibilidad de las herramientas críticas. Los números concretos son tuyos; la idea no: la observabilidad gana valor cuando deja de ser un panel que alguien mira de vez en cuando y se convierte en objetivos operativos medibles.
- El coste por tarea se separa de su línea base histórica.
- La latencia P95 sube de forma sostenida, o un componente concreto se vuelve lento.
- Una herramienta empieza a fallar, a devolver argumentos inválidos o a agotar timeouts.
- El número medio de iteraciones por tarea crece: el agente está dando vueltas.
- La tasa de éxito cae, o los escalados a humano aumentan.
- La eval de referencia cae por debajo del umbral acordado.
- Aparece en las trazas una versión de modelo o de prompt distinta de la esperada.
El mínimo viable de observabilidad
Nada de lo anterior exige un proyecto trimestral: puede implantarse de forma incremental, empezando por unas pocas piezas de alto impacto. Para un agente ya desplegado, este es el orden que convierte una caja negra en un sistema operable.
- Trazabilidad primero: cada llamada a modelo y a herramienta, con errores, latencias, tokens y la foto de versiones.
- Guardrails operativos: techo de pasos, timeout, presupuesto de ejecución y circuit breakers donde proceda.
- Definir el éxito: qué significa exactamente completar bien la tarea, y registrarlo como evento — sin esto no hay tasa de éxito posible.
- Dashboard mínimo: tasa de éxito, coste por tarea, latencia P95, errores por herramienta, iteraciones medias y escalados.
- Evaluación recurrente: el conjunto de referencia contra producción, con umbral y alerta por degradación.
- Cerrar el ciclo: convertir los fallos reales de producción en nuevos casos de eval.
Conclusión
Un agente de IA en producción sin observabilidad funciona exactamente hasta que deja de hacerlo, y para entonces nadie sabe desde cuándo, por qué ni cuánto ha costado. Las cinco señales —trazas, coste, latencia, tasa de éxito y deriva— no son sofisticación de grandes plataformas: son el equivalente para agentes de lo que logs y métricas llevan décadas siendo para el resto del software, con la particularidad de que aquí el sistema puede degradarse sin que nadie despliegue nada y gastar dinero sin que nada falle.
El orden importa: primero trazas y techos de coste —lo que evita el incidente caro—, después tasa de éxito y evals recurrentes —lo que detecta la degradación silenciosa—, y por último el ciclo completo que convierte producción en la mejor fuente de casos de prueba. Si estás construyendo agentes y quieres montar esta capa con criterio desde el principio —o añadírsela a uno que ya opera a ciegas—, es parte del trabajo de arquitectura, harness, evaluación y operación que hacemos en los proyectos de desarrollo e integración de IA de DatIACode.
Preguntas frecuentes
¿Qué es la observabilidad de agentes de IA?
Es la capacidad de saber qué está haciendo un agente de IA en producción y por qué: reconstruir cada tarea paso a paso mediante trazas, medir su coste, su latencia y su tasa de éxito, y detectar cuándo su comportamiento cambia sin que haya cambiado el código. Combina dos niveles: la observabilidad técnica —latencia, errores, tokens, coste, llamadas a herramientas, reintentos— y la de comportamiento —si el agente resolvió de verdad la tarea, si eligió bien las herramientas, si escaló a humano cuando tocaba—. Un agente puede estar sano en infraestructura y estar fallando como agente; por eso la monitorización tradicional, por sí sola, no basta.
¿Qué diferencia hay entre evals y observabilidad?
Las evals evalúan al agente contra casos de prueba que tú controlas, normalmente antes de desplegar un cambio: responden a "¿esta versión funciona?". La observabilidad mira el tráfico real de producción: responde a "¿qué está pasando ahora y cuánto cuesta?". Se necesitan mutuamente: las trazas de producción aportan casos reales al conjunto de evals, y las evals continuas ejecutadas sobre producción son la mejor alarma contra la degradación silenciosa. Tratarlas como proyectos separados suele dejar el ciclo sin cerrar.
¿Qué es la deriva de un modelo o de un agente?
Es la degradación del comportamiento sin que nadie haya desplegado cambios. Tiene tres causas habituales: el modelo subyacente cambia de versión, queda obsoleto o es sustituido por el proveedor; los datos con los que trabaja el agente cambian o envejecen —documentos del RAG, APIs externas, bases de conocimiento—; o el uso real se aleja de los casos con los que se probó. Se detecta con evals recurrentes —un conjunto de referencia ejecutado contra producción con la frecuencia que marquen el tráfico y la criticidad— y vigilando la distribución de las entradas. Sin esas señales, la deriva se descubre por las quejas de los usuarios, semanas más tarde de lo necesario.
¿Qué herramientas hay para observabilidad de LLM y agentes?
Las opciones más consolidadas son Langfuse (open source y autoalojable: trazas, evals y gestión de prompts, integrable con OpenTelemetry), LangSmith (trazas, evals online y offline, datasets y experimentos, con integración especialmente profunda —pero no limitada— con LangChain/LangGraph y soporte de OpenTelemetry), Arize Phoenix (open source sobre OpenTelemetry y OpenInference) y los productos específicos de observabilidad de agentes de Datadog y de Grafana Cloud, que encajan cuando la organización ya opera esas plataformas y quiere el agente correlacionado con el resto del sistema. El criterio práctico: sensibilidad de los datos (autoalojado o SaaS), evals y trazas en una sola pieza, y cuánto quieres atarte a un framework. Instrumentar de forma vendor-neutral sobre OpenTelemetry mantiene barato el cambio de backend.
¿Cómo controlo el coste de un agente de IA en producción?
En dos capas. Contable: medir el coste por tarea y, sobre todo, por tarea exitosa —más útil para negocio que el coste por llamada al modelo—, segmentado por tipo de tarea y comparado entre versiones. Defensiva: límites que corten la ejecución, elegidos según el caso de uso —por tarea, sesión, usuario, cliente o periodo— con mecanismos como techo de iteraciones y de tool calls, presupuesto de tokens o monetario, timeout total, circuit breaker, backoff, fallback a un modelo más barato y escalado a humano. El patrón de fuga más común son los reintentos sobre una herramienta degradada con contexto creciente; se neutraliza combinando techo de iteraciones, backoff, circuit breaker y presupuesto máximo.
¿Por dónde empiezo si mi agente ya está en producción sin nada de esto?
De forma incremental y en este orden: instrumentar trazas (cada llamada a modelo y herramienta, con tokens, duración y versiones); poner guardrails operativos —techos de iteraciones, timeout y presupuesto con corte real—; definir qué es una tarea exitosa y registrarlo; montar un panel mínimo con las cinco señales; y programar una eval recurrente de referencia contra producción. Las dos primeras piezas —trazas y techos— eliminan ya los dos riesgos mayores: no poder reconstruir un incidente y el coste desbocado. El ritmo depende de la arquitectura, el número de agentes y la madurez del equipo; el error es intentarlo todo a la vez en lugar de empezar por lo de mayor impacto.
¿Qué métricas debería monitorizar en un agente de IA?
Ocho familias cubren lo esencial: tasa de éxito de tareas, con un criterio de éxito definido para el caso de uso; coste por tarea y por tarea exitosa, segmentado por tipo y versión; latencia de extremo a extremo (P50/P95, y hasta el primer token cuando la experiencia es conversacional) descompuesta por modelo, recuperación y herramientas; llamadas a herramientas, con tasa de acierto, errores, reintentos y timeouts por herramienta; iteraciones medias por tarea; errores y excepciones; escalados a humano; y calidad mediante evals recurrentes sobre un conjunto de referencia. A todas ellas hay que poder cruzarlas con la versión del agente, del prompt y del modelo, porque sin versiones se sabe qué cambió pero no por qué.
¿OpenTelemetry sirve para observar agentes de IA?
Sí, y es la vía recomendable siempre que sea viable. OpenTelemetry dispone de convenciones semánticas específicas para IA generativa y agentes, que modelan la ejecución como un árbol de spans: la invocación del agente, cada llamada al modelo y cada ejecución de herramienta, con atributos para modelo, tokens y operaciones. Su gran ventaja es desacoplar la instrumentación del backend: las principales plataformas del ecosistema aceptan trazas OTLP, así que puedes cambiar de herramienta sin re-instrumentar el agente. La matización honesta: esas convenciones específicas de GenAI siguen en evolución y aún no están marcadas como estables, por lo que conviene aislar la instrumentación en una capa propia y asumir algún ajuste de nombres y atributos por el camino.
Sigue leyendo
Ver todos los artículos- Leer artículo
AI Act · Multas y supervisiónAI Act y cumplimiento16 minMultas del AI Act: qué arriesga tu empresa desde el 2 de agosto de 2026 y quién vigila en España
- Leer artículo
Estrategia · LLM en localEstrategia15 minLLM en local: cuándo tiene sentido que tu empresa ejecute sus propios modelos (y cuándo no)
- Leer artículo
TDD · Desarrollo con agentes de IADesarrollo con IA16 minTDD en proyectos con IA: el test como la especificación que un agente no puede falsear
