Cloudflare usa agentes de IA para reduzir em 85% as issues abertas do Astro

11 min
Cloudflare usa agentes de IA para reduzir em 85% as issues abertas do Astro

Fluxo automatizado executado no GitHub Actions divide a investigação de bugs entre agentes especializados, mas mantém a validação humana antes da abertura de pull requests.

A Cloudflare desenvolveu um sistema de triagem automatizada para issues do Astro que utiliza agentes de IA isolados para reproduzir, investigar, validar e corrigir bugs. O processo reduziu o backlog de mais de 200 issues abertas para cerca de 30, mantendo humanos como etapa final de validação antes da criação de pull requests.

Agentes de IA ajudam a reduzir backlog de issues no Astro

Manter um projeto open source não significa apenas desenvolver novos recursos. Para equipes responsáveis por frameworks populares, uma parte significativa do trabalho está em analisar relatos de bugs, tentar reproduzir problemas, identificar suas causas e decidir se uma issue realmente precisa de uma correção.

Foi esse gargalo que motivou a Cloudflare a criar um fluxo automatizado de triagem para o Astro.

Leia também Web Summit Rio 2026 define datas e confirma palestrantes de peso no Riocentro

A solução utiliza agentes de IA especializados e isolados, executados dentro do GitHub Actions. Em vez de entregar todo o processo para um único agente, o sistema divide a investigação em etapas específicas, com responsabilidades bem definidas.

O resultado foi uma redução de aproximadamente 85% no número de issues abertas, que passaram de mais de 200 para cerca de 30.

Mais importante do que o número, porém, é a arquitetura adotada: os agentes podem investigar e propor correções, mas a validação humana continua sendo necessária antes que uma alteração seja transformada em um pull request.

O problema das issues em projetos open source

Projetos open source populares recebem constantemente relatos de problemas que podem ter origens muito diferentes.

Uma issue pode representar:

um bug real;

um problema já corrigido em outra versão;

uma configuração incorreta;

um comportamento esperado interpretado como erro;

uma falha difícil de reproduzir;

ou um problema que precisa de mais informações antes de qualquer investigação.

Para os mantenedores, cada novo relato pode exigir várias etapas manuais. É preciso entender o contexto, reproduzir o problema, analisar o código, verificar testes e documentação e, em alguns casos, criar uma correção.

Quando esse processo se acumula, o backlog cresce rapidamente.

No caso do Astro, a Cloudflare decidiu testar se agentes de IA poderiam assumir parte desse trabalho repetitivo sem permitir que um único agente tivesse controle completo sobre todo o ciclo de correção.

A resposta foi dividir o processo em tarefas menores.

Como funciona a triagem automatizada de bugs

O fluxo foi implementado como uma máquina de estados baseada em labels do GitHub.

Quando uma nova issue precisa ser analisada, ela entra no processo de triagem. A partir desse ponto, diferentes agentes assumem etapas específicas da investigação.

Cada agente possui uma responsabilidade limitada.

Em vez de compartilhar todo o contexto e permitir que os agentes alterem livremente o trabalho uns dos outros, as informações são transmitidas por meio de um relatório compartilhado.

Esse modelo reduz a complexidade de cada etapa e facilita a auditoria do processo.

O fluxo principal é dividido em quatro agentes.

Etapa

Função do agente

Resultado esperado

Reprodução

Verificar se o problema realmente ocorre

Instruções e evidências de reprodução

Diagnóstico

Investigar a causa do comportamento

Análise técnica da possível causa raiz

Verificação

Conferir testes, documentação e contexto

Relatório de validação

Correção

Criar um teste e propor a solução

Patch e versão de prévia para validação

Arraste para o lado para ver toda a tabela.

Essa separação é um dos pontos mais importantes do sistema.

O agente responsável por reproduzir o bug não precisa decidir como corrigir o código. Da mesma forma, o agente de correção recebe um contexto construído pelas etapas anteriores.

O primeiro agente tenta reproduzir o problema

A reprodução é uma das etapas mais importantes da triagem.

Antes de investigar uma possível falha no código, é necessário confirmar que o comportamento descrito pelo usuário realmente acontece.

O agente de reprodução recebe a issue e tenta criar um cenário capaz de demonstrar o problema.

