Conteúdo da trilha
SmellOperação

Voo Cego

No Tracing

Voo Cego (No Tracing) é um smell de IA, ou seja, um sinal de problema em sistemas com LLM, do grupo Operação. Quando algo dá errado, ninguém consegue ver quais chamadas, ferramentas e contexto levaram à resposta.

Elemento
33/37
Nível
Iniciante
Leitura
4 min
Atualizado
Nesta página 7
  1. 01Como reconhecer
  2. 02Por que acontece
  3. 03Quanto custa ignorar
  4. 04Tratamento
  5. 05O que você ganha
  6. 06Quando ignorar
  7. 07É esse smell?
  8. ··Perguntas rápidas

Como reconhecer

Às 3h12, o agente de incidentes reiniciou o serviço de catálogo em vez do de pagamentos. Na manhã seguinte, este era todo o registro disponível (anonimizado):

03:11:58 INFO  incident-agent  alert received: payments-latency-p99
03:12:41 INFO  incident-agent  action: restart service=catalog
03:12:43 INFO  incident-agent  done

Quarenta e três segundos de decisão e três linhas de log. Ninguém sabe o que o agente leu, quais ferramentas chamou, o que elas devolveram, qual versão do prompt rodou nem quanto custou.

Num banco, o palpite vira risco de conformidade. Se o agente moveu dinheiro, bloqueou Pix ou reiniciou um serviço de liquidação, a LGPD e a auditoria vão perguntar o porquê. “Acho que o modelo confundiu o nome” não é uma resposta.

Sinais de Voo Cego:

  • Quando alguém pergunta “por que o agente fez isso?”, a resposta é um palpite.
  • Os logs registram início e fim, mas não as chamadas ao modelo nem os resultados das ferramentas.
  • Não dá para saber qual versão do prompt gerou uma resposta específica.
  • O custo só é conhecido pela fatura do mês, sem divisão por tarefa ou por usuário.
  • Para reproduzir um bug, o time precisa pedir ao usuário que tente de novo.
  • Cada pessoa depura com print local, e nada fica guardado.
flowchart LR
  A(["1. Alerta"]):::io --> M(["2. Modelo decide"]):::llm
  M --> T["3. Ferramentas"]:::tool
  T --> M
  M --> X["4. Ação"]:::tool
  X --> L[("5. Log: 'done'")]:::store
  1. Algo dispara a tarefa.
  2. O modelo lê um contexto que ninguém guardou.
  3. Ferramentas devolvem resultados que ninguém guardou.
  4. A ação acontece.
  5. O único registro diz que acabou.
Checagem +20 XP de primeiraO agente de incidentes reiniciou o serviço errado. Os logs mostram só 'alert received' e 'done'. O que você consegue afirmar?

Por que acontece

  • Log de aplicação parece suficiente. Para código comum, uma linha por evento basta. Para um modelo, a decisão está no contexto, e o contexto não está no log.
  • Medo de guardar dados. Prompts têm dados de usuários, e guardar parece arriscado. Sem um plano de mascaramento, a escolha vira não guardar nada.
  • Observabilidade fica para depois. No protótipo, a pessoa vê tudo no terminal. Em produção, o terminal sumiu.
  • Ferramentas novas. O time não conhece as convenções e as ferramentas de trace para IA.

Erro comum: gravar o prompt e achar que há trace

Um arquivo com milhares de prompts soltos não reconstitui uma execução. Falta o id da tarefa, a ordem das ferramentas, o resultado de cada uma, a versão do prompt e o custo. É uma caixa-preta com mais papel dentro.

O outro extremo também falha. Em 2023, funcionários da Samsung colaram código confidencial no ChatGPT. Sem política de retenção e mascaramento, o time ou grava demais (e vaza) ou grava nada (e voa cego). Os dois erros nascem da mesma ausência: um plano do que guardar, por quanto tempo e com quais campos mascarados.

