GitHub lanzó el sistema de aprendizaje automático Copilot que genera código

GitHub anunció la finalización de las pruebas del asistente inteligente GitHub Copilot, capaz de generar construcciones estándar al escribir código. El sistema fue desarrollado conjuntamente con el proyecto OpenAI y utiliza la plataforma de aprendizaje automático OpenAI Codex, entrenada en una gran variedad de códigos fuente alojados en repositorios públicos de GitHub. El servicio es gratuito para los mantenedores de proyectos populares de código abierto y para estudiantes. Para otras categorías de usuarios, el acceso a GitHub Copilot se paga ($10 por mes o $100 por año), pero se proporciona acceso de prueba gratuito durante 60 días.

La generación de código se admite en los lenguajes de programación Python, JavaScript, TypeScript, Ruby, Go, C# y C++ utilizando varios frameworks. Hay módulos disponibles para integrar GitHub Copilot con los entornos de desarrollo Neovim, JetBrains IDE, Visual Studio y Visual Studio Code. A juzgar por la telemetría recopilada durante las pruebas, el servicio le permite generar código de bastante alta calidad; por ejemplo, el 26% de las recomendaciones propuestas en GitHub Copilot fueron aceptadas por los desarrolladores tal como están.

GitHub Copilot se diferencia de los sistemas tradicionales de finalización de código en su capacidad para generar bloques de código bastante complejos, hasta funciones listas para usar sintetizadas teniendo en cuenta el contexto actual. GitHub Copilot se adapta a la forma en que el desarrollador escribe código y tiene en cuenta las API y los marcos utilizados en el programa. Por ejemplo, si hay un ejemplo de una estructura JSON en un comentario, cuando comience a escribir una función para analizar esta estructura, GitHub Copilot ofrecerá código listo para usar y, cuando escriba listados de rutina de descripciones repetidas, generará el resto. posiciones.

GitHub lanzó el sistema de aprendizaje automático Copilot que genera código

La capacidad de GitHub Copilot para generar bloques de código ya preparados ha generado controversia relacionada con posibles violaciones de las licencias copyleft. Al formar el modelo de aprendizaje automático, se utilizaron textos fuente reales de repositorios de proyectos de código abierto ubicados en GitHub. Muchos de estos proyectos se proporcionan bajo licencias copyleft, como la GPL, que requiere que el código de las obras derivadas se distribuya bajo una licencia compatible. Al insertar código existente como sugiere Copilot, los desarrolladores pueden violar sin saberlo la licencia del proyecto del que se tomó prestado el código.

Aún no está claro si el trabajo generado por un sistema de aprendizaje automático puede considerarse derivado. También surgen preguntas sobre si un modelo de aprendizaje automático está sujeto a derechos de autor y, de ser así, quién posee estos derechos y cómo se relacionan con los derechos del código en el que se basa el modelo.

Por un lado, los bloques generados pueden repetir pasajes de texto de proyectos existentes, pero por otro lado, el sistema recrea la estructura del código en lugar de copiar el código en sí. Según un estudio de GitHub, solo el 1% de las veces una recomendación de Copilot puede incluir fragmentos de código de proyectos existentes que tengan más de 150 caracteres. En la mayoría de las situaciones, las repeticiones ocurren cuando Copilot no puede determinar correctamente el contexto u ofrece soluciones estándar a un problema.

Para evitar la sustitución del código existente, se ha agregado un filtro especial a Copilot que no permite intersecciones con proyectos existentes. Al configurar, el desarrollador puede activar o desactivar este filtro a su discreción. Entre otros problemas, existe la posibilidad de que el código sintetizado repita errores y vulnerabilidades presentes en el código utilizado para entrenar el modelo.

Fuente: opennet.ru

Añadir un comentario