GitHub lançou o sistema de aprendizado de máquina Copilot que gera código

O GitHub anunciou a conclusão dos testes do assistente inteligente GitHub Copilot, capaz de gerar construções padrão ao escrever código. O sistema foi desenvolvido em conjunto com o projeto OpenAI e utiliza a plataforma de aprendizado de máquina OpenAI Codex, treinada em uma grande variedade de códigos-fonte hospedados em repositórios públicos do GitHub. O serviço é gratuito para mantenedores de projetos populares de código aberto e estudantes. Para outras categorias de usuários, o acesso ao GitHub Copilot é pago (US$ 10 por mês ou US$ 100 por ano), mas o acesso de teste gratuito é fornecido por 60 dias.

A geração de código é suportada nas linguagens de programação Python, JavaScript, TypeScript, Ruby, Go, C# e C++ usando vários frameworks. Módulos estão disponíveis para integrar GitHub Copilot com ambientes de desenvolvimento Neovim, JetBrains IDEs, Visual Studio e Visual Studio Code. A julgar pela telemetria coletada durante os testes, o serviço permite gerar código de qualidade bastante alta - por exemplo, 26% das recomendações propostas no GitHub Copilot foram aceitas pelos desenvolvedores como estão.

GitHub Copilot difere dos sistemas tradicionais de autocompletar código em sua capacidade de gerar blocos de código bastante complexos, até funções prontas sintetizadas levando em consideração o contexto atual. GitHub Copilot se adapta à forma como o desenvolvedor escreve o código e leva em consideração as APIs e frameworks utilizados no programa. Por exemplo, se houver um exemplo de estrutura JSON em um comentário, quando você começar a escrever uma função para analisar essa estrutura, o GitHub Copilot oferecerá código pronto e, ao escrever listagens de rotina de descrições repetidas, gerará o restante posições.

GitHub lançou o sistema de aprendizado de máquina Copilot que gera código

A capacidade do GitHub Copilot de gerar blocos de código prontos gerou polêmica relacionada a possíveis violações de licenças copyleft. Ao formar o modelo de aprendizado de máquina, foram utilizados textos-fonte reais de repositórios de projetos de código aberto localizados no GitHub. Muitos desses projetos são fornecidos sob licenças copyleft, como a GPL, que exige que o código dos trabalhos derivados seja distribuído sob uma licença compatível. Ao inserir o código existente conforme sugerido pelo Copilot, os desenvolvedores podem violar involuntariamente a licença do projeto do qual o código foi emprestado.

Ainda não está claro se o trabalho gerado por um sistema de aprendizado de máquina pode ser considerado derivado. Também surgem questões sobre se um modelo de aprendizagem automática está sujeito a direitos de autor e, em caso afirmativo, quem detém esses direitos e como se relacionam com os direitos do código no qual o modelo se baseia.

Por um lado, os blocos gerados podem repetir trechos de texto de projetos existentes, mas por outro lado, o sistema recria a estrutura do código em vez de copiar o próprio código. De acordo com um estudo do GitHub, apenas 1% das vezes uma recomendação do Copilot pode incluir trechos de código de projetos existentes com mais de 150 caracteres. Na maioria das situações, as repetições ocorrem quando o Copilot não consegue determinar corretamente o contexto ou oferece soluções padrão para um problema.

Para evitar a substituição do código existente, foi adicionado um filtro especial ao Copilot que não permite interseções com projetos existentes. Ao configurar, o desenvolvedor pode ativar ou desativar este filtro a seu critério. Entre outros problemas, existe a possibilidade de o código sintetizado repetir erros e vulnerabilidades presentes no código utilizado para treinar o modelo.

Fonte: opennet.ru

Adicionar um comentário