Blogs Correção de IA

Como usar a correção de IA sem perder o controle de engenharia

Um modelo prático para usar IA para elaborar correções de produção, mantendo evidências, análises, testes e propriedade nas mãos dos engenheiros.

Correção de IAcontrole de engenhariarevisão de códigocorreções de produçãoresposta a incidentes

A remediação de IA não se torna confiável por parecer confiante. Torna-se confiável quando preserva as partes do trabalho de engenharia que já tornam seguras as alterações de produção: evidências, propriedade, revisão, testes e uma decisão clara de fusão.

Essa distinção é importante. Uma ferramenta que abre uma solicitação pull com o contexto certo pode economizar horas. Uma ferramenta que altera silenciosamente o código de produção pede à equipe que aceite um novo risco operacional.

Comece com o limite

A primeira decisão de design não é qual modelo usar. É o que o modelo pode fazer.

Para a maioria das equipes, o limite seguro é assim:

  • A IA pode inspecionar sinais de produção.
  • A IA pode mapear esses sinais em código.
  • A IA pode elaborar um patch.
  • A IA pode explicar seu raciocínio.
  • Os engenheiros aprovam, editam, rejeitam ou mesclam.

Esse ainda é um fluxo de trabalho poderoso. Ele elimina a parte chata da resposta a incidentes sem afastar a responsabilidade das pessoas que possuem o sistema.

Por que "apenas consertar" é o padrão errado

Falhas de produção são complicadas. O mesmo erro pode significar uma implantação incorreta, uma proteção ausente, uma fila que precisa de contrapressão, um caso extremo de dados do cliente ou um provedor upstream agindo de maneira diferente do esperado.

Quando um sistema passa direto do sintoma para a alteração do código, os revisores obtêm um patch sem investigação. Eles precisam fazer engenharia reversa do motivo da existência do patch. Isso retarda a revisão e faz com que a automação pareça arriscada, mesmo quando o código é razoável.

O melhor padrão é a evidência primeiro:

Mostre o comportamento de produção, mostre o caminho do código suspeito, mostre a mudança proposta e mostre o que pode estar errado.

Essa última parte é importante. Um sistema de remediação não deve fingir certeza quando a evidência é parcial. Deve tornar a incerteza visível.

Pontos de controle que devem permanecer humanos

Existem algumas decisões que as equipes devem manter em seu fluxo de trabalho normal.

Propriedade e escopo

O proprietário do código certo deve decidir se uma correção proposta se enquadra nos limites do serviço. Isso evita que um incidente restrito se transforme em uma mudança arquitetônica ampla.

Julgamento do produto

Algumas falhas são tecnicamente fáceis de corrigir, mas são sensíveis ao produto. Um bug de nova tentativa de pagamento, um caso extremo de permissões ou uma incompatibilidade de estado de faturamento pode precisar do contexto do produto antes que o código seja alterado.

Teste a confiança

A IA pode sugerir testes, mas os engenheiros devem decidir o que significa confiança. Uma correção precisa de um teste de unidade. Outro precisa de um evento repetido. Outro precisa de uma verificação de migração e de um caminho de reversão.

Aprovação de mesclagem

A decisão de mesclagem deve permanecer visível no processo de pull request existente da equipe. Isso mantém intactas as políticas de segurança, conformidade e propriedade.

O que a IA absolutamente deveria fazer

Manter a aprovação humana não significa que o fluxo de trabalho seja tímido. A IA deveria assumir o trabalho que os humanos repetem com muita frequência:

  • agrupar eventos de erro semelhantes em vez de abrir cinco investigações separadas
  • resumindo rastreamentos de pilha e logs ruidosos em uma nota de incidente legível
  • encontrar o repositório, arquivo, função e proprietário mais relevantes
  • comparando a falha com implantações recentes e alterações de código
  • redigindo um patch mínimo com uma explicação em inglês simples
  • adicionando testes sugeridos ou verificações de revisão
  • roteamento de acompanhamento sem código para problemas do Jira, Linear ou GitHub

É daí que vem a economia de tempo. O revisor começa com um arquivo de caso preparado, em vez de uma pilha de sinais desconectados.

A solicitação pull é a interface

Para as equipes de engenharia, o pull request já é o local onde o risco é negociado. Ele contém diferenças, comentários, IC, propriedade e histórico de aprovação. A remediação de IA deve usar essa superfície em vez de criar uma nova.

Um PR de remediação útil deve incluir:

  1. O sinal de produção que desencadeou a investigação.
  2. O caminho do código que o sistema acredita ser o responsável.
  3. O patch proposto.
  4. O raciocínio por trás do patch.
  5. Os testes que foram executados ou deveriam ser executados.
  6. O nível de confiança e quaisquer suposições.

Essa estrutura dá aos revisores algo concreto para avaliar. Eles podem discordar do diagnóstico, melhorar o patch ou fundi-lo rapidamente quando a evidência for forte.

Um modelo político simples

As equipes podem começar com três níveis de política.

Somente rascunho

O sistema pode criar solicitações pull, mas não pode solicitar revisão automaticamente. Este é um bom primeiro passo para as equipes avaliarem a qualidade do sinal.

Pronto para revisão

O sistema pode abrir uma solicitação pull, atribuir proprietários e solicitar revisão quando a evidência for forte. Este é o padrão que a maioria das equipes deveria buscar.

Mesclar automaticamente alterações restritas

O sistema pode mesclar apenas alterações restritas e reversíveis que correspondam a uma política rigorosa. Isso deve ser raro, registrado e fácil de desativar.

A maioria das organizações não precisa começar no nível três. Eles obtêm um valor significativo no nível dois porque a parte cara geralmente é o diagnóstico e o primeiro rascunho.

Cuidado com a falsa confiança

O modo de falha não é “AI escreve código incorreto” em abstrato. O modo de falha mais nítido é um remendo polido com evidências finas.

Os revisores devem ser capazes de dizer se o sistema encontrou a causa raiz ou simplesmente encontrou um arquivo próximo. Um bom fluxo de trabalho expõe a cadeia desde o sinal de produção até a alteração do código. Um fluxo de trabalho fraco esconde essa cadeia atrás de um resumo confiável.

Se a evidência for fraca, a ferramenta deve informar isso e encaminhar o problema como uma investigação, não como uma solução.

Que bom parece

Uma boa correção de IA parece que um engenheiro sênior fez o trabalho de preparação antes da revisão. A solicitação pull não é mágica. É excepcionalmente bem montado:

  • o problema foi desduplicado
  • os registros relevantes são resumidos
  • o caminho do código é nomeado
  • a mancha é pequena
  • o raciocínio é visível
  • o revisor ainda está no comando

Esse é o equilíbrio. Deixe a IA comprimir a investigação. Não deixe que isso apague o julgamento da engenharia.

Executar o ciclo

Transforme sinais de produção em correções revisadas.

Comece um teste grátis e veja como a Prilog conecta incidentes reais a pull requests no nível do código.