Observability (LLMs Apps & Agents)

Observability (LLMs Apps & Agents)

Sabemos que trabalhar com LLMs em produção não é só sobre fazer chamadas para APIs e torcer para o melhor.

Sabemos que trabalhar com LLMs em produção não é só sobre fazer chamadas para APIs e torcer para o melhor. Precisamos entender o que está acontecendo, quanto está custando, se as respostas fazem sentido e por aí vai. Ter uma boa stack de monitoramento já me salvou alguma vezes e meu time de plantão um pouco irritado, mas faz parte do game hahah.

Mas vamos lá, existem ferramentas de observabilidade específicas para LLMs. Vamos focar em duas das principais: Langsmith (a principal e recomendada pela comunidade do langchain) e Langfuse (ótimo produto, opensource e acelerado pela YCombinator).

Mas por que precisamos de observabilidade específica para LLMs?

  • Rastreamento de tokens e custos ($$$$)
  • Qualidade das respostas
  • Performance e latência
  • Feedback dos usuários
  • Debug de prompts

O setup dessas ferramentas é muito parecido com o do Datadog ou New Relic, onde nós podemos instalar uma lib e ela automagicamente envia os dados para o servidor (langfuse/langsmith) ou podemos criar nossos traces por conta própria.

Vejamos o langsmith por exemplo:
// 1 - Instalar a lib via NPM ou YARN (yarn add langsmith)
// 2 - Configurar algumas variáveis de ambiente

process.env["LANGSMITH_TRACING"] = "true";
process.env["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com";
process.env["LANGCHAIN_API_KEY"] = "<YOUR-LANGSMITH-API-KEY>";
// process.env["LANGCHAIN_PROJECT"] = "My Project Name"; // Optional: "default" is used if not set

// 3 Realizar alguma chamada usando o Langchain, exemplo:
  const { ChatOpenAI } = require("@langchain/openai");

  const chat = new ChatOpenAI({
      temperature: 0,
  });

  const response = await chat.predict(
      "Translate this sentence from English to French. I love programming."
  );
  console.log(response);

// OBS IMPORTANTE: é possível chamar direto a OpenAI/Antropic com o SDK fornecido por eles, sem usar o Langchain.

O simples fato de fazermos o que esbocei acima com código, já cria um log dentro do Langsmith que veremos a seguir:

O que podemos ver nesse log:

  1. Informações da Requisição
  • Input: A frase em inglês que enviamos
  • Output: A tradução em francês retornada
  • Timestamp preciso (início e fim)
  1. Métricas de Performance
  • Latência: 0.86s
  • Tempo total de execução
  • Status da chamada (Success)
  1. Informações de Custo e Consumo
  • Total de tokens: 26
  • Custo estimado: $0.00002
  • Tipo: LLM (indica o tipo de operação)
  1. Features de Debug
  • Run ID e Trace ID para rastreamento
  • Opções de Playground para testar variações
  • Possibilidade de adicionar feedback e metadata

Isso já ajuda DEMAIS, no controle do seu ambiente produtivo e quando trabalhamos com agentes, é possível ver as idas ao LLM de forma estruturada, para entender quais tools foram necessárias para cada etapa da jornada. Além disso, da para clicarmos no botão “Playground” para trabalharmos com variações do nosso prompt.

Na documentação oficial tem muita coisa legal e vários exemplos de funcionalidades que a ferramenta trás out of the box. Vale dar uma lida.

O langfuse que eu mencionei no começo do nosso artigo, tem um setup muito parecido e a ideia aqui não é entrarmos em tantos detalhes técnicos, mas sim, explorarmos as diferenças e quanto isso vai custar no fim do mês.

Comparativo: Langsmith vs Langfuse

Ou seja:

Langsmith é ideal quando:

  • Já usa LangChain
  • Quer setup mais rápido
  • Precisa de suporte enterprise
  • Não se importa com vendor lock-in

Langfuse é melhor quando:

  • Precisa de self-hosted
  • Quer mais customização
  • Trabalha com múltiplos providers
  • Preocupação com privacidade de dados

Analisando Custo-Benefício

Vamos ver a seguir custo benefício e um comparativo entre eles.

Projetos Pequenos/MVP:

  • Langsmith: Grátis até 1M/mês
  • Langfuse Self-hosted:
    • Setup inicial: ~1-2 dias de dev
    • Infraestrutura: ~$20-30/mês (servidor básico)
    • VANTAGEM LANGSMITH pela simplicidade e free tier generoso

Projetos Médios:

  • Langsmith: ~$50-100/mês
  • Langfuse Self-hosted:
    • Infraestrutura: ~$50-100/mês
    • Manutenção: algumas horas/mês do time
    • EMPATE, depende mais de preferências técnicas

Projetos Grandes:

  • Langsmith: $500+/mês
  • Langfuse Self-hosted:
    • Infraestrutura: ~$200-300/mês
    • Time dedicado: já existe para outros sistemas
    • VANTAGEM LANGFUSE pelo controle e economia

Fatores Além do Custo:

  1. Privacidade de Dados
    • Se precisar manter dados in-house, Langfuse já se paga
    • Alguns setores (saúde, financeiro) podem exigir self-hosted
  2. Customização
    • Necessidades específicas de métricas/integrações
    • Dashboards personalizados
  3. Time Técnico
    • Se já tem time DevOps, custo marginal do Langfuse é menor
    • Se time é pequeno, Langsmith reduz overhead operacional

Mas minha recomendação final é: comece com Langsmith, a migração não é tão complexa e você ganha tempo de implementação no projeto, mas independente da ferramenta ou estratégia, seja responsável com seus projetos. LLM em produção pode ser caro.

Danrley Morais
March 6, 2025