GitHub har annonceret, at de har afsluttet testen af deres intelligente assistent, GitHub Copilot, som kan generere generiske builds, mens de skriver kode. Systemet blev udviklet i samarbejde med OpenAI-projektet og bruger maskinlæringsplatformen OpenAI Codex, der er trænet på en bred vifte af kildekode, der hostes i offentlige GitHub-arkiver.
Kodegenerering understøtter Python, JavaScript, TypeScript, Ruby, Go, C# og C++ ved hjælp af forskellige frameworks. Moduler er tilgængelige til at integrere GitHub Copilot med Neovim, JetBrains IDE, Visual Studio og Visual Studio Code.
Ud fra den telemetri, der indsamles under testprocessen, muliggør tjenesten generering af kode af tilstrækkelig høj kvalitet ; for eksempel accepterede udviklere 26% af anbefalingerne i GitHub Copilot, som de er.
GitHub Copilot adskiller sig fra traditionelle kodefærdiggørelsessystemer ved sin evne til at danne ret komplekse kodeblokke, helt op til syntetiserede, brugsklare funktioner, der tager højde for den aktuelle kontekst.
GitHub Copilot tilpasser sig den måde, en udvikler skriver kode på , og tager højde for de API'er og frameworks, der bruges i programmet. Hvis der for eksempel er en JSON-eksempelstruktur i kommentaren, vil GitHub Copilot, når du begynder at skrive en funktion til at parse denne struktur, tilbyde kode, der er klar til brug, og ved at skrive rutinemæssige optællinger af gentagne beskrivelser vil den danne resten.
I et blogindlæg skrev GitHubs administrerende direktør, Thomas Dohmke, at GitHub Copilot var designet som en udvidelse af editoren for at sikre, at intet kommer i vejen for, hvad udviklerne laver.
"GitHub Copilot destillerer den kollektive viden fra udviklere over hele verden til en editor-udvidelse, der foreslår kode i realtid, for at hjælpe dig med at holde fokus på det, der betyder mest: at bygge fantastisk software," forklarede han.
Ifølge Dohmke har omkring 1,2 millioner udviklere prøvet Copilot under preview-fasen. Det har tilsyneladende også været ret nyttigt, da Dohmke hævder, at han har skrevet op til 40% af udviklerkoden skrevet på populære sprog som Python.
"Ligesom fremkomsten af compilere og open source, tror vi, at AI-assisteret kodning fundamentalt vil ændre karakteren af softwareudvikling, hvilket giver udviklere et nyt værktøj til at skrive kode nemmere og hurtigere," sagde Dohmke. .
GitHub Copilots evne til at generere præbyggede kodeblokke har skabt kontroverser om mulig krænkelse af copyleft-licensen. Ved dannelsen af maskinlæringsmodellen blev der brugt rigtige kildetekster fra åbne projektlagre hostet på GitHub.
Mange af disse projekter leveres under copyleft-licenser, såsom GPL, som kræver, at koden i afledte værker leveres under en kompatibel licens. Hvis Copilot indsætter eksisterende kode, kan udviklere utilsigtet overtræde licensen til det projekt, hvorfra koden blev lånt.
Det er stadig uklart, om arbejde genereret af et maskinlæringssystem kan betragtes som et afledt produkt . Der opstår også spørgsmål om, hvorvidt en maskinlæringsmodel er underlagt ophavsret, og i så fald hvem der ejer disse rettigheder, og hvordan de forholder sig til rettighederne til den kode, som modellen er bygget på.
På den ene side kan de genererede blokke gentage tekstpassager fra eksisterende projekter, men på den anden side genskaber systemet kodestrukturen og kopierer ikke selve koden.
Ifølge en GitHub-undersøgelse indeholder kun 1% af de anbefalinger, som Copilot foreslår, kodestykker fra eksisterende projekter, der er længere end 150 tegn. I de fleste tilfælde forekommer denne gentagelse, når Copilot ikke formår at bestemme konteksten korrekt eller giver generiske løsninger på et problem.
For at undgå at erstatte eksisterende kode er der tilføjet et særligt filter til Copilot, som ikke tillader overlapning med eksisterende projekter. Ved konfigurationen kan udvikleren slå dette filter til eller fra efter eget skøn. Blandt andre problemer bemærkes muligheden for, at den syntetiserede kode kunne gentage de fejl og sårbarheder, der findes i den kode, der blev brugt til at træne modellen.
Til sidst er det værd at nævne, at tjenesten er gratis for vedligeholdere af populære open source-projekter og for studerende. Mens der for andre kategorier af brugere betales adgang til GitHub Copilot ($10 pr. måned eller $100 pr. år), men gratis prøveadgang gives i 60 dage.
Endelig, hvis du er interesseret i at lære mere, kan du finde detaljerne på følgende link.