Se não conseguir reproduzir a falha, o processo pode evitar que os mantenedores invistam tempo em um problema inexistente ou insuficientemente documentado.

Essa etapa também produz informações que podem ser utilizadas pelos agentes seguintes.

Em vez de cada agente começar a investigação do zero, o resultado da reprodução passa a fazer parte do contexto compartilhado do workflow.

O diagnóstico busca a causa do bug

Depois que o problema é reproduzido, o próximo objetivo é entender por que ele acontece.

O agente de diagnóstico pode analisar o código e instrumentar partes da aplicação para localizar a possível origem do comportamento.

Essa etapa é diferente de simplesmente pedir a um modelo de IA para “corrigir a issue”.

O objetivo inicial é produzir uma hipótese técnica.

Isso ajuda a separar duas tarefas que normalmente são misturadas em fluxos mais simples de agentes:

descobrir o problema;

decidir como resolvê-lo.

Essa separação também facilita a revisão posterior. Um mantenedor pode analisar a explicação da causa antes mesmo de avaliar a correção proposta.

A verificação analisa testes e documentação

Depois do diagnóstico, outro agente verifica informações adicionais antes que uma alteração seja proposta.

Essa etapa pode incluir a análise de:

testes existentes;

documentação;

comentários no código;

comportamentos já definidos pelo projeto.

Esse ponto é especialmente importante porque nem toda mudança de comportamento representa um bug.

Em projetos grandes, muitas regras não estão concentradas em um único arquivo. Parte do conhecimento pode estar em testes, comentários ou decisões anteriores documentadas no repositório.

O agente de verificação ajuda a reunir esse contexto antes da etapa de correção.

O agente de correção transforma o problema em teste

A última etapa é responsável por transformar a reprodução do bug em um teste e propor uma correção.

A ideia é que o sistema não apenas altere o código para resolver o problema atual.

A correção deve ser acompanhada por um teste capaz de evitar que o mesmo comportamento volte a ocorrer no futuro.

Esse é um ponto importante para o uso de IA no desenvolvimento.

Um agente pode gerar uma alteração que parece resolver uma issue, mas sem um teste adequado a equipe não tem uma garantia clara de que a correção continuará funcionando depois de mudanças futuras.

Por isso, o fluxo conecta diretamente a reprodução do problema à criação de um teste.

A validação humana continua antes do pull request

Apesar do alto nível de automação, o processo não entrega a decisão final aos agentes.

Quando uma correção é proposta, o sistema cria uma preview release para que o responsável pelo relato possa validar se o problema foi realmente resolvido.

Somente depois dessa validação humana o fluxo pode avançar para a abertura de um pull request.

Esse detalhe diferencia o modelo de um sistema completamente autônomo.

A IA acelera a investigação, reduz o trabalho repetitivo e pode preparar uma possível solução, mas a confirmação do comportamento continua envolvendo pessoas.

Na prática, o processo cria uma camada adicional de segurança.

O agente pode concluir que encontrou uma solução correta com base em testes e análise de código. No entanto, o usuário que relatou o problema pode ter um contexto específico que não foi totalmente reproduzido no ambiente automatizado.

A validação ajuda a reduzir esse risco.

O que o sistema revelou sobre a manutenibilidade do código

Um dos aprendizados mais interessantes do experimento não está apenas na redução do backlog.

Os agentes também expuseram problemas relacionados à manutenção do próprio código.

Em um caso envolvendo HMR, o agente realizou várias alterações sucessivas porque o comportamento esperado não estava suficientemente claro.

A ausência de testes e contexto fez com que o sistema tentasse diferentes caminhos.

Segundo o relato da Cloudflare, adicionar uma explicação descritiva ao código ajudou a corrigir esse comportamento.

A lição é relevante para qualquer equipe que esteja começando a utilizar agentes de IA.

Código escrito apenas para ser compreendido por humanos pode não fornecer contexto suficiente para sistemas automatizados.

Isso não significa escrever comentários para modelos de IA em todos os arquivos. O ponto é que código, testes e documentação continuam sendo parte do contexto utilizado para tomar decisões.

Quanto melhor definido estiver o comportamento esperado, menor será a chance de um agente interpretar incorretamente uma tarefa.

Da triagem do Astro para ferramentas reutilizáveis

