Cómo monitorear tus agentes de IA en producción
Tiempo estimado de lectura: 5 min
Ideas clave
- Instrumentación desde el día 0: traces y spans que representen sesiones completas y decisiones individuales.
- Métricas triples: rendimiento (TTFT, percentiles), coste (tokens/coste por span/sesión) y calidad (feedback y señales automáticas).
- Elegir plataforma según arquitectura: LangSmith para stacks centrados en LangChain; Langfuse (+ ClickHouse) para portabilidad y escala.
- Cultura operacional: versionado de prompts, tests de regresión y despliegue progresivo son obligatorios.
Cómo monitorear tus agentes de IA en producción debería ser la primera conversación del equipo antes de lanzar una beta. Si no instrumentas traces, spans, costes y calidad desde el día 0, tu siguiente sprint será apagar fuegos y explicar facturas inexplicables.
Este artículo explica el diseño mínimo de observabilidad para agentes (LLM Observability), las métricas que importan y las decisiones tecnológicas prácticas entre plataformas como Langfuse y LangSmith. Incluye enlaces directos a recursos: Langfuse, LangSmith y ClickHouse.
Resumen rápido (lectores con prisa)
Qué es: Observabilidad para agentes de IA: traces distribuidos y spans que capturan prompts, llamadas a LLM, búsquedas vectoriales y tool calls.
Cuándo usarlo: desde el día 0 en cualquier beta u ambiente productivo que use agentes/LLMs.
Por qué importa: APMs tradicionales no detectan fallos semánticos ni picos de coste por tokens.
Cómo funciona (resumen): instrumenta spans por acción, mide rendimiento/coste/calidad, y almacena traces para query analítica y alertas.
Principio: los APM tradicionales no son suficientes
APM como Datadog o Prometheus miden latencia HTTP, errores y consumo de CPU. Perfecto para servicios deterministas. Un agente de IA devuelve HTTP 200 y puede a la vez fabricar información falsa, ejecutar llamadas externas y disparar costes por token. En ese escenario, el APM dice “todo bien” mientras tu soporte recibe tickets.
Necesitas telemetría diseñada para flujos probabilísticos: rastreo distribuido con traces que representen sesiones completas y spans que documenten cada decisión y llamada (LLM, búsqueda vectorial, tool calls, llamadas externas).
Traces y spans: la unidad mínima de diagnóstico
Diseña cada interacción como un trace. Cada acción —prompts, retrievals, llamadas a herramientas, transformaciones— es un span con metadata.
Trace: session_42
├─ Span 1: receive_prompt (userId=42, promptHash=…)
├─ Span 2: vector_search (index=kb_v1, hits=3, latency=320ms)
├─ Span 3: LLM_call (model=gpt-4o, tokens_in=1800, tokens_out=120, cost=$0.012)
└─ Span 4: synthesize_response (format=short-answer)
Con esto puedes responder rápido: ¿por qué tardó 12s? ¿qué span generó el mayor coste? ¿qué prompts producen más fallos semánticos?
Métricas imprescindibles (no negociables)
Rendimiento
- Time to First Token (TTFT): impacto directo en la UX.
- Latencia por span y percentiles: p50 / p95 / p99 por tipo de span.
Coste
- Tokens y coste por span: calcular coste por span y por session/userId.
- Coste acumulado por workflow: agente que llama al LLM varias veces debe sumar costes por workflow.
- Alertas de coste: activar alertas cuando una sesión supera un umbral definido.
Calidad
- Feedback explícito: thumbs up/down ligado al trace.
- Señales implícitas: tiempo de interacción, copias realizadas.
- LLM-as-a-judge: usar un modelo más económico para evaluar respuestas automáticamente como señal de calidad (no como veredicto absoluto).
Langfuse vs LangSmith: criterio técnico para elegir
LangSmith es excelente si tu stack está centrado en LangChain/LangGraph: integración out-of-the-box, datasets de evaluación y UI lista para depurar agentes complejos. El coste es acoplamiento: extraer datos o migrar a otro sistema será costoso.
Langfuse es agnóstico y open source; se integra con llamadas directas a APIs, Vercel AI SDK, n8n, etc. La reciente incorporación de ClickHouse al ecosistema refuerza su escalabilidad analítica: consultas sobre millones de traces con latencias bajas y análisis de coste en tiempo real. Si prevés escala o necesitas evitar vendor lock-in, Langfuse+ClickHouse es una apuesta sólida.
Decisión práctica
- Si dependes de LangChain → LangSmith.
- Si buscas portabilidad, alto throughput analítico y autoalojamiento → Langfuse (+ ClickHouse).
Implementación práctica: checklist mínimo viable
- Wrap de llamadas al LLM: envuelve cada llamada con un SDK de observabilidad (Langfuse/LangSmith) que capture prompt, model, tokens, cost y versión del prompt.
- Correlación: adjunta userId, sessionId y deployment/version tags a cada trace.
- Ignorar ruido: no envíes node_modules, logs grandes o secretos. Usa reglas de exclusión (.lfignore / .langsmith-ignore).
- Costeo por sesión: suma tokens y coste por sessionId y expón dashboards con coste por feature o cliente.
- Evaluación automatizada: configura un pipeline de “LLM-as-a-judge” para marcar respuestas sospechosas y crear datasets de retraining.
- Sandboxing y alertas: ejecuta tool calls en entornos aislados y genera alertas cuando spans ejecutan operaciones potencialmente destructivas.
- Auditoría y retenimiento: guarda prompts y respuestas (con enmascarado si hay datos sensibles) para reproducibilidad y cumplimiento.
Operación y cultura: monitoreo como contrato
No es sólo técnica: es proceso. Cada cambio en prompts o pipelines debe ir acompañado de: etiquetas de versión, tests de regresión en datasets de evaluación y despliegue progresivo (canary). Sin estos pasos, la observabilidad será un registro pasivo en lugar de un control activo.
La regla final es simple: ningún agente a producción sin traces, coste por session y un mecanismo automático de evaluación. Si ignoras eso, no estás operando IA; estás apostando.
Implementa observabilidad desde el primer sprint, usa Langfuse o LangSmith según tu arquitectura y organiza tus dashboards en rendimiento, coste y calidad. La visibilidad no es un lujo: es la única forma de mantener agentes de IA útiles, seguros y rentables en producción.
Para equipos que construyen flujos, agentes o automatizaciones, una referencia práctica y recursos adicionales están disponibles en Dominicode Labs. Es una continuidad natural para explorar integración, pipelines de evaluación y despliegue controlado en proyectos de IA aplicada.
FAQ
¿Por qué los APM tradicionales no detectan problemas de agentes de IA?
Porque miden señales infraestructurales (HTTP, CPU, errores) pero no la veracidad semántica ni el consumo de tokens. Un agente puede devolver HTTP 200 y producir contenido incorrecto o costoso.
¿Qué debe contener un span para ser útil?
Metadata mínima: tipo de acción (prompt, search, tool call), timestamps, latencia, modelo, tokens_in/tokens_out, coste estimado, userId/sessionId y versión del prompt.
¿Cómo calcular el coste por sesión?
Suma los tokens y el coste asociado de todos los spans pertenecientes al mismo sessionId. Agrupa por workflow o por cliente para dashboards y alertas.
¿Cuándo elegir LangSmith sobre Langfuse?
Elige LangSmith si tu stack está fuertemente integrado con LangChain/LangGraph y aprecias integración out-of-the-box. Evita si necesitas portabilidad o evitar vendor lock-in.
¿Qué es LLM-as-a-judge y para qué sirve?
Es usar un modelo más económico para evaluar respuestas automáticamente como señal de calidad. Sirve para priorizar revisiones humanas y construir datasets de retraining, pero no debe ser el veredicto final.
¿Qué datos debo enmascarar al guardar prompts?
Enmascara datos sensibles: PII, credenciales, secretos y cualquier información regulada. Guarda versiones y hashes cuando sea posible para reproducibilidad sin exposición directa.
