← Curso IA na prática para Programadores: do prompt ao pull request 22 aulas
Depurar por evidência e revisar por risco

A tabela de hipóteses que substitui o chute

Conceito 5 min de leitura

Como transformar uma resposta persuasiva numa fila de experimentos baratos, e por que a ordem dos testes importa mais que a lista.

Pergunte "por que isso está acontecendo?" e você recebe uma causa provável, bem explicada. O problema é que a resposta tem a mesma cara quando está certa e quando está errada — e você acabou de ganhar uma âncora que vai atrapalhar a investigação.

Ao final desta aula você consegue
  • Organizar uma investigação em hipóteses com experimento associado.
  • Ordenar os testes por poder de eliminação, não por probabilidade.
  • Impedir que a primeira explicação plausível feche a investigação.

Depuração é redução de incerteza. A pergunta certa em cada passo não é "qual é a causa?" e sim "qual experimento elimina mais possibilidades pelo menor custo?".

Isso muda a ordem dos testes. A hipótese mais provável nem sempre é a que se deve testar primeiro: se ela custa duas horas para verificar e existe outra que custa dois minutos e corta metade do espaço de busca, comece pela barata.

A pergunta que ancora
Por que esse endpoint está lento?

Vem uma causa provável com explicação convincente. Você passa a tarde confirmando essa causa em vez de investigar.

A pergunta que abre
Não conclua a causa. Monte uma tabela com:
hipótese | evidência a favor | evidência contra | experimento mínimo |
custo do experimento | o que ele elimina se der negativo

Ordene por (o que elimina ÷ custo), não por probabilidade.
Pare após a tabela. Vou trazer o resultado do primeiro experimento.

Vem uma fila de verificações. Você gasta dez minutos e volta com um dado que corta metade das opções.

A diferença: A coluna "evidência contra" é a que faz o trabalho pesado: ela força o assistente a considerar o que não encaixa em cada hipótese, que é justamente o que a resposta ancorada omite.

Como fica na prática

HipóteseA favorContraExperimentoCusto
Consulta sem índicePiorou junto com o crescimento da tabelaFicaria lento sempre, não só às terçasEXPLAIN na query principal2 min
N+1 numa listagemEndpoint monta lista aninhadaVolume de terça não é maiorContador de queries por request10 min
Contenção de lockTerça é dia do fechamento em loteNenhum timeout registradoVer locks durante o pico30 min
Cache frio após deployDeploy costuma sair de manhãLentidão dura o dia todoCorrelacionar horário de deploy5 min

A hipótese mais provável (índice) não é a primeira a ser testada por ser provável — é por custar dois minutos. E repare que a coluna "contra" já enfraqueceu duas delas antes de qualquer teste.

Um experimento por vez

A tentação é rodar tudo de uma vez e mandar todos os resultados juntos. Isso desperdiça o valor da tabela: cada resultado deveria reordenar os próximos experimentos.

Devolva um resultado, peça a tabela atualizada, siga. É mais lento por mensagem e mais rápido no total.

Devolvendo o resultado do experimento
Resultado do experimento 1 (EXPLAIN na query principal):
[cole a saída]

Atualize a tabela: o que isso confirma, o que elimina, e qual é o próximo
experimento pela mesma regra (elimina ÷ custo).
Se este resultado contradiz alguma hipótese que você tinha como provável,
diga explicitamente qual e por quê.

A última instrução força o assistente a reconhecer contradição em vez de encaixar o dado novo na narrativa anterior.

ArmadilhaConfundir sintoma que sumiu com causa encontrada

Reiniciar o serviço, limpar o cache ou aumentar o timeout costuma fazer o sintoma desaparecer. Isso não é diagnóstico — é adiamento com aparência de solução.

O teste de honestidade: você consegue explicar o mecanismo que liga a causa ao sintoma, incluindo por que ele apareceu naquele momento e não antes? Se a resposta for "não sei, mas parou", a investigação não acabou.

Como perceber: O chamado foi fechado e ninguém consegue escrever uma frase explicando por que o problema começou.

Checagem antes de seguir
  • A investigação começou por uma tabela, não por uma causa.
  • Cada hipótese tem um experimento concreto e um custo.
  • A coluna "evidência contra" foi preenchida de verdade.
  • Um experimento por vez, com a tabela reordenada a cada resultado.
  • A causa final explica o mecanismo e o momento em que apareceu.
Em uma frase
  • Ordene os experimentos pelo que eliminam dividido pelo que custam — não pelo que parece mais provável.

Comentários e dúvidas

Inscreva-se grátis para comentar, tirar dúvidas, marcar seu progresso e emitir o certificado ao fim do curso.

Inscrever-se grátis com Google

Ainda não há comentários nesta aula.