LangSmith: observabilidad y debugging para tus cadenas de IA

By Carlos Montiel | Especialista en IA Empresarial
Publicado: 2026-07-28 | Por: Carlos Montiel | Lectura: ~4 minutos

Una cadena de IA en producción sin trazabilidad es una caja negra que falla en silencio. LangSmith resuelve esto con tracing nativo, datasets de evaluación y alertas sobre métricas de calidad.

El problema que resuelve

Cuando una cadena de RAG con 4-5 pasos (reescritura de consulta, recuperación, re-ranking, generación) produce una respuesta incorrecta, la pregunta operativa es "¿en qué paso se rompió?". Sin trazabilidad estructurada, la única opción es reproducir el caso con logs de `print()` dispersos. LangSmith captura automáticamente cada invocación de cada `Runnable` en la cadena —inputs, outputs, latencia, tokens, costo— y los organiza en un árbol de ejecución navegable.

Activación con variables de entorno

La instrumentación básica no requiere cambios de código, solo variables de entorno:

import os os.environ["LANGCHAIN_TRACING_V2"] = "true" os.environ["LANGCHAIN_API_KEY"] = "ls__..." os.environ["LANGCHAIN_PROJECT"] = "guatemalia-soporte-rag-prod" # A partir de aquí, cualquier invoke() de una cadena LCEL # o de un grafo de LangGraph se traza automáticamente. respuesta = rag_chain.invoke("¿Cuál es el SLA de soporte nivel 1?")

El campo `LANGCHAIN_PROJECT` es clave para separar entornos: en nuestros despliegues usamos un proyecto distinto para `dev`, `staging` y `prod`, lo que evita que trazas de pruebas contaminen las métricas de producción.

Tracing manual con @traceable

Para lógica que no es un `Runnable` nativo —por ejemplo, una función de post-procesamiento con reglas de negocio antes de devolver la respuesta al usuario— el decorador `@traceable` la integra al mismo árbol de traza:

from langsmith import traceable @traceable(name="validar_respuesta_compliance") def validar_respuesta(respuesta: str, categoria: str) -> str: if categoria == "financiero" and "garantizado" in respuesta.lower(): respuesta = respuesta.replace("garantizado", "proyectado") return respuesta resultado_final = validar_respuesta(rag_chain.invoke(pregunta), "financiero")

Esto es especialmente útil en sectores regulados donde el pipeline incluye pasos de compliance que no son llamadas a modelo pero sí deben quedar auditados.

Datasets y evaluación automática

LangSmith permite construir datasets de pares pregunta-respuesta esperada a partir de trazas reales marcadas por un revisor humano, y correr evaluaciones automáticas contra ellos usando evaluadores LLM-as-judge o métricas determinísticas:

from langsmith import Client from langsmith.evaluation import evaluate client = Client() def evaluador_exactitud(run, example): prediccion = run.outputs["output"] esperado = example.outputs["answer"] correcto = esperado.lower() in prediccion.lower() return {"key": "exactitud", "score": int(correcto)} resultados = evaluate( lambda inputs: rag_chain.invoke(inputs["question"]), data="dataset-soporte-nivel-1", evaluators=[evaluador_exactitud], experiment_prefix="rag-v2-reranking", )

Correr esto en el pipeline de CI antes de cada despliegue permite detectar regresiones de calidad —por ejemplo, tras cambiar el modelo o el prompt— antes de que lleguen a producción, algo que consideramos no negociable para cualquier cadena que toque decisiones de negocio.

Monitoreo de costo y latencia en producción

Cada traza incluye tokens de entrada/salida y costo estimado por invocación, agregables por proyecto, por tag o por usuario final si se pasa metadata en el `RunnableConfig` (`configurable={"user_id": "..."}`). Esto convierte a LangSmith en una herramienta de FinOps además de debugging: hemos usado esta vista para detectar que un prompt mal optimizado triplicaba el consumo de tokens en el 5% de las consultas más largas, un hallazgo que sin trazas agregadas hubiera pasado desapercibido en la factura mensual del proveedor.

Alertas y umbrales

LangSmith permite configurar reglas de alerta sobre métricas agregadas (tasa de error, latencia P95, score de evaluadores en línea) que notifican vía webhook cuando se cruza un umbral. En despliegues críticos recomendamos conectar esto a Slack o PagerDuty, de forma que una degradación de calidad del modelo —por ejemplo, tras un cambio silencioso del proveedor— dispare una alerta antes de que el equipo de soporte reciba las quejas de los usuarios.

Carlos Montiel
Arquitecto de Soluciones IA Empresarial
Especialista en LLMs, Agentes y Orquestación
guatemalia.com/#contacto · info@guatemalia.com

¿Necesitas implementar IA en tu empresa?

Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.

Contactar a Carlos Montiel

info@guatemalia.com