Observabilidade para LLMs em produção: o que rastrear além de custo e latência

Monitorar custo e latência resolve metade do problema. A outra metade é conseguir responder ‘por que o modelo fez isso’ quando algo quebra em produção.

Observabilidade para LLMs em produção: o que rastrear além de custo e latência
Neste artigo
  1. O que observabilidade significa em sistemas de IA e por que log comum não resolve
  2. Quando observabilidade de LLM se torna urgente
  3. As três camadas que precisam ser rastreadas
  4. Traces versus logs: a diferença que muda o diagnóstico
  5. Como avaliar qualidade sem revisar cada resposta manualmente
  6. O impacto de operar um LLM sem observabilidade
  7. Dúvidas comuns sobre observabilidade de LLMs
  8. Conclusão e próximo passo

Você coloca um LLM em produção, configura alerta de latência, adiciona um dashboard de custo por request e vai dormir tranquilo. Dois dias depois, alguém do time de produto manda uma mensagem: o modelo está respondendo coisas estranhas desde ontem. Você abre os logs. Tem latência normal, custo dentro do esperado, taxa de erro zerada. E nenhuma pista do que aconteceu.

Esse cenário é mais comum do que parece. Não porque o time foi descuidado, mas porque existe uma confusão frequente entre monitorar e ter observabilidade. São coisas diferentes, e a diferença importa bastante quando o problema não aparece em nenhuma métrica de sistema.

Na minha experiência colocando LLMs em produção numa fintech, a maioria dos incidentes que me tiraram o sono não aparecia em nenhum dashboard de infra. O modelo estava respondendo, rápido, barato. Só que errado, de um jeito que nenhuma métrica de sistema capturava. O que faltava era observabilidade de verdade: a capacidade de reconstruir o que aconteceu em determinada chamada, entender por que o modelo tomou aquela direção e identificar se o problema era pontual ou sistemático.

Este artigo é sobre observabilidade para LLMs: o que precisa ser rastreado, como pensar cada camada e qual métrica decide se seu sistema está realmente funcionando, não só respondendo.

O que observabilidade significa em sistemas de IA e por que log comum não resolve

Observabilidade, no sentido clássico de engenharia, é a capacidade de entender o estado interno de um sistema a partir das saídas que ele produz. Em termos práticos: dado um comportamento inesperado, você consegue rastrear o que aconteceu, onde e por quê, sem precisar reproduzir o problema do zero.

Sistemas de LLM têm uma camada a mais de complexidade. O mesmo input pode gerar outputs diferentes dependendo de temperatura, contexto acumulado, ordem das mensagens e estado interno do modelo. Isso significa que o log padrão de recebeu request, devolveu response, status 200 não te diz nada sobre o que o modelo decidiu fazer dentro dessa chamada.

Spoiler: o que quebra em produção quase nunca é a infraestrutura. É o comportamento do modelo em contextos específicos que você não testou antes do deploy. E para debugar isso, você precisa de acesso ao que o modelo recebeu de fato, o que devolveu, qual ferramenta chamou, qual parte do contexto estava presente naquele momento.

Quando observabilidade de LLM se torna urgente

Quando o sistema usa agentes ou encadeamento de chamadas

Uma única chamada de LLM é razoavelmente auditável. Um agente que faz três chamadas, chama duas ferramentas e decide com base no resultado de uma pesquisa interna não é. Sem rastrear cada etapa dessa cadeia, você não tem como identificar em qual ponto o agente tomou a decisão errada.

Quando usuários diferentes recebem respostas inconsistentes

Se dois usuários mandam inputs parecidos e recebem respostas com qualidade muito diferente, o problema pode estar no contexto que cada um acumulou, no histórico da conversa, numa ferramenta que falhou silenciosamente ou numa instrução de sistema que varia por tenant. Você só consegue diferenciar esses cenários se tiver o trace completo de cada sessão.

Quando as métricas de negócio pioram sem razão óbvia

