Checklist de Implementação de Observabilidade de IA: 20 Etapas para Produção
Uma checklist de implementação de observabilidade de IA deve responder a uma pergunta mais difícil do que “a API está disponível?” Um recurso de IA em produção pode retornar HTTP 200 enquanto fornece a resposta errada, usa contexto de recuperação desatualizado, chama a ferramenta errada, tenta novamente por meio de um fallback caro, vaza dados sensíveis do prompt para os logs ou demora demais para ser útil.
O objetivo prático é conectar cada resultado visível para o usuário às tentativas do modelo, às etapas de recuperação, às chamadas de ferramentas, às decisões de política, à latência, ao uso de tokens e ao custo que o produziram. Isso requer telemetria de aplicação convencional, além de contexto e sinais de avaliação específicos de IA.
Este guia fornece um plano de implementação em fases para aplicações LLM, agentes, sistemas de geração aumentada por recuperação e gateways multimodelo. Ele é independente de fornecedor e usa conceitos de OpenTelemetry sempre que possível. Também inclui um mapa de sinal para decisão, matriz de testes de aceitação, plano de implantação de sete dias, contrato de telemetria, padrão de instrumentação, runbook de alertas e scorecard de fornecedores para que uma equipe possa passar dos requisitos a um lançamento operacional.
Observabilidade de IA em uma frase
Observabilidade de IA é a capacidade de explicar o comportamento, a qualidade, a confiabilidade, a segurança e o custo de um fluxo de trabalho de IA a partir de um conjunto correlacionado de traces, métricas, logs, avaliações e resultados do usuário.
Monitoramento informa que um limite mudou. A observabilidade ajuda você a determinar por que ele mudou e quais solicitações, modelos, prompts, resultados de recuperação, ferramentas, tenants ou versões estiveram envolvidos.
Use a checklist de implementação de observabilidade de IA neste guia como uma porta de liberação, e não como um exercício pontual de documentação. Refaça-a sempre que mudar um modelo, prompt, índice de recuperação, esquema de ferramenta, política de roteamento ou avaliador.
Para uma aplicação de IA, uma solicitação pode conter várias tentativas distintas:
ação do usuário
└─ fluxo de trabalho da aplicação
├─ consulta de recuperação
├─ tentativa 1 do modelo
├─ chamada de ferramenta
├─ tentativa 2 do modelo
└─ validação e resultado visível ao usuário
Se essas etapas não puderem ser unidas sob um único trace ou identidade de solicitação, a depuração se torna chute.
O Modelo de Dados Mínimo de Observabilidade de IA
O modelo de dados é a base da checklist de implementação de observabilidade de IA porque cada dashboard, alerta, avaliação e consulta de incidente depende de campos de correlação consistentes.
Comece com um trace no nível do fluxo de trabalho e spans filhos para cada operação material. O OpenTelemetry define traces, métricas, logs e baggage como sinais principais. Suas convenções semânticas para IA generativa fornecem um vocabulário em evolução para operações de modelo e agente e, em 4 de agosto de 2026, são mantidas no repositório dedicado de convenções semânticas do OpenTelemetry. Como essas convenções podem evoluir, fixe a versão que você implementar e mantenha uma pequena camada interna de compatibilidade em vez de espalhar nomes de campos específicos de fornecedor por todo o código.
No mínimo, capture estes grupos de campos.
| Grupo de campos | O que registrar | Por que isso importa |
|---|---|---|
| Correlação | trace_id, request_id, ID da sessão, workflow, ambiente, release |
Conecta o caminho completo da solicitação |
| Rota | provedor, modelo solicitado, modelo resolvido, região, endpoint ou alias de rota | Explica onde a solicitação realmente foi executada |
| Tentativa | número da tentativa, motivo da nova tentativa, origem e destino do fallback | Separa uma solicitação do usuário de várias chamadas cobradas |
| Desempenho | tempo na fila, tempo até o primeiro token, latência total, latência de ferramentas e de recuperação | Localiza a etapa lenta |
| Uso | entrada, entrada em cache, saída, raciocínio ou campos de uso específicos do provedor | Explica capacidade e custo |
| Resultado | status, classe de erro normalizada, motivo de término, resultado da validação | Distingue sucesso de transporte de sucesso da tarefa |
| Qualidade | versão do avaliador, pontuação, aprovado/reprovado, feedback do usuário, resultado aceito | Rastreia se a resposta foi útil |
| Governança | tenant, decisão de política, status de redacção, classe de retenção | Suporta controles de privacidade e auditoria |
Evite tratar o prompt e a resposta brutos como campos obrigatórios. Em muitos sistemas, eles devem ser desativados por padrão ou armazenados apenas em um conjunto de dados de avaliação controlado separadamente.
Mapeie Cada Sinal para uma Decisão Operacional
Mais telemetria não é automaticamente melhor. Antes de adicionar um atributo, métrica ou painel, nomeie a decisão que ele suporta e a pessoa que é dona dessa decisão.
| Sinal | Pergunta que ele responde | Decisão típica | Responsável principal |
|---|---|---|---|
| Taxa de conclusão aceita | O workflow resolveu a tarefa do cliente? | Reverter, alterar prompt/modelo ou investigar falhas downstream | Produto e engenharia de IA |
| Latência ponta a ponta p95 | A experiência completa é rápida o suficiente? | Alterar rota, reduzir latência de recuperação/ferramenta ou ajustar streaming | Engenharia de plataforma |
| Tempo até o primeiro token | O streaming parece responsivo? | Ajustar enfileiramento, rota do provedor ou tamanho do prompt | Engenharia de plataforma |
| Taxa de fallback | A rota primária está saudável e é econômica? | Investigar a saúde do provedor, capacidade ou política de rota | Engenharia de confiabilidade |
| Custo por resultado aceito | As novas tentativas e os resultados de baixa qualidade estão anulando as economias? | Alterar mix de modelos, cache, tamanho do prompt ou validação | Engenharia e FinOps |
| Taxa de aprovação de grounding da recuperação | A resposta usou contexto autorizado e relevante? | Reconstruir índice, filtros, reranker ou validação de citações | Responsável por Search/RAG |
| Falhas de reconciliação de ferramentas | Um efeito colateral externo foi concluído com segurança? | Pausar a ferramenta, reconciliar o estado ou corrigir a idempotência | Responsável pela aplicação |
| Contagem de falhas de redacção | Dados sensíveis estão chegando ao exportador? | Parar a exportação, colocar a telemetria em quarentena ou atualizar a política | Segurança/privacidade |
Esta tabela evita o modo de falha comum em que um painel contém dezenas de gráficos, mas ninguém sabe que ação uma alteração deve acionar.
Uma Forma Prática de Trace
Use um único trace para o fluxo de trabalho visível ao usuário, e não um trace separado e sem relação para cada chamada ao provedor. A raiz deve descrever a tarefa do cliente, enquanto os spans filhos descrevem as operações que contribuíram para o resultado.
workflow: answer_support_question
attributes: tenant_class, release, accepted_outcome, final_status
├─ retrieval.search
│ attributes: index_version, top_k, authorization_result
├─ gen_ai.attempt
│ attributes: provider, requested_model, resolved_model, attempt=1
├─ tool.lookup_order
│ attributes: tool_schema_version, idempotency_key, result
├─ gen_ai.attempt
│ attributes: provider, resolved_model, attempt=2, fallback_reason
└─ evaluation.validate_answer
attributes: evaluator_version, pass, score_band
As convenções semânticas de IA generativa do OpenTelemetry ainda estão evoluindo. Trate-as como um vocabulário compartilhado, mas fixe a versão da convenção, registre quaisquer extensões locais e teste as atualizações em staging. Mantenha resultados de negócio como accepted_outcome no seu próprio namespace estável de aplicação, para que uma mudança na convenção semântica não quebre os relatórios do produto.
Fase 1: Defina Resultados Antes de Adicionar Dashboards
1. Nomeie o fluxo de trabalho e o resultado aceito
Não comece com gráficos de tokens em toda a plataforma do provedor. Comece com uma tarefa do cliente, como:
- resposta de suporte aceita sem escalonamento;
- correção de código passa nos testes;
- extração corresponde ao esquema exigido;
- agente conclui a ação solicitada sem recuperação manual;
- mídia gerada passa na etapa de revisão do produto.
Crie um nome workflow legível por máquina e um accepted_outcome ou resultado equivalente. Isso se torna o denominador para métricas de qualidade, custo e confiabilidade.
2. Defina a taxonomia de falhas
Separe pelo menos estas classes:
- falha de transporte: timeout, erro de conexão ou 5xx do upstream;
- falha de capacidade: limite de taxa, cota, saturação da fila ou limite de contexto;
- falha de contrato: JSON inválido, campo ausente, esquema de ferramenta não suportado ou stream quebrado;
- falha de qualidade: a resposta é irrelevante, incorreta, incompleta ou não fundamentada;
- falha de segurança: violação de política, sucesso de prompt injection ou execução insegura de ferramenta;
- falha de negócio: saída tecnicamente válida que o usuário rejeita ou abandona.
Uma única dimensão error=true não é suficiente. Ela oculta se você precisa de trabalho de infraestrutura, uma mudança de prompt, uma mudança de modelo ou uma mudança de produto.
3. Escolha os indicadores de nível de serviço iniciais
Comece com um pequeno conjunto que reflita a experiência do usuário:
disponibilidade do workflow = conclusões aceitas do workflow / inícios elegíveis do workflow
taxa de aprovação de qualidade = conclusões aprovadas pelo avaliador / conclusões avaliadas
latência p95 de ponta a ponta = p95(workflow concluído - workflow iniciado)
custo por resultado aceito = custo total do workflow / resultados aceitos
Mantenha a disponibilidade do provedor como uma métrica diagnóstica, não como o SLI do produto. Um provedor pode estar saudável enquanto seu fluxo de trabalho falha porque a recuperação, as ferramentas, a validação ou o roteamento estão quebrados.
Fase 2: Instrumente o Caminho Completo da Requisição
4. Crie um span raiz por fluxo de trabalho visível ao usuário
Gere o trace raiz na borda da aplicação, antes que a recuperação ou o roteamento do modelo comecem. Propague esse contexto por filas, workers, gateways, serviços de ferramentas e callbacks.
Use spans filhos para:
- recuperação e reranqueamento;
- cada tentativa de modelo;
- cada chamada de ferramenta;
- verificações de guardrail ou política;
- análise e validação da saída;
- seleção de fallback;
- persistência e entrega downstream.
5. Registre a rota solicitada e a resolvida
O modelo nomeado pelo cliente nem sempre é o modelo que atendeu a requisição. Registre ambos:
{
"ai.requested_model": "support-balanced",
"ai.resolved_provider": "provider-b",
"ai.resolved_model": "model-version-2026-07",
"ai.route_reason": "primary_rate_limited",
"ai.attempt": 2
}
Isso é essencial para sistemas com múltiplos provedores. Também torna uma estratégia de fallback de modelo auditável em vez de invisível.
6. Meça o streaming separadamente
A latência total, sozinha, não descreve uma experiência de streaming. Capture:
- duração da fila;
- latência da conexão e do provedor;
- tempo até o primeiro token ou o primeiro evento útil;
- duração da geração;
- tempo de conclusão de ponta a ponta;
- tempo de cancelamento do cliente.
Uma requisição pode ter latência total aceitável, mas ruim tempo até o primeiro token. Ela também pode produzir o primeiro token rapidamente e depois travar.
7. Torne retries e fallbacks tentativas de primeira classe
Nunca sobrescreva a primeira tentativa com falha com o sucesso final. Um span de fluxo de trabalho deve conter ou vincular cada tentativa faturável, incluindo:
- número da tentativa;
- gatilho;
- duração do backoff;
- provedor e modelo;
- tokens e custo;
- status da saída parcial;
- disposição final.
Isso evita que uma tempestade de retries pareça “100% de sucesso”.
Fase 3: Adicione Contexto de Qualidade Específico de IA
8. Versione prompts, ferramentas, políticas e avaliadores
Armazene identificadores estáveis em vez de apenas conteúdo bruto:
prompt_version
tool_schema_version
retrieval_index_version
policy_version
evaluator_version
route_policy_version
Essas dimensões permitem comparar uma versão antes e depois de uma mudança. Sem versionamento, uma queda de qualidade se torna difícil de atribuir.
9. Rastreie a qualidade da recuperação
Para geração aumentada por recuperação, registre:
- versão da consulta e filtros;
- latência da recuperação;
- IDs do documento ou do chunk;
- atualidade da fonte;
- top-k e versão do reranker;
- taxa de resultado vazio;
- decisão de controle de acesso;
- resultado da validação de citação ou grounding.
Não coloque documentos privados completos em armazenamento de trace de uso geral. Armazene referências controladas ou hashes, a menos que a política de depuração permita explicitamente a captura de conteúdo.
10. Rastreie chamadas de ferramentas e efeitos colaterais
Cada span da ferramenta deve incluir o nome da ferramenta, a versão do esquema, a decisão de autorização, a latência, o resultado normalizado e se produziu um efeito colateral externo.
Para ferramentas que geram efeitos colaterais, registre também uma chave de idempotência e o estado de reconciliação. Isso é importante quando uma chamada ao modelo expira depois que a ferramenta já foi concluída.
11. Combine avaliações online e offline
Sinais online são rápidos, mas ruidosos: curtida, abandono, regeneração, correção, escalonamento ou conclusão da tarefa. Avaliações offline são mais lentas, mas controladas: conjuntos de teste curados, avaliadores com rubricas, testes executáveis e revisão humana.
Conecte ambos aos mesmos identificadores de workflow e de versão. Não misture pontuações de diferentes versões de avaliador em uma única linha de tendência sem rotular a mudança.
Fase 4: Controle Privacidade, Segurança e Retenção
12. Classifique a telemetria antes da coleta
Defina três níveis:
- Metadados: rota, tempo, tokens, status, versões e IDs.
- Sinais de conteúdo derivado: comprimento, idioma, categoria de segurança, pontuação do avaliador ou hash.
- Conteúdo bruto: prompts, respostas, texto recuperado, argumentos da ferramenta e resultados da ferramenta.
Colete metadados amplamente. Colete conteúdo bruto apenas quando o caso de uso, a notificação ao usuário, o controle de acesso e a política de retenção oferecerem suporte.
13. Faça a redação no limite da coleta
A redação deve acontecer antes da exportação sempre que possível. Cubra:
- chaves de API, tokens bearer, cookies e cabeçalhos de autorização;
- endereços de e-mail, números de telefone, números de conta e identificadores governamentais;
- segredos dentro de argumentos de ferramentas ou documentos recuperados;
- URLs assinadas e strings de conexão de banco de dados;
- conteúdo específico de tenant proibido em armazenamentos compartilhados de observabilidade.
Use listas de अनुमति (allowlists) para atributos exportados. Uma denylist acabará deixando passar um novo campo que contenha segredos. Aplique a mesma disciplina descrita neste guia de gerenciamento de chaves de API de IA.
14. Defina retenção e acesso por classe de dados
Conteúdo bruto não deve herdar a mesma retenção de métricas de baixo risco. Defina armazenamento, criptografia, funções de acesso, logs de auditoria e processos de exclusão separados. Teste a exclusão em vez de presumir que um documento de política é suficiente.
O NIST AI Risk Management Framework e seu Generative AI Profile enfatizam medição contínua, documentação e gerenciamento de risco ao longo do ciclo de vida do sistema. A observabilidade ajuda a fornecer evidências, mas o registro indiscriminado pode criar um novo risco de privacidade e segurança.
15. Controle dimensões de alta cardinalidade
Não transforme IDs de usuário, IDs de trace, texto de prompt, IDs de documento ou mensagens de erro brutas em rótulos de métricas. Mantenha dados de alta cardinalidade em traces ou logs e, então, derive métricas limitadas como workflow, família de modelo, classe de erro, ambiente e região.
Fase 5: Crie Alertas que Apontem para Ação
16. Alerta para sintomas que impactam o usuário
Acione alertas para sintomas como:
- taxa de conclusão aceita abaixo do objetivo;
- taxa de aprovação de qualidade caindo além da linha de proteção da release;
- latência p95 ou tempo até o primeiro token consumindo o orçamento de erro;
- custo por resultado aceito excedendo seu limite;
- falha de efeito colateral inseguro ou de política;
- taxa de fallback subindo acima de sua faixa normal.
Use erros do provedor, picos de tokens e falhas de recuperação como alertas de diagnóstico ou sinais no dashboard, a menos que ameacem diretamente o objetivo visível ao usuário.
17. Use janelas de burn-rate para alertas de SLO
Um limite estático pode gerar ruído. O alerta de burn-rate de budget de erro pergunta com que rapidez o serviço está consumindo o budget de falha permitido. A orientação SRE do Google recomenda combinar uma janela mais rápida com uma janela de confirmação mais lenta para que incidentes graves acionem paging rapidamente sem tornar cada pico breve acionável.
18. Adicione anotações de release e rota
Todo dashboard deve mostrar releases de prompt, aplicação, roteamento, modelo e avaliador. Adicione anotações de implantação e compare coortes canary versus controle. Caso contrário, a equipe verá uma linha se mover sem ver o que mudou.
Fase 6: Validar Antes da Implantação Completa
19. Execute simulações de falha
Teste pelo menos:
- timeout upstream;
- limite de taxa e esgotamento de quota;
- saída estruturada malformada;
- interrupção parcial do streaming;
- a recuperação não retorna nenhum contexto autorizado;
- a ferramenta tem sucesso, mas a resposta é perdida;
- fallback altera o comportamento do modelo;
- o exportador de telemetria não está disponível;
- a regra de redaction recebe um campo desconhecido.
Confirme que o fluxo de trabalho falha com segurança, o trace permanece coerente e o alerta identifica o responsável correto.
20. Faça a implantação em quatro etapas
- Shadow: emita telemetria sem alterar o roteamento ou o comportamento do usuário.
- Canary: habilite para uma pequena fatia do tráfego e compare overhead, cardinalidade e qualidade dos dados.
- Produção com guardrails: anexe limites de release e regras de rollback.
- Produção completa: expanda após a aprovação das verificações de privacidade, confiabilidade e custo.
O OpenTelemetry suporta padrões de amostragem head e tail. Preserve todos os erros e classes raras de falha sempre que possível e, em seguida, amostre o tráfego rotineiro de sucesso para controlar o custo. As regras de amostragem não devem remover os traces exatos necessários para explicar um incidente.
Matriz de Teste de Aceitação em Produção
Os testes de aceitação comprovam que a checklist de implementação de observabilidade de IA funciona em cenários de falha, privacidade e perda de telemetria, e não apenas em requisições bem-sucedidas.
Não declare a observabilidade concluída porque spans aparecem em um visualizador de traces. Execute testes controlados e salve evidências para cada gate de release.
| Teste | Condição injetada | Evidência de telemetria exigida | Condição de aprovação |
|---|---|---|---|
| Timeout upstream | Forçar a rota principal do modelo a exceder seu prazo | Span da primeira tentativa, classe de timeout, decisão de retry ou fallback, resultado final | Não há spans órfãos; a disposição final e o custo total ficam visíveis |
| Limite de taxa | Retornar um 429 do provedor ou esgotar uma cota de teste | Código bruto do provedor, classe de capacidade normalizada, duração do backoff, mudança de rota | O orçamento de retries é limitado e o alerta aponta para o responsável pela rota |
| Saída estruturada inválida | Retornar JSON malformado ou um campo obrigatório ausente | Span de validação de contrato, versão do validador, tentativa de correção, aprovação/falha final | O sucesso HTTP não é contado como sucesso aceito |
| Stream quebrado | Interromper a saída após o primeiro token | Tempo até o primeiro token, flag de saída parcial, uso faturável, decisão de retry | Conteúdo duplicado e execução dupla de ferramentas são evitados |
| Recuperação vazia | Retornar nenhum documento autorizado | Filtros de recuperação, resultado de autorização, motivo do resultado vazio, política de resposta | O sistema segue o comportamento aprovado sem contexto |
| Ambiguidade da ferramenta | Deixar uma ferramenta concluir enquanto a solicitação do modelo expira | Chave de idempotência, estado do efeito colateral, resultado da reconciliação | A ferramenta não é executada duas vezes e o estado é recuperável |
| Canário de redação | Inserir um segredo sintético em um campo de teste | Evento de detecção local sem valor de segredo exportado | A exportação é bloqueada ou redigida antes de sair da fronteira |
| Falha do exporter | Parar o destino de telemetria | Métricas de fila/perda do exporter e saúde da aplicação | O tráfego de usuários permanece dentro do seu orçamento de confiabilidade |
| Verificação de amostragem | Gerar erros raros em meio a tráfego de alto sucesso | Traces de erro retidos; sucessos rotineiros amostrados conforme configurado | Exemplos de incidentes permanecem pesquisáveis após a amostragem |
| Regressão de release | Implantar um canário com latência conhecida ou degradação de qualidade | Annotação de release, coorte canário, coorte de controle, comparação de SLI | O limite de rollback dispara com um responsável pela mudança identificável |
Para cada teste, registre o responsável, a data do teste, o ID do trace, o alerta esperado, o alerta observado e o ticket de remediação. Isso transforma a observabilidade em um controle de release repetível, em vez de um projeto de instrumentação de uso único.
Plano de Implementação de Sete Dias
Para uma equipe focada, o checklist de implementação de observabilidade de IA pode ser implementado como uma sequência de sete dias que termina cada dia com evidências revisáveis.
Essa sequência é intencionalmente restrita. Ela entrega um recorte vertical confiável antes de a equipe expandir a cobertura.
- Dia 1 — Contrato de resultado: escolha um fluxo de trabalho de alto valor, defina inícios elegíveis, resultados aceitos, classes de falha e fórmulas de SLI.
- Dia 2 — Esqueleto de trace: crie o span raiz do fluxo de trabalho e propague o contexto por meio da aplicação, fila, gateway, camada de recuperação e ferramentas.
- Dia 3 — Tentativas do modelo: capture rotas solicitadas e resolvidas, tentativas, latência, motivo de conclusão, uso do provedor, novas tentativas e fallbacks.
- Dia 4 — Qualidade e custo: una os resultados do validador, versões do avaliador, resultados do usuário e o custo normalizado do fluxo de trabalho.
- Dia 5 — Controles de privacidade: classifique campos, implemente exportação por allowlist, teste a redação, defina retenção e verifique os limites de acesso.
- Dia 6 — SLOs e dashboards: construa o dashboard mínimo, adicione anotações de release, defina alertas de burn rate e atribua responsáveis.
- Dia 7 — Exercícios de falha: execute a matriz de aceitação, corrija lacunas, inicie um canary e documente as condições de rollback.
No final do sétimo dia, o objetivo não é uma instrumentação universal. O objetivo é um fluxo de trabalho em produção cujo comportamento, qualidade, confiabilidade, segurança e custo possam ser explicados do início ao fim.
Dashboard Mínimo para o Lançamento
O dashboard é a visão operacional da checklist de implementação de observabilidade de IA. Ele deve expor primeiro os resultados do cliente e, em segundo lugar, os detalhes da infraestrutura.
Mantenha a primeira visão operacional pequena o suficiente para ser usada durante um incidente:
- Linha de resultado: inícios elegíveis, conclusões aceitas, taxa de aprovação de qualidade e abandono ou escalonamento.
- Linha de confiabilidade: erros normalizados, taxa de fallback, amplificação de retries e consumo do orçamento de erro.
- Linha de latência: p50/p95/p99 de ponta a ponta, tempo na fila, tempo até o primeiro token, latência de recuperação e latência da ferramenta.
- Linha de economia: tokens de entrada/saída/em cache, custo total do fluxo de trabalho e custo por resultado aceito.
- Linha de mudanças: aplicação, prompt, política de rota, modelo, índice de recuperação, esquema da ferramenta e releases do avaliador.
- Links de investigação: traces representativos para cada classe de falha, release, rota e fluxo de trabalho afetado.
O dashboard deve oferecer um caminho do sintoma ao trace. Se um alerta mostrar uma queda de qualidade, mas a equipe não conseguir acessar os traces do fluxo de trabalho afetado em poucos cliques, o ciclo de investigação está incompleto.
Scorecard de Avaliação da Plataforma de Observabilidade de IA
A avaliação comercial deve testar se uma plataforma suporta seu modelo operacional, e não se ela tem a lista de recursos mais longa. Pontue os candidatos contra a mesma carga de trabalho piloto instrumentada.
| Critério | Peso | O que verificar em um piloto |
|---|---|---|
| Correlação do fluxo de trabalho | 20% | Um único trace une tentativas do modelo, recuperação, ferramentas, validação e resultado do usuário |
| Interoperabilidade do OpenTelemetry | 15% | A exportação/importação padrão funciona; extensões locais permanecem consultáveis; os dados são portáveis |
| Junções de qualidade e avaliação | 15% | O feedback online e as avaliações offline versionadas se conectam aos traces de produção |
| Privacidade e governança | 15% | Listas de अनुमति de campos, redaction, controles regionais, funções de acesso, logs de auditoria e testes de exclusão |
| Operações de confiabilidade | 15% | SLOs, alertas de burn rate, controles de amostragem, anotações de release e suporte a exercícios de incidente |
| Atribuição de custos | 10% | Uso do provedor, retries, fallbacks, tokens em cache e custo por resultado aceito se conciliam |
| Cobertura de agentes/RAG/ferramentas | 5% | Operações de recuperação e de ferramentas com efeitos colaterais têm spans e filtros de primeira classe |
| Custo operacional | 5% | Ingestão, armazenamento, consulta, retenção e sobrecarga de engenharia se encaixam no volume esperado |
Use uma pontuação de 1 a 5 para cada critério, multiplique pelo peso e exija evidências por escrito do piloto. Uma plataforma que não consegue preservar seu contrato de telemetria ou exportar seus dados cria dependência operacional, mesmo que seus dashboards pareçam polidos.
Contrato de Telemetria Copiável
A maneira mais rápida de tornar uma checklist de implementação de observabilidade de IA operacional é transformá-la em um contrato de telemetria versionado. O contrato define o que cada fluxo de trabalho e tentativa de modelo deve emitir, quais campos são opcionais, quais valores são permitidos e quais campos são proibidos em índices de alto volume.
O exemplo abaixo usa um namespace interno. Mapeie-o para as convenções fixadas do OpenTelemetry GenAI dentro de um único adaptador, em vez de expor o código da aplicação a mudanças de convenção.
telemetry_contract:
version: "2026-08-04"
workflow_span:
required:
- ai.workflow.name
- ai.workflow.version
- ai.request.id
- deployment.environment
- service.version
- ai.outcome.status
- ai.outcome.accepted
- ai.latency.total_ms
optional:
- ai.tenant.tier
- ai.experiment.id
- ai.user.feedback
prohibited:
- end_user.email
- end_user.name
- raw.authorization_header
model_attempt_span:
required:
- ai.attempt.number
- ai.route.requested_model
- ai.route.resolved_provider
- ai.route.resolved_model
- ai.result.status
- ai.usage.input_tokens
- ai.usage.output_tokens
- ai.latency.first_token_ms
- ai.latency.total_ms
conditional:
- ai.fallback.reason
- ai.error.class
- ai.error.provider_code
- ai.usage.cached_input_tokens
content_capture:
default: "off"
allowed_when:
- approved_evaluation_dataset
- explicit_debug_session
controls:
- redact_before_export
- access_logged
- retention_approved
Revise este contrato na revisão de código assim como faria com um schema de API. Um novo provedor de modelo, ferramenta de agente, política de fallback ou avaliador não deve ser lançado até que seus campos de telemetria mapeiem para o contrato e passem nos mesmos testes de aceitação.
Instrumentation Pattern for One AI Workflow
Não permita que cada equipe invente nomes e atributos de spans de forma independente. Forneça um pequeno wrapper que crie o span raiz do fluxo de trabalho, registre tentativas filhas, capture resultados normalizados e aplique redaction antes da exportação.
Este exemplo em Python é intencionalmente neutro em relação ao provedor. Os nomes internos dos atributos devem ser traduzidos para a versão fixada da convenção semântica do OpenTelemetry no wrapper ou na camada do coletor.
from opentelemetry import trace
tracer = trace.get_tracer("checkout-assistant")
def run_ai_workflow(request, router, evaluator):
with tracer.start_as_current_span("ai.workflow.checkout_help") as workflow_span:
workflow_span.set_attribute("ai.workflow.name", "checkout_help")
workflow_span.set_attribute("ai.workflow.version", "2026-08-04")
workflow_span.set_attribute("ai.request.id", request.request_id)
result = None
for attempt_number in range(1, 3):
with tracer.start_as_current_span("ai.model.attempt") as attempt_span:
route = router.resolve(request, attempt_number)
attempt_span.set_attribute("ai.attempt.number", attempt_number)
attempt_span.set_attribute("ai.route.requested_model", request.model)
attempt_span.set_attribute("ai.route.resolved_provider", route.provider)
attempt_span.set_attribute("ai.route.resolved_model", route.model)
result = route.generate(request)
attempt_span.set_attribute("ai.result.status", result.status)
attempt_span.set_attribute("ai.usage.input_tokens", result.input_tokens)
attempt_span.set_attribute("ai.usage.output_tokens", result.output_tokens)
if result.status == "ok":
break
attempt_span.set_attribute("ai.error.class", result.error_class)
evaluation = evaluator.score(request, result)
workflow_span.set_attribute("ai.outcome.status", result.status)
workflow_span.set_attribute("ai.outcome.accepted", evaluation.accepted)
workflow_span.set_attribute("ai.evaluator.version", evaluation.version)
workflow_span.set_attribute("ai.quality.score", evaluation.score)
return result
O código de produção também deve registrar duração, tempo até o primeiro token, motivos de fallback, cancelamento, erros de streaming e exceções. A escolha de design importante é a hierarquia: um fluxo de trabalho do cliente contém uma ou mais tentativas faturáveis, e o fluxo registra o resultado final aceito.
Alert Policy and First-Response Runbook
Uma checklist de implementação de observabilidade de IA está incompleta se os painéis não tiverem regras de resposta. Cada métrica de lançamento precisa de um gatilho, um responsável e uma primeira consulta diagnóstica.
| Alerta | Exemplo de gatilho | Primeira pergunta | Ação imediata |
|---|---|---|---|
| Esgotamento do resultado aceito | Esgotamento rápido e lento do orçamento de erro | Qual workflow, release, rota ou tenant mudou? | Pausar o rollout ou reverter o release implicado |
| Regressão de latência | A latência p95 do workflow ultrapassa o SLO | Houve mudança na latência de fila, retrieval, modelo ou ferramenta? | Contornar a etapa lenta ou reduzir a carga |
| Pico de fallback | A taxa de fallback excede sua faixa normal | O provedor primário está falhando, limitando a taxa ou expirando? | Inspecionar erros normalizados e brutos do provedor |
| Elevação do custo por resultado | O custo sobe enquanto a aceitação permanece estável ou cai | Retries, comprimento da saída ou rotas caras estão aumentando? | Limitar retries e restaurar a política anterior de roteamento |
| Queda na pontuação de qualidade | A taxa de aprovação do avaliador online ou amostrado cai | Houve mudança de versão do prompt, retrieval, modelo ou avaliador? | Comparar a coorte do release com a última coorte saudável |
| Incerteza da ferramenta | O resultado de efeito colateral não pode ser conciliado | A ferramenta terminou antes do timeout ou do cancelamento? | Interromper a tentativa automática e entrar em conciliação |
| Perda de telemetria | A completude esperada de spans ou uso cai | A instrumentação está quebrada ou a backpressure de exportação está aumentando? | Tratar telemetria ausente como um incidente operacional |
A visualização de plantão deve vincular diretamente de um alerta para traces filtrados por workflow, release, modelo solicitado, rota resolvida e classe de erro. Se os respondedores precisarem reconstruir manualmente esses filtros durante um incidente, o sistema não está pronto para lançamento.
Responsabilidade e Transferência para Produção
Atribua a checklist a funções nomeadas antes do rollout. A responsabilidade compartilhada, sem um decisor explícito, normalmente produz dashboards que todos podem ver e ninguém mantém.
| Responsabilidade | Função responsável | Comprovação exigida na transferência |
|---|---|---|
| Definição do resultado do workflow | Proprietário do produto ou do recurso de IA | Regra de resultado aceito e exemplos de rejeição |
| Esquema de spans e métricas | Proprietário da plataforma ou da observabilidade | Contrato de telemetria versionado e testes de esquema |
| Campos de rota e fallback | Proprietário do gateway ou da confiabilidade | Validação de rota solicitada/resolvida e de tentativas |
| Avaliadores de qualidade | Proprietário da engenharia de IA | Versão do avaliador, conjunto de dados, limites, restrições conhecidas |
| Privacidade e retenção | Proprietário de segurança ou privacidade | Classificação de dados, teste de redaction, aprovação de retenção |
| SLOs e alertas | Proprietário do serviço | Documento de SLO, regras de paging, dashboard, runbook |
| Alocação de custos | Proprietário de finanças de engenharia | Completude de uso e conciliação de custo por resultado |
| Prontidão para release | Líder de engenharia | Matriz de aceitação concluída e gatilho de rollback |
Agende uma revisão de 30 dias após o lançamento. Remova campos não utilizados, promova consultas de debug repetidamente úteis em visualizações de painel, revise a cardinalidade e o custo de armazenamento e atualize o contrato quando o comportamento do workflow mudar.
Checklist de Implementação de Observabilidade de IA Copiável
Use esta lista como critério de lançamento:
- [ ] Defina cada workflow e o resultado aceito do cliente.
- [ ] Defina transporte, capacidade, contrato, qualidade, segurança e falhas de negócio.
- [ ] Selecione SLIs de disponibilidade, qualidade, latência e custo por resultado.
- [ ] Aprove um contrato de telemetria versionado com campos obrigatórios, opcionais e proibidos.
- [ ] Crie um trace raiz por cada workflow visível ao usuário.
- [ ] Propague o contexto por filas, ferramentas, recuperação e gateways.
- [ ] Registre as rotas solicitadas e resolvidas de provedor/modelo.
- [ ] Crie um span separado para cada tentativa de retry e fallback.
- [ ] Capture o tempo de fila, o tempo até o primeiro token e a latência total.
- [ ] Capture o uso de tokens informado pelo provedor e o custo normalizado.
- [ ] Versione prompts, ferramentas, índices de recuperação, políticas, rotas e avaliadores.
- [ ] Registre referências de recuperação, frescor, autorização e resultados de grounding.
- [ ] Registre autorização da ferramenta, idempotência, resultado e estado de efeito colateral.
- [ ] Vincule o feedback do usuário e os resultados da avaliação offline aos traces.
- [ ] Classifique a telemetria como metadados, sinais derivados ou conteúdo bruto.
- [ ] Redija segredos e campos sensíveis antes da exportação.
- [ ] Aplique políticas separadas de retenção e acesso por classe de dados.
- [ ] Mantenha valores de alta cardinalidade fora dos rótulos das métricas.
- [ ] Dispare alertas sobre SLOs que afetam o usuário e sobre o consumo do orçamento de erro.
- [ ] Anote releases e compare canary versus controle.
- [ ] Execute simulações de falha, privacidade, sampling e indisponibilidade do exporter.
- [ ] Salve evidências de testes de aceitação e trace IDs para o gate de lançamento.
- [ ] Compare plataformas de observabilidade com um único scorecard de piloto ponderado.
- [ ] Atribua responsáveis pelos resultados, esquema, privacidade, SLOs, qualidade e custo.
- [ ] Vincule cada alerta digno de página a um runbook de primeira resposta e a uma consulta de trace.
Erros Comuns de Observabilidade de IA
Registrar prompts sem uma política de dados
Prompts brutos parecem úteis durante a depuração, mas podem conter dados de clientes, segredos, material protegido por direitos autorais ou informações regulamentadas. Comece com metadados e habilite a captura controlada de conteúdo apenas quando houver justificativa.
Medir custo por solicitação em vez de custo por resultado
Uma solicitação barata que falha na validação não é barata. Retries, fallbacks e correção humana fazem parte do custo do workflow. O mesmo princípio se aplica ao ROI de cache de prompts: otimize a tarefa aceita, não uma taxa isolada de tokens.
Tratar cada chamada de modelo como independente
Agentes e sistemas RAG são workflows. Se os spans de modelo, recuperação e ferramenta não estiverem correlacionados, a equipe não consegue reconstruir a causalidade.
Depender de um único dashboard do provedor
Dashboards do provedor são úteis para uso e erros a montante, mas não enxergam o resultado completo da sua aplicação, o sistema de recuperação, a execução de ferramentas, o feedback do usuário ou o caminho de fallback entre provedores.
Instrumentar tudo antes de definir decisões
A telemetria tem custo operacional. Cada campo deve apoiar uma decisão de depuração, alerta, avaliação, governança ou otimização. Remova os campos que ninguém usa.
Onde um AI Gateway se Encaixa
Um LLM gateway pode ser uma fronteira útil de correlação e política, porque várias aplicações e provedores passam por um único ponto de controle. Ele pode normalizar metadados de rota, tentativa, uso, latência e erro antes de exportar a telemetria para sua stack de observabilidade.
O gateway não é a solução completa. O código da aplicação ainda é responsável pelos resultados do fluxo de trabalho, contexto de recuperação, semântica de ferramentas, feedback do usuário e conversão de negócio. O design mais forte une a telemetria do gateway com esses sinais em nível de aplicação.
A Flatkey fornece uma camada de acesso compatível com OpenAI para vários modelos de IA. Se sua equipe está consolidando integrações com provedores, explore a Flatkey e use este checklist para definir o contrato de telemetria em torno da sua aplicação e da camada de roteamento.
Perguntas Frequentes
O que devo implementar primeiro para observabilidade de IA?
Comece o checklist de implementação de observabilidade de IA com um trace raiz por fluxo de trabalho do cliente, spans filhos para tentativas do modelo, campos do modelo solicitado e resolvido, latência, uso, erros normalizados e um sinal de resultado aceito. Adicione a captura bruta do prompt mais tarde, se sua política de privacidade permitir.
O OpenTelemetry é suficiente para observabilidade de LLM?
O OpenTelemetry fornece a base neutra em relação ao transporte para traces, métricas e logs, além de convenções semânticas de IA generativa em evolução. Você ainda precisa de definições de fluxo de trabalho, avaliações, controles de privacidade, SLOs, dashboards e processos de incidentes.
Prompts e respostas devem ser armazenados nos traces?
Não por padrão. Use primeiro metadados, versões, hashes e sinais derivados de qualidade. Armazene o conteúdo bruto apenas em sistemas controlados com propósito explícito, política de acesso, período de retenção e processo de exclusão.
Quais métricas de observabilidade de IA são mais importantes?
Comece com taxa de conclusão aceita, taxa de aprovação de qualidade, latência ponta a ponta p95, tempo até o primeiro token para streaming, taxa de fallback e custo por resultado aceito. Adicione métricas específicas do fluxo de trabalho depois que essas estiverem confiáveis.
Como monitoro múltiplos provedores de IA?
Use um único esquema estável de telemetria entre os provedores. Registre tanto a rota solicitada quanto o provedor/modelo resolvido em cada tentativa, normalize os erros sem descartar o código bruto do provedor e una todas as tentativas sob o mesmo trace de fluxo de trabalho.



