Pusiste tu primer agente en producción — una IA que no solo responde preguntas sino que realmente hace cosas: encadena entre 50 y 200 llamadas a herramientas (requests a servicios externos como Slack, Linear, GitHub), escribe código, envía mensajes, crea tickets. Un cliente depende del resultado. La vida es bella.
Entonces un cliente recibe una respuesta equivocada. Tu agente escribió en el proyecto de Linear incorrecto, mergeó un PR desastroso, mandó un DM en Slack al CEO en vez de al ingeniero junior. Necesitás averiguar por qué — antes de que lo haga de nuevo.
Así que echas mano de las flamantes herramientas de observabilidad que todas las plataformas lanzaron en abril de 2026. El 8 de abril, Anthropic lanzó Managed Agents con trazado de sesiones y logs de llamadas a herramientas integrados. El 10 de abril, Zed lanzó Agent Metrics — dashboards rastreando 2 millones de sesiones, 15.4 millones de turnos, histogramas de latencia en 536 agentes distintos. El 15 de abril, OpenAI actualizó su Agents SDK con auto-tracing que registra cada llamada a herramienta, cada handoff y cada salida del modelo — cero instrumentación adicional — más compatibilidad total con OpenTelemetry (el estándar de la industria para recopilar datos de rendimiento, como un enchufe universal para herramientas de monitoreo).
Todos los vendors resolvieron el mismo problema: mostrame qué pasó. Y lo hicieron bien. Abrís los traces — spans (registros individuales de cada operación) por cada invocación al LLM, cada llamada a herramienta, cada token (un fragmento de palabra que la IA procesa). Hermosos diagramas en cascada. Números de latencia precisos.
Pero acá es donde se rompe todo. El trace de un agente no es el trace de un microservicio. Los microservicios — esos programas pequeños e independientes que hacen funcionar la mayoría de las apps web — son deterministas: misma entrada, misma salida, mismo bug, fix reproducible. Los agentes son no-deterministas: re-ejecutás exactamente la misma tarea, y obtenés decisiones distintas en el paso 47. El agente eligió el camino A, pero no podés ver cómo era el camino B, ni por qué eligió A sobre B con 80,000 tokens de contexto acumulado (la "memoria de trabajo" de la IA — todo lo que leyó y generó hasta ese punto).
Como escribió Simon Willison en su guía de Agentic Engineering Patterns del 3 de abril: "No podemos asegurar que un agente actúa fielmente ni diagnosticar problemas si sus operaciones son completamente opacas." Y el post-mortem de Sentry del 16 de abril clavó exactamente el modo de falla: cada span reporta status: ok, pero la salida está completamente mal. El bug vive entre agentes — una llamada a herramienta degrada silenciosamente el input para otro agente dos pasos después.
Debugear la decisión errónea de un agente desde su trace es como debugear la decisión de una persona mirando su Google Calendar — ves qué reuniones tuvo, no qué estaba pensando.
El parche del mercado: LLM-as-judge — usar un segundo modelo de IA para evaluar las decisiones del primero. Braintrust (levantó $80M en febrero con una valuación de $800M), las trajectory evals de LangSmith y Arize Phoenix le añaden evaluación a los traces. Pero cada uno agrega una nueva dependencia, costo extra de tokens por punto de decisión, y — acá viene lo bueno — el modelo juez comparte los mismos puntos ciegos arquitectónicos que el agente que está juzgando.
El workaround práctico de hoy: forzar a tu agente a emitir razonamiento estructurado en cada punto de bifurcación. No solo el registro de la llamada a herramienta, sino un JSON con la justificación:
import json
def log_decision(step: int, options: list[str], chosen: str, reasoning: str):
"""Emit a searchable reasoning trail at every branch."""
entry = {
"step": step,
"options_considered": options,
"chosen_action": chosen,
"reasoning": reasoning,
"context_tokens_used": get_current_context_length(),
}
logger.info("agent_decision", extra=entry)
return entry
# Inside your agent loop:
log_decision(
step=47,
options=["post to #general", "post to #engineering", "DM the assignee"],
chosen="DM the assignee",
reasoning="Ticket is labeled 'confidential', channel posting violates policy"
)
Sí, cuesta tokens extra. Sí, ralentiza la ejecución. Pero es la única forma de construir un rastro de razonamiento buscable que un humano pueda auditar después de una falla — porque los traces solos no te van a decir por qué el paso 47 se fue al diablo.
Todas las plataformas lanzaron el "qué pasó". Nadie lanzó el "por qué este camino y no el otro". La primera empresa que construya observabilidad nativa de razonamiento — no nativa de traces, nativa de razonamiento — va a ser dueña de la capa de debugging de todo agente en producción, así como Datadog es dueña del monitoreo para microservicios. Hasta entonces, estás leyendo el calendario de tu agente y adivinando qué estaba pensando.