Taxa de conversão caiu. Tempo médio de resolução aumentou. NPS em queda. Se o produto usa IA e as métricas de sistema estão normais, o problema provavelmente está no comportamento do modelo. Sem observabilidade, você vai passar semanas tentando hipóteses no escuro.

As três camadas que precisam ser rastreadas

Na prática, observabilidade de LLM em produção cobre três camadas distintas, e ignorar qualquer uma delas cria pontos cegos.

Camada de execução: o que o modelo recebeu e devolveu

Isso inclui o prompt completo que chegou ao modelo, não só o input do usuário, mas o contexto montado, as instruções de sistema e o histórico, a resposta bruta antes de qualquer pós-processamento e os parâmetros da chamada. Sem isso, você não consegue reproduzir o comportamento problemático nem entender se o problema estava na entrada ou na saída.

Camada de ferramentas: o que o agente chamou e o que recebeu de volta

Quando o modelo chama ferramentas externas como busca, banco de dados ou API interna, cada chamada precisa ser registrada com input, output e latência. Um agente que toma uma decisão ruim frequentemente o faz porque recebeu um resultado de ferramenta corrompido, vazio ou fora do formato esperado. Esse rastreamento é o que diferencia o modelo errou de a ferramenta falhou.

Camada de qualidade: a resposta foi boa?

Essa é a camada que a maioria dos times deixa para depois e nunca implementa. Não basta saber que o modelo respondeu. Precisa saber se a resposta estava correta, completa, no formato esperado e adequada ao contexto. Isso pode ser feito com revisão humana amostrada, com avaliação automática por outro modelo ou com métricas de proxy específicas para o caso de uso. A ausência de qualquer avaliação nessa camada é a maior lacuna que vejo em sistemas de IA em produção.

Traces versus logs: a diferença que muda o diagnóstico

Log é uma sequência de eventos. Trace é a representação de um fluxo de execução completo, com relações causais entre as partes.

Para um único request de LLM, log resolve. Para um agente que faz cinco chamadas em paralelo, processa resultados, toma uma decisão e chama mais duas ferramentas, você precisa de trace. Sem ele, você tem os eventos, mas não tem como reconstituir a sequência de decisões que levou ao resultado final.

A distinção prática é essa: com log você consegue ver o que aconteceu. Com trace você consegue entender por que, na ordem certa, com as dependências corretas. Na minha experiência, a maioria dos bugs de agente em produção só fica clara com trace. Com log isolado, você passa horas olhando para eventos desconexos tentando construir a narrativa manualmente.

Como avaliar qualidade sem revisar cada resposta manualmente

Uma das objeções que ouço com mais frequência é que revisar qualidade em escala é inviável. E é verdade que revisar manualmente cada resposta de um sistema que processa milhares de chamadas por dia não faz sentido.

O que funciona na prática é uma combinação de três abordagens:

  • Amostragem com critério: revisar manualmente uma porcentagem pequena, mas com foco em amostras que ativam condições específicas. Respostas longas demais, respostas muito curtas, sessões com reformulação do usuário e sessões que terminaram sem ação do usuário são os candidatos mais úteis.
  • Avaliação automática por modelo: usar um modelo separado como avaliador com critérios definidos em rubrica. Não é perfeito, mas é escalável e captura padrões sistemáticos que revisão humana esporádica não captura.
  • Métricas de proxy: indicadores de comportamento do usuário que correlacionam com qualidade, como taxa de reformulação, taxa de abandono da sessão ou tempo até ação. Detalhe importante: você precisa validar se a correlação existe antes de confiar na métrica como proxy de qualidade.

Nenhuma dessas abordagens funciona sozinha. A combinação das três cobre ângulos diferentes e reduz os pontos cegos.

O impacto de operar um LLM sem observabilidade

Operação sem observabilidade não é um risco abstrato. É uma lista de consequências concretas que aparecem com o tempo.

Você perde a capacidade de debugar incidentes. Quando algo quebra, o processo de investigação começa do zero porque não tem evidência preservada. Cada bug vira uma investigação de reconstituição sem garantia de conclusão.

