Observabilidade de apps LLM em produção com OpenTelemetry
Observabilidade de apps LLM em produção deixou de ser um luxo de time maduro. Em 2026, ela virou a diferença entre um agente confiável e um sistema impossível de depurar quando a resposta sai errada, lenta ou cara demais. A boa notícia é que o ecossistema finalmente convergiu para uma base mais estável: OpenTelemetry com convenções semânticas gen_ai.*.
Na prática, isso significa sair da visão estreita de “medir só a chamada ao modelo” e enxergar a jornada inteira: retrieval, construção do prompt, chamada ao modelo, uso de ferramentas, parsing, pós-processamento e exportação via OTLP. É esse fluxo completo que revela onde o produto perde latência, tokens, qualidade e dinheiro.
Ao longo do artigo, vou usar como base a especificação oficial do OpenTelemetry e os materiais de referência citados no briefing, especialmente a documentação das convenções GenAI e os guias práticos de vendors que já consolidaram o padrão em produção.
O que mudou na observabilidade de LLMs em 2026
O principal avanço foi a padronização. Hoje, OpenTelemetry define um namespace consistente para telemetria de sistemas GenAI/LLM, com atributos, spans, eventos e métricas alinhados em gen_ai.*. Isso reduz a fragmentação que existia quando cada SDK de vendor criava seu próprio formato de trace, suas próprias métricas e sua própria forma de registrar prompt e completion.
Essa evolução importa porque apps LLM raramente falham em um único ponto. O erro pode nascer no chunking do retrieval, no prompt inchado, na escolha da ferramenta, no parsing da resposta ou numa chamada externa lenta. Se você só mede a API do modelo, vê o sintoma, mas não enxerga a causa.
A base técnica que vale acompanhar é a especificação oficial de semantic conventions para GenAI do OpenTelemetry, além do registry de atributos Semantic conventions for generative AI systems e Gen AI attributes registry.
O ganho prático é grande: você padroniza observabilidade sem acoplar o sistema a um único backend. O mesmo trace pode sair para qualquer stack compatível com OTLP, o que facilita troca de fornecedor, auditoria interna e integração com times de plataforma.
Como instrumentar o fluxo inteiro, não só a chamada ao modelo
Uma arquitetura LLM moderna costuma ter pelo menos cinco etapas observáveis. Quando você transforma cada etapa em span e adiciona atributos úteis, consegue responder perguntas que são críticas em produção: quanto tempo o retrieval consome, qual etapa estoura tokens, onde a taxa de erro sobe e qual tool call costuma degradar a experiência.
O padrão que faz mais sentido é este:
- retrieval — busca vetorial, reranking, carregamento de contexto;
- prompt construction — montagem do prompt final, templates, inserção de contexto;
- model call — request, response, latency, tokens, status;
- tool use — chamadas a APIs externas, funções e ações do agente;
- post-processing — parsing, validação, guardrails e formatação final.
Quando essa jornada é medida ponta a ponta, fica muito mais fácil separar problema de modelo, problema de dados e problema de orquestração. Em vez de discutir “o modelo está ruim”, você vai provar que o gargalo é o retriever, o prompt ou uma integração externa lenta.
O OpenTelemetry ajuda porque conecta tudo no mesmo contexto. A correlação entre trace, métrica e log permite, por exemplo, ligar um pico de latência a uma rota específica, a um tipo de usuário ou a um determinado conjunto de documentos recuperados.
Exemplo de instrumentação em nível de fluxo
Se você ainda não tem uma implementação madura, a forma mais simples de pensar é separar spans por etapa e anexar atributos consistentes. O código abaixo é ilustrativo, mas mostra a estrutura que normalmente funciona bem em produção:
undefined
O ponto não é copiar esse esqueleto literalmente, e sim adotar a lógica: cada etapa relevante vira um ponto de observação. Quando isso está bem feito, o time de produto encontra rapidamente onde a experiência degrada e o time de plataforma reduz o tempo de diagnóstico.
Quais sinais valem ouro em produção
Em observabilidade de LLM, nem todo dado tem o mesmo peso. Em 2026, os sinais que mais ajudam em operação são latência, tokens, custo, taxa de erro e qualidade percebida. Latência continua sendo relevante, mas ela só conta a história completa quando aparece junto com consumo de tokens e com a etapa do pipeline que gerou aquele consumo.
As convenções do OpenTelemetry para GenAI dão base para isso porque organizam atributos específicos para requests, responses e serviços GenAI. Na prática, você quer perguntas respondíveis em minutos, não em uma investigação manual de logs espalhados.
- Latência por etapa: quanto tempo o retrieval, o prompt e o modelo consumiram separadamente.
- Tokens de entrada e saída: quanto o usuário pediu e quanto a resposta custou.
- Taxa de erro por tool call: quais integrações externas quebram mais.
- Correlação com custo: quais rotas consomem mais orçamento em nuvem e em APIs de modelo.
- Qualidade operacional: quedas em parsing, formatação, retries e timeouts.
Os guias práticos mais recentes também reforçam um detalhe importante: não basta exportar dados, é preciso correlacioná-los. Um trace sem custo não ajuda tanto quanto um trace que já traz tokens, duração e contexto do fluxo. Isso é o que transforma observabilidade em decisão.
Para equipes que lidam com múltiplos modelos, esse ponto é ainda mais relevante. Você consegue comparar provedores e versões sem reinventar dashboard a cada troca de endpoint.
Como evitar armadilhas comuns em apps agentic
Apps com agentes e tool use introduzem riscos adicionais. O maior erro é tratar o agente como uma única chamada ao modelo. Na verdade, o comportamento emerge de várias decisões encadeadas, e cada decisão merece um rastro observável.
As armadilhas mais comuns são previsíveis. A primeira é não versionar prompts e ferramentas, o que torna qualquer regressão difícil de reproduzir. A segunda é registrar só métricas agregadas, sem contexto do fluxo. A terceira é depender demais de SDKs proprietários, o que trava sua telemetria em um ecossistema fechado.
Boas práticas que estão se consolidando em 2026:
- rastrear o pipeline inteiro, do retrieval ao pós-processamento;
- exportar em OTLP para manter portabilidade;
- correlacionar trace, métrica e log no mesmo identificador;
- medir tool calls separadamente, com latência e falha por integração;
- controlar a migração de semconv com
OTEL_SEMCONV_STABILITY_OPT_INpara evitar quebras.
Esse último ponto é especialmente importante em ambientes com legado. Se você já tem instrumentação anterior, a migração sem planejamento pode quebrar dashboards e alertas. O mecanismo de estabilidade existe justamente para permitir adoção gradual sem perder compatibilidade.
Na prática, o melhor desenho é começar por spans bem nomeados, depois enriquecer atributos, depois adicionar métricas e, por fim, acoplar alertas. Ordem errada costuma gerar muito ruído e pouco sinal.
Por que isso importa pro dev brasileiro
No Brasil, o argumento para observabilidade forte costuma ser menos abstrato e mais operacional. Times locais operam com orçamento em BRL, muitas vezes revisado em dólar, e isso torna custo de tokens e latência de API um problema de produto, não só de engenharia. Um fluxo LLM mal instrumentado pode estourar orçamento antes mesmo de virar incidente visível.
Tem também o contexto regulatório. Se sua aplicação processa dados pessoais, a LGPD exige cuidado na coleta, retenção e tratamento dessas informações. Isso muda como você instrumenta logs e traces: não faz sentido despejar prompt cru com dados sensíveis em qualquer backend sem política clara de mascaramento e retenção.
Outro ponto bem brasileiro é a operação distribuída. Muitos times rodam backend em uma região de nuvem fora do país por custo ou disponibilidade, o que aumenta a sensibilidade à latência e ao comportamento de integrações externas. Em apps LLM, alguns centenas de milissegundos adicionais já impactam chat, copilots internos e fluxos de atendimento.
Por isso, o desenho certo para o dev brasileiro não é só “ter observabilidade”. É conseguir observar sem vazar dados, sem multiplicar custo e sem criar dependência de um único SaaS estrangeiro. OpenTelemetry é interessante justamente porque facilita essa autonomia.
Um caminho prático para começar sem refatorar tudo
Se o seu sistema já está em produção, a adoção pode ser incremental. Você não precisa redesenhar toda a arquitetura antes de capturar valor. O melhor começo costuma ser o caminho com mais dor: a chamada principal ao modelo e a etapa que mais consome tempo ou tokens.
Uma sequência pragmática é esta:
- instrumente uma única rota crítica com spans por etapa;
- adicione atributos de tokens, latência e status;
- exporte em OTLP para o backend que você já usa;
- crie dashboard para tempo total, tempo por etapa e custo estimado;
- depois expanda para tool calls, retrieval e parsing.
Se houver equipe de plataforma, vale estabelecer uma convenção interna desde cedo. Nome de span, campos obrigatórios, política de mascaramento e cardinalidade de labels são detalhes que evitam retrabalho depois. Em observabilidade, o costureiro do futuro é o padrão de hoje.
As fontes do briefing apontam a mesma direção: padronizar a telemetria GenAI com OpenTelemetry e abandonar soluções isoladas sempre que possível. Essa escolha reduz lock-in e facilita o amadurecimento do stack ao longo do tempo.
Conclusão
Observabilidade de apps LLM em produção não é mais um assunto só de infraestrutura. Em 2026, ela se tornou parte da própria engenharia de produto, porque qualidade, custo e confiabilidade dependem da capacidade de enxergar o fluxo completo. OpenTelemetry dá a base padronizada que faltava, e as convenções gen_ai.* ajudam a transformar sinais soltos em diagnóstico acionável.
Se você trabalha com LLMs, agentes ou RAG, o melhor próximo passo é pequeno e concreto: escolha uma rota crítica do seu sistema, instrumente cada etapa com spans e atributos básicos, e compare o tempo total antes e depois no seu backend OTLP. Em menos de uma hora, você já descobre onde está o primeiro gargalo real.
Conteúdos da DIO para quem quer aprofundar
Não foi possível localizar trilhas DIO relacionadas com segurança suficiente nesta rodada.



