MODULO 4.7

📊 Observabilidade

LangSmith, tracing, metricas e avaliacao: como monitorar e debugar aplicacoes AI em producao.

6
Topicos
30
Minutos
Avancado
Nivel
Pratico
Tipo
1

👁️ Por que Observabilidade

Observabilidade em AI e a capacidade de entender o que acontece dentro de sistemas complexos - essencial para debug, otimizacao e confianca.

Desafios Unicos de AI

  • Non-determinismo: Mesma entrada pode gerar saidas diferentes
  • Caixa preta: Dificil entender por que um output foi gerado
  • Custos variaveis: Token usage pode variar dramaticamente
  • Latencia imprevisivel: Tempo de resposta flutuante
2

🦜 LangSmith

LangSmith e a plataforma da LangChain para observabilidade e avaliacao de LLM applications. Captura traces, permite debug e avaliacao sistematica.

Configurando LangSmith

# Environment variables
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=lsv2_xxx
export LANGCHAIN_PROJECT="my-project"

# Codigo automaticamente envia traces
from langchain_openai import ChatOpenAI
model = ChatOpenAI()
model.invoke("Hello")  # Trace enviado automaticamente

Funcionalidades

  • • Trace visualization
  • • Prompt playground
  • • Dataset management
  • • Evaluation runs

Alternativas

  • • Phoenix (Arize)
  • • Weights & Biases
  • • Helicone
  • • Portkey
3

🔍 Tracing Distribuido

Tracing permite seguir uma requisicao atraves de todas as etapas: prompt, LLM call, tool execution, RAG retrieval, etc.

Anatomia de um Trace

Root span: AgentExecutor (2.3s)
Child: ChatOpenAI (0.8s)
Child: ToolExecutor (0.3s)
Child: ChatOpenAI (0.9s)
Child: OutputParser (0.1s)

💡 Debug com Traces

Traces mostram exatamente onde algo falhou: prompt mal formatado? LLM retornou erro? Tool timeout? Resposta truncada?

4

📈 Metricas e KPIs

Metricas quantificam performance e custos. KPIs bem definidos guiam otimizacao e detectam regressoes.

P50

Latency

1.2s

P95

Latency

3.8s

Tokens

Per request

2.4k avg

Errors

Rate

0.3%

KPIs Essenciais

  • Latencia: P50, P95, P99 por endpoint
  • Custo: $ por request, $ por usuario, $ diario
  • Qualidade: User satisfaction, task completion rate
  • Erros: Taxa de falha, tipos de erro mais comuns
5

✅ Avaliacao de Qualidade

Evaluation mede qualidade de outputs de forma sistematica. Pode usar LLMs como juizes ou metricas automaticas.

LLM as Judge

from langsmith.evaluation import evaluate

def correctness(run, example):
    """Avalia se resposta e correta."""
    prompt = f"""
    Pergunta: {example.inputs['question']}
    Resposta esperada: {example.outputs['answer']}
    Resposta gerada: {run.outputs['output']}

    A resposta gerada esta correta? (0-1)
    """
    score = llm.invoke(prompt)
    return {"score": float(score)}

evaluate(chain, data="my-dataset", evaluators=[correctness])

Metricas Automaticas

  • • BLEU, ROUGE (texto)
  • • Embedding similarity
  • • Regex match
  • • JSON validity

LLM Evaluators

  • • Correctness
  • • Helpfulness
  • • Harmlessness
  • • Relevance
6

🔧 Observabilidade em Skills

Skills em producao precisam de logging estruturado e metricas para debug e manutencao.

Skill com Logging

---
name: observable-skill
description: Skill com observabilidade integrada.
allowed-tools: Bash(python:*)
---

# Observable Skill

Ao executar, sempre logar:

```bash
python scripts/task.py --log-level INFO 2>&1 | tee -a ~/.logs/skill.log
```

## Metricas a capturar
- Tempo de execucao
- Tokens usados (se aplicavel)
- Sucesso/falha
- Erros especificos

🎯 Proximo Passo

No ultimo modulo da trilha, exploramos Arquiteturas de Producao - deploy, scaling, custos e seguranca para AI em escala.

📚 Resumo do Modulo

Observabilidade - Visibilidade em sistemas AI complexos
LangSmith - Plataforma de tracing e evaluation
Tracing - Seguir execucao atraves de todas as etapas
Metricas - Latencia, custo, erros, qualidade
Evaluation - LLM as judge, metricas automaticas
Skills - Logging estruturado para debug

Proximo Modulo:

4.8 - Arquiteturas de Producao