Quanto custa ignorar

  • Incidentes sem explicação. Sem saber por que o agente errou, não dá para corrigir, só torcer.
  • Custo sem dono. Um usuário ou uma tarefa que custa dez vezes a média passa despercebido.
  • Evals sem fonte. Os melhores casos de teste vêm de execuções ruins de produção. Sem trace, eles se perdem.
  • Conformidade. Em decisões sobre dinheiro ou pessoas, não ter registro pode ser uma infração. A LGPD dá ao titular o direito de entender decisões automatizadas que o afetem.

Compare as duas manhãs seguintes ao incidente:

Pergunta Sem trace Com spans
O que o modelo leu? Palpite O alerta, o runbook e a lista de serviços devolvida
Qual ferramenta errou? Ninguém sabe list_services devolveu catálogo no topo
Qual prompt? O da sexta, talvez incident-agent@v12
Dá para virar eval? Não Sim, um clique no caso

Tratamento

Refatoração Escolha quando
Adicionar Trace Sempre. Toda chamada ao modelo, toda ferramenta e toda decisão de código vira um span, com prompt, versão, tokens, custo e resultado. Para decisões que precisam de prova, o destino é a Trilha de Auditoria.

O conceito está em Observabilidade para IA. Um span útil carrega pelo menos: id da execução, versão do prompt, argumentos e resultado da ferramenta (não só “ok”), tokens, custo e latência. Mascarar CPF, cartão e segredo no momento da gravação, não na hora do incidente.

Trace de depuração e trilha de auditoria não são a mesma coisa. O primeiro pode expirar em dias. O segundo, para Pix, crédito ou bloqueio de conta, segue a retenção que o jurídico pediu.

Checagem +20 XP de primeiraO time quer gravar traces, mas o jurídico bloqueia porque o prompt leva CPF. Qual é o próximo passo certo?

O que você ganha

  • Qualquer execução pode ser aberta e lida passo a passo.
  • Custo e latência por tarefa, por usuário e por versão de prompt.
  • Bugs de produção viram casos de eval com um clique.
  • Respostas a “por que o sistema fez isso?” com evidência.

Quando ignorar

  • Script local de uso pessoal. Se só você usa e vê a saída no terminal, um trace completo é exagero.
  • Primeiras horas de protótipo. Mesmo ali, instrumentar com uma biblioteca pronta leva minutos e costuma pagar o tempo no primeiro bug.

Nenhum agente que executa ação em produção, sem uma pessoa olhando, deve voar sem spans.

É esse smell?

Checagem +20 XP de primeiraO time grava todos os prompts e respostas num arquivo de log, mas sem identificar a qual tarefa ou usuário cada linha pertence, e sem os resultados das ferramentas. É Voo Cego?

Checagem +20 XP de primeiraOs traces são completos, mas guardados por apenas 3 dias. Uma reclamação de cliente chega 10 dias depois do problema. Qual é a situação?

Checagem +20 XP de primeiraOs traces registram chamadas e ferramentas, mas não a versão do prompt. Uma resposta ruim de duas semanas atrás não pode ser reproduzida porque o prompt mudou três vezes desde então. Qual smell está mais perto?

Checagem +20 XP de primeiraOs traces registram a chamada ao modelo, mas o resultado de cada ferramenta é só a string 'ok', sem o payload. Dá para explicar por que o agente reiniciou o catálogo?

Perguntas rápidas

O que é Voo Cego?

Voo Cego (No Tracing) é um smell de IA, ou seja, um sinal de problema em sistemas com LLM, do grupo Operação. Quando algo dá errado, ninguém consegue ver quais chamadas, ferramentas e contexto levaram à resposta.

Como corrigir Voo Cego?

Com Adicionar Trace. Cada refatoração traz o passo a passo seguro, com eval antes e depois.

Onde Voo Cego aparece na prática?

Nos cenários reais Agente de incidentes (on-call), Assistente jurídico e Triagem de currículos com controle de viés.

Para ir além

Relações

Refatorações que tratam 1
Buscar