GitHub lanzou o sistema de aprendizaxe automática Copilot que xera código

GitHub anunciou a finalización das probas do asistente intelixente GitHub Copilot, capaz de xerar construcións estándar ao escribir código. O sistema desenvolveuse conxuntamente co proxecto OpenAI e utiliza a plataforma de aprendizaxe automática OpenAI Codex, adestrada nunha gran variedade de códigos fonte aloxados en repositorios públicos de GitHub. O servizo é gratuíto para os mantedores de proxectos populares e estudantes de código aberto. Para outras categorías de usuarios, o acceso a GitHub Copilot é de pago (10 dólares ao mes ou 100 dólares ao ano), pero ofrécese acceso de proba gratuíto durante 60 días.

A xeración de código é compatible coas linguaxes de programación Python, JavaScript, TypeScript, Ruby, Go, C# e C++ usando varios frameworks. Hai módulos dispoñibles para integrar GitHub Copilot con entornos de desenvolvemento Neovim, JetBrains IDE, Visual Studio e Visual Studio Code. A xulgar pola telemetría recollida durante as probas, o servizo permítelle xerar código de bastante alta calidade; por exemplo, o 26% das recomendacións propostas en GitHub Copilot foron aceptadas polos desenvolvedores tal e como están.

GitHub Copilot diferénciase dos sistemas tradicionais de completación de código na súa capacidade para xerar bloques de código bastante complexos, ata funcións preparadas sintetizadas tendo en conta o contexto actual. GitHub Copilot adáptase á forma en que o programador escribe código e ten en conta as API e os frameworks utilizados no programa. Por exemplo, se hai un exemplo dunha estrutura JSON nun comentario, cando comeces a escribir unha función para analizar esta estrutura, GitHub Copilot ofrecerá código preparado e, ao escribir listas de rutinas de descricións repetidas, xerará o resto. posicións.

GitHub lanzou o sistema de aprendizaxe automática Copilot que xera código

A capacidade de GitHub Copilot para xerar bloques de código preparados provocou controversias relacionadas coas posibles violacións das licenzas copyleft. Ao formar o modelo de aprendizaxe automática, utilizáronse textos fonte reais de repositorios de proxectos de código aberto situados en GitHub. Moitos destes proxectos ofrécense baixo licenzas copyleft, como a GPL, que requiren que o código das obras derivadas se distribúa baixo unha licenza compatible. Ao inserir o código existente tal e como suxeriu Copilot, os desenvolvedores poden violar sen querer a licenza do proxecto do que se tomou prestado o código.

Aínda non está claro se o traballo xerado por un sistema de aprendizaxe automática pode considerarse derivado. Tamén xorden preguntas sobre se un modelo de aprendizaxe automática está suxeito a dereitos de autor e, de ser así, quen é o propietario destes dereitos e como se relacionan cos dereitos do código no que se basea o modelo.

Por unha banda, os bloques xerados poden repetir pasaxes de texto de proxectos existentes, pero, por outra banda, o sistema recrea a estrutura do código en lugar de copiar o propio código. Segundo un estudo de GitHub, só o 1 % das veces unha recomendación de Copilot pode incluír fragmentos de código de proxectos existentes que teñan máis de 150 caracteres. Na maioría das situacións, as repeticións ocorren cando Copilot non pode determinar correctamente o contexto ou ofrece solucións estándar a un problema.

Para evitar a substitución do código existente, engadiuse a Copilot un filtro especial que non permite interseccións con proxectos existentes. Ao configurar, o programador pode activar ou desactivar este filtro segundo o seu criterio. Entre outros problemas, existe a posibilidade de que o código sintetizado repita erros e vulnerabilidades presentes no código utilizado para adestrar o modelo.

Fonte: opennet.ru

Engadir un comentario