Triagem de erros com IA · Produção
Um erro derrubou parte do meu sistema às 14h12. Às 14h22 eu já sabia a causa provável e o que decidir.
Construí um sistema que investiga erros de produção sozinho, com IA, mas só deixa algo virar código depois de verificar tudo por conta própria. Aplicado ao meu sistema de trading de cripto.
GithubIssuesGateway · 1/8
Quando um sistema falha, a parte lenta não é consertar: é entender o que aconteceu
01
Perceber
Alguém precisa ver o alerta e parar o que estava fazendo.
02
Investigar
Abrir o Grafana e ler logs, métricas e traces.
03
Correlacionar
Ver se um deploy ou commit recente causou o erro.
04
Registrar
Abrir um card e copiar tudo pra lá, pro time entender.
O resultado aqui: tudo isso feito automaticamente em cerca de 10 minutos, e eu só precisei decidir.
GithubIssuesGateway · 2/8
GithubIssuesGateway · 3/8
1 · O alerta vira um card
O erro chega já documentado
  • O Grafana avisa o gateway, que coleta logs, métricas e traces do momento do erro.
  • Tudo vira um card no GitHub Issues, com senhas e tokens removidos.
  • Se o mesmo erro se repetir, o gateway reconhece e não abre outro card.
Issue 129 no GitHub com Identidade, Frequência, Sintoma e stack trace do erro
O fluxo completo
Do alerta à decisão, sem ninguém abrir o Grafana
Grafana
detecta o erro
Gateway
coleta a evidência
Issue
card com o contexto
Actions
a IA investiga
Policy Gate
verifica tudo
PR ou Humano
resultado final
A IA investiga, mas quem decide o que vira mudança de código é o Policy Gate: um código comum, que não depende de opinião.
GithubIssuesGateway · 4/8
2 · A IA investiga isolada
A IA investiga sem poder mudar nada em produção
  • Roda num ambiente descartável do GitHub Actions, sem senhas e só com leitura do código.
  • Lê o card e o código, acha a causa provável e escreve uma correção com teste.
  • Trata os logs como dado não confiável e entrega só um arquivo de resultado: quem o busca e decide é o meu sistema.
Run do GitHub Actions da triagem, concluído em 6 minutos, com todos os passos verdes
GithubIssuesGateway · 5/8
3 · A análise da IA
Ela explica o raciocínio, inclusive o que não deu certo
  • Causa provável: o sistema não tenta de novo quando a Bybit demora a responder (timeout de 10s).
  • Propôs uma correção e um teste que reproduz o erro.
  • Avisou que não conseguiu rodar o teste até o fim, por limitação do ambiente.
Comentário Análise do agente no issue 129, com Hipótese, Evidência a favor, Evidência contra e a pergunta que destrava
GithubIssuesGateway · 6/8
4 · O Policy Gate decide
111/50
linhas alteradas, para um limite de 50
CRITICO
a mudança mexe numa área sensível do sistema
A IA acertou, mas o gate barrou mesmo assim.
O teste reproduzia o erro e a suíte passava, mas a mudança era grande e tocava uma área crítica. Não virou PR: virou uma pergunta pra eu decidir.
Limite de linhas e áreas críticas não são fixos: cada projeto define as suas regras num arquivo projetos.json. Um projeto pode ter regras X, outro regras Y.
GithubIssuesGateway · 7/8
Resultado: IA com autonomia, mas com trava
O gate refaz os fatos
Roda o teste e mede a mudança por conta própria, sem confiar no que a IA diz.
Na dúvida, para
Se algo falha ou não está mapeado, o sistema recusa em vez de arriscar.
Correção automática desligada
Toda mudança passa por revisão humana até haver dados que justifiquem o contrário.
Botão de emergência
Um arquivo (touch config/PARAR_TRIAGEM) desliga toda ação automática na hora.
Você deixaria uma IA abrir PR em produção sem gate?
GithubIssuesGateway · 8/8 · Java 21 · Spring Boot · Actions