GitHub Copilot | |
---|---|
Type | SaaS |
Udvikler | GitHub , OpenAI |
Operativ system | Microsoft Windows , Linux , macOS , web |
nyeste version | 1.28.6134 |
Test version | 1.28.6136 |
Internet side | copilot.github.com |
GitHub Copilot er et AI - værktøjudviklet i fællesskab afGitHub og OpenAI for at hjælpe brugere af IDE'er som Visual Studio Code , Visual Studio , Neovim og JetBrains med kodefuldførelse [1] . Værktøjet blev først annonceret den 29. juni 2021 og var kun tilgængeligt som forhåndsvisning indtil den 21. juni 2022 . Det er bedst egnet til brugere, der koder i Python , JavaScript , TypeScript , Ruby og Go [2] [3] .
Den 29. juni 2021 annoncerede GitHub GitHub Copilot som en udvidelse i preview til Visual Studio Code [4] [5] .
Den 26. oktober 2021 blev dette værktøj udgivet som et plugin på JetBrains Marketplace [6] .
Den 27. oktober 2021 udgav GitHub GitHub Copilot-pluginet til Neovim som et offentligt lager [7] .
Den 29. marts 2022 blev tilgængeligheden af Copilot til Visual Studio 2022 [8] officielt annonceret .
Den 21. juni var der en officiel meddelelse om Copilots udtræden af den foreløbige test og dens tilgængelighed for alle via et abonnementssystem [9] .
GitHub Copilot drevet af OpenAI Codex, en kunstig intelligens-model skabt af OpenAI , et forskningslaboratorium for kunstig intelligens [10] . OpenAI Codex er en modificeret produktionsversion af den Generative Pre-trained Transformer 3 ( GPT-3 ) sprogmodel, der bruger dyb læring til at skabe menneskelignende tekst [11] . For eksempel, givet et naturligt sprog programmeringsproblem, kan Codex generere kode for at løse det [12] . Den kan også beskrive inputkode på engelsk og oversætte kode mellem programmeringssprog [12] . Codex GPT-3- licensen gives udelukkende til Microsoft , GitHubs moderselskab [13] .
OpenAI Codex i Copilot trænes på udvalgte offentlige GitHub -depoter på engelsk og anden offentlig kildekode [14] . Dette inkluderer et filtreret datasæt på 159 gigabyte Python -kode hentet fra 54 millioner offentlige GitHub -depoter [15] .
Ifølge sin egen hjemmeside indeholder GitHub Copilot hjælpefunktioner til programmører, såsom at konvertere kommentarer til eksekverbar kode og autofuldførelse for kodestykker, gentagne sektioner af kode og hele metoder eller funktioner [14] [16] . GitHub rapporterer, at Copilots autofuldførelsesfunktion er nøjagtig omkring halvdelen af tiden; for eksempel, med en eller anden kode indstillet til en Python -funktionsheader , autofuldførte Copilot korrekt resten af funktionstekstkoden 43 % af tiden ved første forsøg og 57 % af gangene efter ti forsøg [3] .
GitHub hævder, at Copilot-funktioner tillader programmører at navigere i ukendte rammer og sprog, hvilket reducerer mængden af tid brugt på at læse dokumentation [14] .
Siden udgivelsen af Copilot er der begyndt at opstå bekymringer om dens sikkerhed og pædagogiske indvirkning, såvel som kontroverser om licenseringen af den kode, den skaber [17] [18] .
Mens det meste af kodeoutputtet af Copilot kan klassificeres som transformationsarbejde, anerkender GitHub , at en lille del af den blev kopieret ordret, hvilket førte til bekymring over det faktum, at den resulterende kode ikke var tilstrækkeligt konverteret til at blive klassificeret som rimelig brug og kunne krænke den oprindelige ejers ophavsret [2] . Denne kendsgerning efterlader Copilot på et ubekræftet juridisk grundlag, selvom GitHub siger, at "træning af maskinlæringsmodeller på offentlige data betragtes som rimelig brug i maskinlæringsfællesskabet" [17] .
FSF officielle dokumenterDen 28. juli 2021 udgav Free Software Foundation ( FSF ) en finansieret opfordring til hvidbøger om filosofiske og juridiske spørgsmål relateret til Copilot [19] . Donald Robertson , Licensing and Compliance Manager for FSF , udtalte, at " Copilot rejser en masse […] spørgsmål, som skal undersøges mere dybt" [19] . Den 24. februar 2022 meddelte FSF, at de havde modtaget 22 artikler om emnet og udvalgte 5 af dem til at fremhæve gennem en anonym gennemgangsproces [20] .
Accepteret til offentliggørelse af Institute of Electrical and Electronics Engineers '2022 Security and Privacy Symposium, sikkerheden af Copilot-genereret kode blev vurderet for 25 store MITER -kodesårbarheder (f.eks. cross-site scripting, stigennemgang) i 89 forskellige scenarier og 1.689 programmer [21] . Dette blev gjort langs akserne af svaghedsdiversitet (evnen til at reagere på scenarier, der kunne føre til forskellige kodesårbarheder), hintdiversitet (evnen til at reagere på den samme kodesårbarhed med små variationer) og domænediversitet (evnen til at generere register transfer layer hardware specifikationer) i Verilog ) [21] . Undersøgelsen fandt, at på tværs af sprog, langs disse akser, fører 39,33 % af de bedste forslag og 40,73 % af de samlede forslag til skabelsen af sårbarheder i koden. Derudover har det vist sig, at små ikke-semantiske (som kommentarer) ændringer i koden kan påvirke dens sikkerhed [21] .
Et papir udgivet i februar 2022 af Association for Computing Machinery , vurderer virkningen af Codex , teknologien brugt af Github Copilot , til at undervise uerfarne programmører [18] . Undersøgelsen bruger vurderingsspørgsmål fra en indledende programmeringsklasse ved University of Auckland og sammenligner Codex -svar med elevernes præstationer [12] . Forskerne fandt ud af, at Codex i gennemsnit klarede sig bedre end de fleste studerende; dens ydeevne blev dog langsommere på spørgsmål med begrænsede muligheder, der kan bruges i løsningen (f.eks. betingede udsagn , samlinger og loops ) [12] . I betragtning af problemet var "kun 2 ud af 10 [ Codex ] beslutninger korrekte, men begge […] overtrådte de etablerede begrænsninger." Papiret konkluderer, at Codex kan være nyttigt til at give eleverne en række forskellige løsninger, men kan også føre til overmod og plagiat [12] .