Você não consegue melhorar o sistema de forma confiável. Sem dados de qualidade sobre o comportamento atual, qualquer mudança no prompt ou no fluxo é um experimento às cegas. Você não sabe se melhorou, piorou ou apenas deslocou o problema para outro contexto.

E o mais silencioso: você deixa de detectar degradação gradual. Modelos em produção degradam com o tempo por drift de dados, mudança de comportamento do usuário ou atualização do modelo pela API. Sem séries históricas de qualidade, você só percebe o problema quando já está crítico e o estrago já aconteceu.

Dúvidas comuns sobre observabilidade de LLMs

Guardar prompts completos não cria problemas de privacidade?

Pode criar, dependendo do que está no contexto. Se o sistema processa dados sensíveis, você precisa de uma estratégia de anonimização ou pseudonimização antes de armazenar o trace. O que não faz sentido é abrir mão de observabilidade por causa desse risco sem ter avaliado a necessidade real. A maioria dos casos tem solução técnica viável para coexistir observabilidade e privacidade sem sacrificar uma pela outra.

Existe alguma ferramenta padrão para isso?

Existem plataformas de observabilidade específicas para LLMs que estão amadurecendo rápido. LangSmith, Langfuse e Helicone são as mais citadas. Nenhuma delas é perfeita para todos os casos. O mais importante antes de adotar qualquer ferramenta é ter clareza sobre quais perguntas você precisa responder. Isso vai determinar o que precisa ser capturado e em que granularidade, muito antes de qualquer decisão de stack.

Para sistemas simples de uma chamada também é necessário?

Para um sistema que faz uma única chamada de LLM, sem contexto acumulado e sem ferramentas, você consegue trabalhar bem só com log de prompt e response. A complexidade de observabilidade cresce proporcionalmente com a complexidade do fluxo. O ponto de atenção é quando o sistema cresce: ter a estrutura de captura em lugar antes de precisar urgentemente é muito mais barato do que implementar durante um incidente.

Quando começo a me preocupar com isso?

Antes do deploy, não depois. Definir o que vai ser capturado faz parte do design do sistema, não de um sprint de observabilidade que nunca chega a ser priorizado. Na prática, o que funciona é começar simples: captura de prompt, response e identificador de sessão. Depois você expande conforme os pontos cegos ficam visíveis.

Conclusão e próximo passo

Observabilidade para LLMs em produção não é sobre ter mais dashboards. É sobre conseguir responder perguntas específicas sobre o comportamento do sistema quando as coisas não saem como esperado. Custo e latência te dizem se o sistema está respondendo. Traces, qualidade amostrada e métricas de proxy te dizem se ele está funcionando de verdade.

Se você já tem monitoramento de custo e latência, o próximo movimento é adicionar captura de prompts e responses com algum identificador de sessão. Antes de adotar qualquer plataforma nova, mapeie quais perguntas você ainda não consegue responder sobre o seu sistema. Esse mapeamento vai guiar a escolha de ferramentas melhor do que qualquer comparativo genérico.

  • Defina quais perguntas você precisa conseguir responder sobre cada chamada de LLM em produção.
  • Comece capturando prompt completo, response e identificador de sessão antes de qualquer outra coisa.
  • Adicione avaliação amostrada com pelo menos uma das três abordagens descritas acima.

Para aprofundar, leia o artigo sobre monitoramento de custo e latência de LLMs se ainda não tem a base de infra coberta, e o artigo sobre avaliação de respostas de LLM em produção para aprofundar na camada de qualidade com mais detalhe.

WA in X
Cláudio Campos

Escrito por

Cláudio Campos

Cláudio Campos é engenheiro de software com foco em automação e IA aplicada, baseado em Florianópolis (SC). Escreve na SyntaxLab sobre agentes de IA, Docker, automação com n8n e engenharia de software que precisa funcionar em produção — não só em demo. Aprendeu na prática, com pipelines que quebraram no deploy e agentes que alucinaram ao vivo; por isso não romantiza a tecnologia e descreve as limitações reais antes de chegar nelas.