GitHub a lansat sistemul de învățare automată Copilot care generează cod

GitHub a anunțat finalizarea testării asistentului inteligent GitHub Copilot, capabil să genereze constructe standard atunci când scrie cod. Sistemul a fost dezvoltat împreună cu proiectul OpenAI și folosește platforma de învățare automată OpenAI Codex, instruită pe o gamă largă de coduri sursă găzduite în depozitele publice GitHub. Serviciul este gratuit pentru menținătorii de proiecte open source populare și pentru studenți. Pentru alte categorii de utilizatori, accesul la GitHub Copilot este plătit (10 USD pe lună sau 100 USD pe an), dar accesul gratuit de probă este oferit timp de 60 de zile.

Generarea de cod este acceptată în limbajele de programare Python, JavaScript, TypeScript, Ruby, Go, C# și C++ folosind diferite cadre. Sunt disponibile module pentru a integra GitHub Copilot cu mediile de dezvoltare Neovim, JetBrains IDE, Visual Studio și Visual Studio Code. Judecând după telemetria colectată în timpul testării, serviciul vă permite să generați cod de o calitate destul de înaltă - de exemplu, 26% dintre recomandările propuse în GitHub Copilot au fost acceptate de dezvoltatori așa cum sunt.

GitHub Copilot se deosebește de sistemele tradiționale de completare a codului prin capacitatea sa de a genera blocuri de cod destul de complexe, până la funcții gata făcute sintetizate ținând cont de contextul actual. GitHub Copilot se adaptează la modul în care dezvoltatorul scrie codul și ia în considerare API-urile și cadrele utilizate în program. De exemplu, dacă există un exemplu de structură JSON într-un comentariu, atunci când începeți să scrieți o funcție pentru a analiza această structură, GitHub Copilot va oferi cod gata făcut, iar când scrieți liste de rutină cu descrieri repetate, va genera restul pozitii.

GitHub a lansat sistemul de învățare automată Copilot care generează cod

Capacitatea GitHub Copilot de a genera blocuri de cod gata făcute a condus la controverse legate de potențialele încălcări ale licențelor copyleft. La formarea modelului de învățare automată, au fost folosite texte sursă reale din depozitele de proiecte open source aflate pe GitHub. Multe dintre aceste proiecte sunt furnizate sub licențe copyleft, cum ar fi GPL, care necesită ca codul lucrărilor derivate să fie distribuit sub o licență compatibilă. Prin inserarea codului existent așa cum este sugerat de Copilot, dezvoltatorii pot încălca fără să vrea licența proiectului de la care a fost împrumutat codul.

Nu este încă clar dacă munca generată de un sistem de învățare automată poate fi considerată derivată. De asemenea, apar întrebări dacă un model de învățare automată este supus dreptului de autor și, dacă da, cine deține aceste drepturi și cum se leagă ele de drepturile asupra codului pe care se bazează modelul.

Pe de o parte, blocurile generate pot repeta pasaje de text din proiectele existente, dar pe de altă parte, sistemul recreează structura codului, mai degrabă decât să copieze codul în sine. Potrivit unui studiu GitHub, doar 1% din timp o recomandare Copilot poate include fragmente de cod din proiecte existente care au mai mult de 150 de caractere. În majoritatea situațiilor, repetările apar atunci când Copilot nu poate determina corect contextul sau oferă soluții standard la o problemă.

Pentru a preveni înlocuirea codului existent, la Copilot a fost adăugat un filtru special care nu permite intersecțiile cu proiectele existente. La configurare, dezvoltatorul poate activa sau dezactiva acest filtru la discreția sa. Printre alte probleme, există posibilitatea ca codul sintetizat să repete erori și vulnerabilități prezente în codul folosit pentru antrenamentul modelului.

Sursa: opennet.ru

Adauga un comentariu