El problema
Los agentes y aplicaciones hechos con LLMs suelen funcionar como cajas negras:
- Cuando una respuesta es incorrecta o alucinada, casi no hay manera de saber si falló el prompt del sistema, el formato de una herramienta o la inferencia del modelo.
- No se ve en tiempo real cuánto cuesta cada llamada en dólares o euros, ni cuántos tokens se han gastado en total.
- Probar los cambios «a ojo» no escala y deja regresiones silenciosas en los casos límite.
La solución
Evaluación offline (Pre-producción)
Gestión de prompts
Monitorización y Feedback (Producción)
Implementé con LangSmith una infraestructura de observabilidad, telemetría y evaluación continua en cinco módulos:
- Trazabilidad y telemetría:
- Instrumento con el decorador
@traceabley variables de entorno (LANGSMITH_TRACING=true), sin tocar la lógica del código. - Reviso el árbol de ejecución (RunTree): la latencia exacta de cada nodo, los tokens de entrada y salida, las llamadas a herramientas y los metadatos de contexto (
tags,metadata).
- Instrumento con el decorador
- Datasets reproducibles y evaluadores automáticos:
- Creo datasets de prueba en la nube con
Client.create_dataset(). - Evalúo offline con
langsmith.evaluate(), usando evaluadores heurísticos de coincidencia exacta (ExactMatch) y evaluadores semánticos LLM-as-a-judge (CriteriaEvaluator). - Comparo por pares (pairwise) para medir qué modelo o qué prompt se prefiere.
- Creo datasets de prueba en la nube con
- Ciclo de vida de los prompts:
- Versiono los prompts fuera del código con el LangSmith Prompt Hub (
client.pull_prompt()yclient.push_prompt()). - Pruebo los cambios en el Playground antes de llevarlos al pipeline.
- Versiono los prompts fuera del código con el LangSmith Prompt Hub (
- Feedback humano y colas de revisión:
- Recojo las valoraciones de los usuarios finales (👍/👎) asociadas a cada ejecución (
client.create_feedback). - Configuro colas de anotación (Annotation Queues) para que revisores técnicos auditen las ejecuciones problemáticas y alimenten futuros datasets de entrenamiento.
- Recojo las valoraciones de los usuarios finales (👍/👎) asociadas a cada ejecución (
- Monitorización y evaluación online en producción:
- Reglas automáticas (Automations) que evalúan en vivo el tráfico real.
- Dashboards para seguir el gasto, los picos de latencia y las anomalías de calidad.
Stack desglosado
- Plataforma: LangSmith SDK y Cloud.
- Instrumentación: Python (
@traceable,RunTree). - Evaluación: LLM-as-a-judge, Pairwise evaluation y datasets en la nube.
- Herramientas: LangSmith Prompt Hub, Annotation Queues y reglas de automatización.
Resultados y aprendizajes
Lo que funcionó fue tratar la calidad de un agente con la misma disciplina que el testing de software. Con datasets de evaluación y métricas numéricas, puedo cambiar de modelo o refactorizar un prompt sabiendo si el rendimiento general mejora.
Lo que aprendí: la observabilidad no es un extra para cuando el proyecto está terminado. Es lo que hace falta desde el primer día para entender qué ocurre dentro de un agente de IA.