O trabalho desenvolvido para o Astro não ficou limitado ao projeto.

A abordagem foi disponibilizada como a triagebot-action, permitindo que outros projetos utilizem uma estrutura semelhante para automatizar partes do processo de triagem.

A experiência também contribuiu para a evolução do Flue, um framework voltado para workflows duráveis.

Nesse modelo, o fluxo é definido de forma declarativa e o estado das execuções é registrado em um log de eventos append-only.

Isso permite que execuções interrompidas possam ser retomadas sem que todo o trabalho precise começar novamente.

Para sistemas baseados em agentes, essa característica pode ser especialmente importante.

Uma investigação complexa pode envolver várias etapas, chamadas de ferramentas e processos que levam tempo. Se o workflow depender apenas do estado temporário de uma execução, qualquer interrupção pode representar perda de contexto.

Persistir os eventos permite tratar o agente como parte de um processo mais confiável e observável.

Por que dividir agentes pode ser melhor do que usar um único agente

O experimento também reforça uma tendência importante na construção de sistemas agentic.

Um único agente responsável por receber uma issue, investigar, modificar o código, executar testes e abrir um pull request pode parecer mais simples inicialmente.

Mas esse modelo concentra muitas responsabilidades em um único processo.

Ao dividir o trabalho, cada agente pode ter:

um objetivo específico;

um contexto mais limitado;

permissões mais controladas;

critérios claros de conclusão;

uma saída estruturada para a próxima etapa.

Essa arquitetura facilita a criação de pontos de controle.

Também torna mais fácil identificar onde ocorreu uma falha.

Se o problema está na reprodução, não é necessário reiniciar todo o processo de correção. Se o diagnóstico estiver incorreto, a equipe pode revisar apenas aquela etapa.

O que outros projetos open source podem aprender com o Astro

O principal aprendizado não é simplesmente que agentes de IA conseguem reduzir o número de issues abertas.

O resultado mostra que a automação funciona melhor quando está integrada a um processo bem definido.

Para projetos que desejam experimentar agentes de IA na manutenção, alguns princípios se destacam:

  1. Divida tarefas complexas em etapas menores

Reprodução, diagnóstico, validação e correção são problemas diferentes. Separar essas responsabilidades reduz a complexidade de cada agente.

  1. Limite o contexto e as permissões

Nem todo agente precisa ter acesso para modificar o código ou tomar decisões sobre publicação.

  1. Preserve evidências entre as etapas

Relatórios estruturados permitem que outros agentes e revisores humanos entendam como uma conclusão foi alcançada.

  1. Transforme correções em testes

Uma correção sem cobertura adequada pode resolver o problema atual e criar novos riscos no futuro.

  1. Mantenha pontos de aprovação humana

A automação pode acelerar o processo, mas usuários e mantenedores ainda possuem conhecimento contextual que não está disponível para o agente.

O impacto para o futuro da manutenção de software

A experiência do Astro mostra um caminho mais pragmático para o uso de agentes de IA no desenvolvimento.

Em vez de imaginar um agente completamente autônomo responsável por manter um projeto inteiro, o modelo distribui responsabilidades entre processos menores e cria checkpoints humanos nos momentos mais importantes.

Isso pode ser especialmente útil em projetos open source, onde mantenedores frequentemente precisam lidar com um grande volume de trabalho repetitivo.

A IA pode assumir tarefas como reproduzir bugs, analisar logs, investigar possíveis causas e preparar testes. Os humanos continuam responsáveis por validar decisões, interpretar situações mais complexas e definir o comportamento esperado do software.

O resultado é um modelo em que os agentes não substituem o processo de engenharia.

Eles passam a fazer parte dele.

A principal lição do caso do Astro é que agentes de IA podem ser mais eficientes quando recebem limites claros, responsabilidades específicas e mecanismos de validação. Para equipes que estudam como aplicar IA na manutenção de software, esse pode ser um caminho mais confiável do que simplesmente conceder autonomia total a um único agente.

D

· Editor-chefe

Especialista em tecnologia, criador de conteúdo e fundador do portal Mercado de TI e Casa do Dev. Analiso tendências de mercado, Inteligência Artificial e carreira, entregando informações precisas, tr...

LinkedIn Site

COMPARTILHAR