GitHub käivitab Copilot masinõppesüsteemi, mis genereerib koodi

GitHub teatas intelligentse assistendi GitHub Copiloti testimise lõpuleviimisest, mis suudab koodi kirjutamisel luua standardseid konstruktsioone. Süsteem töötati välja koos OpenAI projektiga ja kasutab OpenAI Codexi masinõppeplatvormi, mis on koolitatud suurel hulgal lähtekoodidel, mida hostitakse avalikes GitHubi hoidlates. Teenus on populaarsete avatud lähtekoodiga projektide hooldajatele ja üliõpilastele tasuta. Teiste kasutajakategooriate jaoks on juurdepääs GitHub Copilotile tasuline (10 dollarit kuus või 100 dollarit aastas), kuid tasuta prooviversioon on saadaval 60 päeva.

Koodi genereerimist toetavad programmeerimiskeeled Python, JavaScript, TypeScript, Ruby, Go, C# ja C++, kasutades erinevaid raamistikke. Saadaval on moodulid GitHub Copiloti integreerimiseks Neovimi, JetBrainsi IDE-de, Visual Studio ja Visual Studio Code arenduskeskkondadega. Testimise käigus kogutud telemeetria põhjal otsustades võimaldab teenus genereerida üsna kvaliteetset koodi - näiteks 26% GitHub Copiloti pakutud soovitustest võtsid arendajad vastu sellisel kujul.

GitHub Copilot erineb traditsioonilistest koodilõpetamissüsteemidest oma võime poolest genereerida üsna keerulisi koodiplokke, kuni hetkekonteksti arvesse võttes sünteesitud valmisfunktsioonideni. GitHub Copilot kohandub sellega, kuidas arendaja koodi kirjutab ning võtab arvesse programmis kasutatavaid API-sid ja raamistikke. Näiteks kui kommentaaris on näide JSON-struktuurist, siis kui hakkate selle struktuuri sõelumiseks funktsiooni kirjutama, pakub GitHub Copilot valmis koodi ja korduvate kirjelduste rutiinsete loendite kirjutamisel genereerib see ülejäänud osa. positsioonid.

GitHub käivitab Copilot masinõppesüsteemi, mis genereerib koodi

GitHub Copiloti võime genereerida valmis koodiplokke on toonud kaasa poleemika, mis on seotud copylefti litsentside võimalike rikkumistega. Masinõppe mudeli koostamisel kasutati GitHubis asuvate avatud lähtekoodiga projektihoidlate päris lähtetekste. Paljud neist projektidest on saadaval copyleft litsentsidega, nagu GPL, mis nõuavad tuletatud teoste koodi levitamist ühilduva litsentsi alusel. Olemasoleva koodi sisestamisel Copiloti soovitusel võivad arendajad tahtmatult rikkuda selle projekti litsentsi, kust kood laenati.

Veel pole selge, kas masinõppesüsteemi loodud tööd saab pidada tuletisteks. Samuti tekib küsimusi, kas masinõppemudelile kehtivad autoriõigused ja kui jah, siis kellele need õigused kuuluvad ja kuidas need on seotud mudeli aluseks oleva koodi õigustega.

Ühest küljest võivad genereeritud plokid korrata tekstilõike olemasolevatest projektidest, kuid teisest küljest loob süsteem koodi struktuuri, mitte ei kopeeri koodi ennast. GitHubi uuringu kohaselt võib Copiloti soovitus sisaldada olemasolevate projektide koodilõike, mis on pikemad kui 1 tähemärki, vaid 150% juhtudest. Enamikul juhtudel esinevad kordused, kui Copilot ei suuda konteksti õigesti määrata või pakub probleemile standardseid lahendusi.

Olemasoleva koodi asendamise vältimiseks on Copiloti lisatud spetsiaalne filter, mis ei võimalda ristumisi olemasolevate projektidega. Seadistamisel saab arendaja selle filtri oma äranägemise järgi aktiveerida või keelata. Muude probleemide hulgas on võimalus, et sünteesitud kood võib korrata vigu ja turvaauke, mis esinevad mudeli koolitamiseks kasutatud koodis.

Allikas: opennet.ru

Lisa kommentaar