Uma maneira realista de usar agentes para análise de base de código legada

Computing/Software3분 읽기

TuBrief 편집팀 원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다. 원본 영상: Parei de usar Grep e meu agente ficou 10x mais rápido · Better Stack

Engenheiros responsáveis por projetos legados de grande escala passam 2 horas todos os dias vasculhando pilhas de código. O método de buscar strings com grep chegou ao seu limite. Mesmo que você queira adotar agentes de IA, a realidade é que não está claro como integrá-los ao fluxo de trabalho. Este artigo aborda procedimentos técnicos concretos para estabelecer agentes não como meros chatbots, mas como ferramentas que aumentam a produtividade no trabalho prático.

Comece removendo o ruído

Se você enviar toda a base de código para o agente, o contexto será poluído. Aprender dados desnecessários leva a respostas erradas e desperdiça custos de tokens. Apenas reduzir o escopo da indexação torna a velocidade de resposta sensivelmente mais rápida.

Aplique as seguintes 3 coisas imediatamente:

  1. Crie um arquivo .cursorignore na raiz do projeto. Exclua incondicionalmente grandes artefatos de build como /dist, /build, /target e node_modules.
  2. Exclua também stubs de Protobuf ou arquivos *.gen.ts gerados automaticamente. Isso pode impedir que o agente gere código que ignore a compatibilidade com versões anteriores.
  3. Use ferramentas de sincronização baseadas em árvores de Merkle. Em vez de reconstruir todo o índice toda vez, atualize apenas o hash dos arquivos modificados para aumentar a velocidade de indexação em mais de 3 vezes.

Rastreie dependências com árvores sintáticas

A busca baseada em texto nunca encontrará relações de herança complexas. Você deve analisar a árvore de sintaxe abstrata (AST) do código com ferramentas como o ast-grep. Incorporar isso no prompt permite consultas muito mais sofisticadas do que uma busca simples.

  1. Defina o padrão sintático do alvo que deseja analisar. Por exemplo, escreva um padrão de função assíncrona faltando tratamento de erro usando a sintaxe do ast-grep.
  2. Envie a ferramenta @codebase e este padrão para o agente. Neste momento, adicione instruções para limitar o escopo apenas às relações de herança entre módulos internos, ignorando bibliotecas externas.
  3. Faça com que o agente gere resultados em diagramas Mermaid. Visualizar fluxos de chamadas complexos pode reduzir o tempo de resolução de problemas em cerca de 40%.

Valide as propostas de modificação com testes

As correções sugeridas pela IA estão metade erradas. Se você fizer o merge diretamente, apenas acumulará dívida técnica. Automatize o ciclo de verificação inserindo a Análise de Impacto de Teste (TIA) no seu pipeline de CI.

  1. Escreva um script que execute apenas os testes relacionados ao código alterado, como o --findRelatedTests do Jest.
  2. Dê instruções ao agente. Se um teste falhar, configure um loop para que ele analise o log de erro e corrija o código por conta própria.
  3. Insira ferramentas como o CodeQL na etapa de CI. Isso filtrará automaticamente vulnerabilidades de segurança que são difíceis de detectar por humanos.

Ao construir esse loop, você pode aumentar drasticamente a precisão da validação de validade sintática. Não há necessidade de descartar todo o seu conjunto de ferramentas existente. O ripgrep ainda é 10 vezes mais rápido que os agentes para buscas simples. Separar funções de acordo com as características da ferramenta é o verdadeiro trabalho de um engenheiro sênior.

관련 영상

Parei de usar Grep e meu agente ficou 10x mais rápido

Better Stack8:06

커뮤니티의 다른 글

댓글

로그인하고 댓글을 남겨 보세요.

아직 댓글이 없습니다.