Início Tecnologia O próximo grande salto na codificação de CI é o código-base

O próximo grande salto na codificação de CI é o código-base

20
0

Desde o seu lançamento em 2021, o GitHub Copilot remodelou o desenvolvimento de software, com pesquisas mostrando adoção generalizada e melhorias percebidas na qualidade do código. Um estudo de Github e Accenture relataram uma taxa de adoção de 80%mas o sucesso foi medido por desenvolvedores que aceitavam as sugestões da Copilot, em vez de ganhos objetivos de eficiência.

Desenvolvedores de todo o espectro estão relatando um aumento de produtividade pessoal, mas, na realidade, os benefícios para os aplicativos corporativos podem ser exagerados –Uma análise do Uplevel encontrou melhorias mínimas de eficiência Mas um aumento de 41% nos insetos, levantando preocupações além de apenas reduzir os tempos de codificação manual. A realidade é que muitos dos ganhos de eficiência percebidos do uso de copiloto se concentram nos ganhos de curto prazo. Isso representa um problema muito maior do que o inconveniente de escrever um código de caldeira manualmente. O que os desenvolvedores estão aprendendo é que a geração de código de IA ainda está muito no Fase de P&D.

Mesmo quando a geração de código movida a IA economiza tempo para os desenvolvedores, esse tempo é frequentemente recuperado durante as análises de código, manutenção contínua e resposta a incidentes. É por isso que a geração de código pós, a codificação de IA é uma ferramenta poderosa para equilibrar essa sobrecarga, além de melhorar o processo de longo prazo para as equipes.

Vamos explorar onde e por que o código da IA ​​Gen está ficando aquém e o que é necessário para ajudar os desenvolvedores a aproveitar o código e as revisões geradas pela IA.

A chave está em retrospectiva

A saída da Copilot é restringida pelo contexto que possui. Como resultado, o código gerado pela IA geralmente falha em executar efetivamente em projetos multi-repetidos e múltiplos. Embora os copilotes e agentes da IA ​​possam acelerar a geração de códigos, a produtividade geral ainda é prejudicada por outros processos críticos de desenvolvimento, como revisões de código, teste, integração, construção, implantação, etc. **

A Copilot agora considera não apenas o documento em que você está trabalhando, mas também outras guias abertas no seu IDE. No entanto, isso permanece muito aquém do contexto completo necessário para lidar com sistemas que abrangem vários repositórios, ambientes em nuvem e possivelmente até diferentes horários de execução – a janela de contexto é simplesmente ineficaz. **

Uma grande limitação é a falta de dados de impacto a jusante no processo de geração de código. Ao construir meu agente de revisão de código da AI, testando com o Opengelemetria, estou apostando em logs de CI/CD e rastreamento para melhorar a visibilidade e ajudar os agentes a entender melhor os detalhes da implementação diferenciados.

Apostando em logs e rastreamento de CI/CD para melhorar a visibilidade e ajudar os agentes a entender melhor os detalhes da implementação diferenciados.

Sem esse tipo de consciência contextual granular, os agentes de codificação de IA não serão capazes de prever corretamente como o novo código se integrará totalmente aos sistemas existentes, geralmente produzindo sugestões que desalinham com os requisitos mais amplos do projeto.

A janela de contexto para copilot é restrita ao que está diretamente na frente ou atrás do cursor e, potencialmente, outros documentos abertos no IDE. Ao gerar código, a Copilot depende principalmente do treinamento de seu grande modelo de idioma em padrões gerais de programação, não convenções específicas de projeto. Embora isso torne a ferramenta flexível, muitas vezes ignora elementos críticos específicos do projeto, como convenções de nomeação, padrões arquitetônicos ou dependências entre os componentes espalhados por vários repositórios.

A menos que sua ferramenta de IA seja altamente personalizada e profundamente integrada ao seu projeto (um empreendimento intensivo em recursos para a maioria das equipes), ela não pode manter conhecimento sobre o histórico, a evolução ou as confirmações anteriores do projeto. Isso pode levar a sugestões de código inconsistentes ou desalinhadas, que são caras para corrigir posteriormente.

Quando o código gerado pela IA acaba na revisão do código

Mencionei que, enquanto o tempo economizado em código gerado agora é frequentemente gasto na revisão. Sugestões que não se alinham ao risco de arquitetura do projeto Introduzir inconsistências, que os revisores devem descobrir e resolver manualmente. O código que parece inicialmente funcional geralmente resulta em dívida técnica ou bugs ocultos, aumentando a carga de trabalho para os revisores – ou pior, causando falhas de produção que devem ser fixadas sob a pressão do tempo de inatividade.

