Renderz Studio
Academia
Proyectos
Servicios
Arsenal
Repo
Herramientas
Skills
El Oráculo
Guía Gratis
← El Arsenal
OperacionesAvanzado35 min

Observabilidad y Monitoreo IA

LangSmith · logging · trazas · métricas · debugging en producción

ObservabilityLoggingMonitoring
✓ Guía gratuita · Acceso completo

Mapa rápido · salta al paso que te interese

Métricas clave

Qué medir en apps de IA

Logging estructurado

Logs útiles para debugging

LangSmith setup

Trazas visuales de LangChain

01

Métricas clave para apps de IA

MétricaQué indicaAlerta si
Latencia P50/P95Tiempo de respuesta> 5s P95
Tokens/requestCoste por llamada> threshold
Error rateFiabilidad> 1%
ThroughputCapacidadCaída súbita
User satisfactionCalidad percibidaThumbs down > 10%
02

Logging estructurado para LLM calls

lib/ai/instrumented-client.ts
import Anthropic from '@anthropic-ai/sdk'

const anthropic = new Anthropic()

interface LLMLog {
  timestamp: string
  requestId: string
  model: string
  inputTokens: number
  outputTokens: number
  latencyMs: number
  status: 'success' | 'error'
  error?: string
}

export async function instrumentedChat(
  messages: Array<{ role: string; content: string }>,
  requestId: string
) {
  const start = Date.now()
  const log: Partial<LLMLog> = {
    timestamp: new Date().toISOString(),
    requestId,
    model: 'claude-sonnet-4-20250514',
  }

  try {
    const response = await anthropic.messages.create({
      model: 'claude-sonnet-4-20250514',
      max_tokens: 1024,
      messages,
    })

    log.inputTokens = response.usage.input_tokens
    log.outputTokens = response.usage.output_tokens
    log.latencyMs = Date.now() - start
    log.status = 'success'

    // Enviar a tu sistema de logging
    console.log(JSON.stringify(log))

    return response
  } catch (error) {
    log.latencyMs = Date.now() - start
    log.status = 'error'
    log.error = error instanceof Error ? error.message : 'Unknown'

    console.error(JSON.stringify(log))
    throw error
  }
}
03

LangSmith para trazas visuales

.env.local
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=ls__...
LANGCHAIN_PROJECT=mi-proyecto-produccion
lib/langsmith-client.ts
import { Client } from 'langsmith'
import { traceable } from 'langsmith/traceable'
import Anthropic from '@anthropic-ai/sdk'

const anthropic = new Anthropic()

// Wrapper traceable - aparece en LangSmith dashboard
export const generateResponse = traceable(
  async (prompt: string) => {
    const response = await anthropic.messages.create({
      model: 'claude-sonnet-4-20250514',
      max_tokens: 1024,
      messages: [{ role: 'user', content: prompt }],
    })
    return response.content[0].type === 'text' ? response.content[0].text : ''
  },
  { name: 'generate-response', run_type: 'llm' }
)

// Uso - automáticamente logueado a LangSmith
const result = await generateResponse('¿Qué es machine learning?')

Tip Pro

LangSmith tiene tier gratuito generoso. Activa el tracing en desarrollo para entender el flujo de tus chains.

Guías relacionadas

Testing IA

Prevenir problemas antes de producción

Optimización de Costes

Monitorear gastos

¿Quieres el sistema completo?

500+ páginas, 25 capítulos, código de producción, acceso a todas las guías del Arsenal.

Curso Completo · €29

PayPal · Acceso inmediato

¿Hablamos?