GitHub je pokrenuo sustav strojnog učenja Copilot koji generira kod

GitHub je najavio završetak testiranja inteligentnog asistenta GitHub Copilot, sposobnog generirati standardne konstrukcije prilikom pisanja koda. Sustav je razvijen zajedno s projektom OpenAI i koristi OpenAI Codex platformu za strojno učenje, obučenu na velikom nizu izvornih kodova koji se nalaze u javnim GitHub repozitorijima. Usluga je besplatna za održavatelje popularnih open source projekata i studente. Za ostale kategorije korisnika pristup GitHub Copilot-u se plaća (10$ mjesečno ili 100$ godišnje), ali je omogućen besplatni probni pristup u trajanju od 60 dana.

Generiranje koda podržano je u programskim jezicima Python, JavaScript, TypeScript, Ruby, Go, C# i C++ koristeći različite okvire. Dostupni su moduli za integraciju GitHub Copilota s razvojnim okruženjima Neovim, JetBrains IDE, Visual Studio i Visual Studio Code. Sudeći prema telemetriji prikupljenoj tijekom testiranja, usluga vam omogućuje generiranje koda prilično visoke kvalitete - na primjer, 26% preporuka predloženih u GitHub Copilot-u programeri su prihvatili takve kakve jesu.

GitHub Copilot razlikuje se od tradicionalnih sustava za dovršavanje koda po svojoj sposobnosti generiranja prilično složenih blokova koda, do gotovih funkcija sintetiziranih uzimajući u obzir trenutni kontekst. GitHub Copilot prilagođava se načinu na koji programer piše kod i uzima u obzir API-je i okvire koji se koriste u programu. Na primjer, ako postoji primjer JSON strukture u komentaru, kada počnete pisati funkciju za raščlanjivanje ove strukture, GitHub Copilot će ponuditi gotov kod, a kada pišete rutinske popise ponavljajućih opisa, generirat će preostali pozicije.

GitHub je pokrenuo sustav strojnog učenja Copilot koji generira kod

Sposobnost GitHub Copilota da generira gotove blokove koda dovela je do kontroverzi povezanih s mogućim kršenjem licenci za kopiranje. Pri formiranju modela strojnog učenja korišteni su stvarni izvorni tekstovi iz open source repozitorija projekata koji se nalaze na GitHubu. Mnogi od tih projekata dostupni su pod licencama za kopiranje, kao što je GPL, koje zahtijevaju distribuciju koda izvedenih radova pod kompatibilnom licencom. Umetanjem postojećeg koda kako je predložio Copilot, programeri mogu nesvjesno prekršiti licencu projekta iz kojeg je kod posuđen.

Još nije jasno može li se rad koji generira sustav strojnog učenja smatrati izvedenim. Također se postavljaju pitanja podliježe li model strojnog učenja autorskim pravima i, ako jest, tko posjeduje ta prava i kako su povezana s pravima na kod na kojem se model temelji.

S jedne strane, generirani blokovi mogu ponavljati odlomke teksta iz postojećih projekata, ali s druge strane, sustav ponovno stvara strukturu koda umjesto da kopira sam kod. Prema studiji GitHuba, samo 1% vremena preporuka Copilota može uključivati ​​isječke koda iz postojećih projekata koji su duži od 150 znakova. U većini situacija do ponavljanja dolazi kada Copilot ne može točno odrediti kontekst ili nudi standardna rješenja za problem.

Kako bi se spriječila zamjena postojećeg koda, u Copilot je dodan poseban filter koji ne dopušta križanja s postojećim projektima. Prilikom postavljanja, programer može aktivirati ili onemogućiti ovaj filtar prema vlastitom nahođenju. Između ostalih problema, postoji mogućnost da sintetizirani kod može ponoviti pogreške i ranjivosti prisutne u kodu korištenom za obuku modela.

Izvor: opennet.ru

Dodajte komentar