Assim como os assistentes de IA não têm a capacidade de contabilizar dependências multi-repositivas, as ferramentas de revisão de código geralmente não fornecem uma visão em todo o projeto. Essas limitações aumentam as cargas de trabalho para os revisores, que não têm maneiras eficientes de identificar mudanças, identificar dependências ou avaliar os impactos mais amplos das modificações de código.

A rápida adoção das ferramentas de IA superou o desenvolvimento de estruturas para garantir a qualidade do código. Até que ferramentas mais sofisticadas se tornem padrão, o aumento da dívida técnica, problemas de produção e bugs provavelmente continuará. Isso pressiona as equipes de desenvolvimento, que devem equilibrar implantações mais rápidas com o controle intensificado da qualidade.

Uma nova geração de revisores de código de IA

As boas notícias? Uma nova geração de assistentes de código de IA está surgindo – mas os engenheiros devem entender os prós e os contras para tirar o máximo proveito deles.

Revisão do código da Baz AI

O BAZ se concentra nas revisões automatizadas de solicitação de tração (PR) com sugestões orientadas a IA e fornece feedback em tempo real sobre a qualidade do código e as melhores práticas. Ao alavancar modelos e incorporações especializadas, o BAZ gera sugestões de revisão de código que cobrem o impacto da API e a análise do fundo a jusante. Ele se integra ao GitHub e tem uma experiência independente com uma funcionalidade de bate -papo de copiloto. É uma plataforma forte para bases de código complexas, multi-repo e multi-idiomas.

Nesse momento, o BAZ está totalmente focado no ciclo de revisão de código, por isso tem ferramentas limitadas como uma geração de IDE ou código no início do ciclo de desenvolvimento. Divulgação completa, este é o meu produto de revisão de código de IA que foi lançado em janeiro.

Coderabbit

O coderabbit também se concentra hiper-focado em análises de AI PR, oferecendo explicações de código e sugestões de melhoria em áreas como legibilidade, segurança e eficiência. É particularmente útil para equipes pequenas e médias que desejam otimizar seus processos de revisão. No entanto, possui personalização limitada para critérios avançados de revisão de IA e não é tão abrangente quanto outros quando se trata de pesquisa e análise de código. Os desenvolvedores compartilharam feedback de que suas sugestões geradas pela IA podem às vezes ser redundantes ou desalinhadas com as convenções de codificação de uma equipe. Também é gratuito para projetos de código aberto.

Grafite

A grafite foi projetada para aprimorar os fluxos de trabalho dos desenvolvedores, permitindo o PRS incremental rápido e os PRs empilhados, ajudando a manter um histórico mais limpo do Git. Ele também inclui resumos de alteração de código assistidos pela AI, facilitando as equipes de revisar as atualizações com eficiência. Embora a grafite seja excelente para o gerenciamento do fluxo de trabalho, seu foco principal não foi uma análise de código profunda de IA e requer adoção da plataforma, que inclui uma curva de aprendizado para as equipes não familiarizadas com os diferenciais empilhados.

OriDGRAPH

O SourceGraph é conhecido por sua poderosa ferramenta de busca e inteligência de código, particularmente adequada para bases de código grandes. Nos anúncios recentes, eles discutem como o Cody, seu agente de codificação permite análises profundas entre os repositórios e as tendências históricas do código, tornando -o um recurso valioso para os desenvolvedores que precisam de recursos avançados de pesquisa. Ele também apresenta explicações de preenchimento automático e código de código. Sua configuração e indexação podem criar despesas gerais para organizações maiores e, embora se destaque na exploração de código, ela é menos focada nas revisões automatizadas de relações públicas.

Conclusão: revisão do código da AI precisa de contexto de base de código

O rastreamento e a observabilidade são multiplicadores de produtividade para revisões de código, permitindo que os desenvolvedores entendam melhor ambientes complexos, multi-repetidos e multi-idiomas. A visibilidade cruzada e entre a língua cruzada deve ser a linha de base para projetos em larga escala-não negociáveis ​​para as aplicações distribuídas de hoje. As ferramentas que priorizam esses recursos redefinirão a geração de códigos e revisarão os fluxos de trabalho, permitindo que a IA produza código verdadeiramente consciente do contexto, adaptado aos ambientes modernos de software.

fonte