GitHub va llançar el sistema d'aprenentatge automàtic Copilot que genera codi

GitHub va anunciar la finalització de les proves de l'assistent intel·ligent GitHub Copilot, capaç de generar construccions estàndard en escriure codi. El sistema es va desenvolupar conjuntament amb el projecte OpenAI i utilitza la plataforma d'aprenentatge automàtic OpenAI Codex, entrenada en una gran varietat de codis font allotjats en repositoris públics de GitHub. El servei és gratuït per als mantenedors de projectes i estudiants populars de codi obert. Per a altres categories d'usuaris, l'accés a GitHub Copilot és de pagament (10 dòlars al mes o 100 dòlars a l'any), però es proporciona accés de prova gratuït durant 60 dies.

La generació de codi és compatible amb els llenguatges de programació Python, JavaScript, TypeScript, Ruby, Go, C# i C++ mitjançant diversos frameworks. Hi ha mòduls disponibles per integrar GitHub Copilot amb entorns de desenvolupament Neovim, JetBrains IDE, Visual Studio i Visual Studio Code. A jutjar per la telemetria recollida durant les proves, el servei permet generar codi de qualitat bastant alta; per exemple, el 26% de les recomanacions proposades a GitHub Copilot van ser acceptades pels desenvolupadors tal qual.

GitHub Copilot es diferencia dels sistemes tradicionals de completació de codi en la seva capacitat per generar blocs de codi bastant complexos, fins a funcions ja fetes sintetitzades tenint en compte el context actual. GitHub Copilot s'adapta a la manera com el desenvolupador escriu el codi i té en compte les API i els marcs utilitzats al programa. Per exemple, si hi ha un exemple d'estructura JSON en un comentari, quan comenceu a escriure una funció per analitzar aquesta estructura, GitHub Copilot us oferirà codi ja preparat i, en escriure llistes rutinàries de descripcions repetides, generarà la resta. posicions.

GitHub va llançar el sistema d'aprenentatge automàtic Copilot que genera codi

La capacitat de GitHub Copilot per generar blocs de codi ja fets ha generat controvèrsies relacionades amb possibles violacions de llicències copyleft. Quan es va formar el model d'aprenentatge automàtic, es van utilitzar textos d'origen real dels dipòsits de projectes de codi obert situats a GitHub. Molts d'aquests projectes es proporcionen sota llicències copyleft, com ara la GPL, que requereixen que el codi de les obres derivades es distribueixi sota una llicència compatible. En inserir el codi existent tal com suggereix Copilot, els desenvolupadors poden violar sense voler la llicència del projecte del qual s'ha manllevat el codi.

Encara no està clar si el treball generat per un sistema d'aprenentatge automàtic es pot considerar derivat. També sorgeixen preguntes sobre si un model d'aprenentatge automàtic està subjecte a drets d'autor i, en cas afirmatiu, qui és el propietari d'aquests drets i com es relacionen amb els drets del codi en què es basa el model.

D'una banda, els blocs generats poden repetir passatges de text de projectes existents, però d'altra banda, el sistema recrea l'estructura del codi en lloc de copiar el codi en si. Segons un estudi de GitHub, només l'1% de les vegades una recomanació de Copilot podria incloure fragments de codi de projectes existents que tinguin més de 150 caràcters. En la majoria de les situacions, les repeticions es produeixen quan Copilot no pot determinar correctament el context o ofereix solucions estàndard a un problema.

Per evitar la substitució del codi existent, s'ha afegit un filtre especial a Copilot que no permet interseccions amb projectes existents. Quan es configura, el desenvolupador pot activar o desactivar aquest filtre a la seva discreció. Entre altres problemes, hi ha la possibilitat que el codi sintetitzat pugui repetir errors i vulnerabilitats presents en el codi utilitzat per entrenar el model.

Font: opennet.ru

Afegeix comentari