Copilotul GitHub | |
---|---|
Tip de | SaaS |
Dezvoltator | GitHub , OpenAI |
Sistem de operare | Microsoft Windows , Linux , macOS , web |
ultima versiune | 1.28.6134 |
Versiune de testare | 1.28.6136 |
Site-ul web | copilot.github.com |
GitHub Copilot este un instrument AI dezvoltat în comun de GitHub și OpenAI pentru a ajuta utilizatorii de IDE-uri precum Visual Studio Code , Visual Studio , Neovim și JetBrains cu completarea codului [1] . Instrumentul a fost anunțat pentru prima dată pe 29 iunie 2021 și a fost disponibil doar în previzualizare până pe 21 iunie 2022 . Este cel mai potrivit pentru utilizatorii care codifică în Python , JavaScript , TypeScript, Ruby and Go [2] [3] .
Pe 29 iunie 2021, GitHub a anunțat GitHub Copilot ca extensie în previzualizare pentru Visual Studio Code [4] [5] .
Pe 26 octombrie 2021, acest instrument a fost lansat ca plugin pe JetBrains Marketplace [6] .
Pe 27 octombrie 2021, GitHub a lansat pluginul GitHub Copilot pentru Neovim ca depozit public [7] .
Pe 29 martie 2022, a fost anunțată oficial disponibilitatea Copilot pentru Visual Studio 2022 [8] .
Pe 21 iunie a avut loc un anunț oficial despre ieșirea Copilot din testarea preliminară și disponibilitatea sa pentru toată lumea prin intermediul unui sistem de abonament [9] .
GitHub Copilot alimentat de OpenAI Codex, un model de inteligență artificială creat de OpenAI , un laborator de cercetare a inteligenței artificiale [10] . Codexul OpenAI este o versiune de producție modificată a modelului de limbaj Generative Pre-trained Transformer 3 ( GPT-3 ) care folosește învățarea profundă pentru a crea text asemănător omului [11] . De exemplu, având în vedere o problemă de programare în limbaj natural , Codex poate genera cod pentru a o rezolva [12] . De asemenea, poate descrie codul de intrare în engleză și poate traduce codul între limbaje de programare [12] . Licența Codex GPT-3 este acordată exclusiv Microsoft , compania-mamă a GitHub [13] .
OpenAI Codex în Copilot este antrenat pe depozite GitHub publice selectate în engleză și alt cod sursă public [14] . Acesta include un set de date filtrat de 159 gigabytes de cod Python provenit din 54 de milioane de depozite publice GitHub [15] .
Conform propriului site web, GitHub Copilot include funcții de ajutor pentru programatori, cum ar fi conversia comentariilor în cod executabil și completarea automată pentru fragmente de cod, secțiuni repetitive de cod și metode sau funcții întregi [14] [16] . GitHub raportează că caracteristica de completare automată a Copilot este exactă aproximativ jumătate din timp; de exemplu, cu un cod setat la antetul funcției Python , Copilot a completat corect restul codului corpului funcției 43% din timp la prima încercare și 57% din timp după zece încercări [3] .
GitHub susține că funcțiile Copilot permit programatorilor să navigheze în cadre și limbaje nefamiliare, reducând timpul petrecut citind documentația [14] .
De la lansarea lui Copilot , au început să apară îngrijorări cu privire la siguranța și impactul educațional al acestuia, precum și controverse cu privire la acordarea de licențe a codului pe care îl creează [17] [18] .
În timp ce cea mai mare parte a codului scos de Copilot poate fi clasificată ca lucru de transformare, GitHub recunoaște că o mică parte din acesta a fost copiată literal, ceea ce a condus la îngrijorări cu privire la faptul că codul rezultat nu a fost suficient convertit pentru a fi clasificat drept utilizare loială și ar putea încălca drepturile de autor ale proprietarului inițial [2] . Acest fapt îl lasă pe Copilot pe o bază legală neverificată, deși GitHub afirmă că „formarea modelelor de învățare automată pe date publice este considerată o utilizare corectă în comunitatea de învățare automată” [17] .
Documente oficiale FSFPe 28 iulie 2021, Free Software Foundation ( FSF ) a lansat un apel finanțat pentru cărți albe pe probleme filozofice și juridice legate de Copilot [19] . Donald Robertson , Manager de licențiere și conformitate pentru FSF , a declarat că „ Copilot ridică o mulțime […] de întrebări care trebuie analizate mai profund” [19] . Pe 24 februarie 2022, FSF a anunțat că a primit 22 de lucrări pe acest subiect și a selectat 5 dintre ele pentru a fi evidențiate printr-un proces de revizuire anonim [20] .
Acceptată pentru publicare de Simpozionul 2022 privind securitatea și confidențialitatea Institutului de ingineri electrici și electronici , securitatea codului generat de Copilot a fost evaluată pentru 25 de vulnerabilități majore ale codului MITRE (de exemplu, scripting între site-uri, traversarea căilor) în 89 de scenarii diferite și 1.689. programe [21] . Acest lucru a fost realizat de-a lungul axelor diversității punctelor slabe (capacitatea de a răspunde la scenarii care ar putea duce la diferite vulnerabilități ale codului), diversității indicii (capacitatea de a răspunde la aceeași vulnerabilitate a codului cu ușoare variații) și diversității domeniului (capacitatea de a genera specificațiile hardware ale stratului de transfer al registrului ) .în Verilog ) [21] . Studiul a constatat că în toate limbile, de-a lungul acestor axe, 39,33% dintre cele mai bune dintre propuneri și 40,73% din totalul propunerilor duc la crearea de vulnerabilități în cod. În plus, s-a constatat că mici modificări non-semantice (cum ar fi comentariile) aduse codului pot afecta securitatea acestuia [21] .
O lucrare publicată în februarie 2022 de Association for Computing Machinery evaluează impactul Codexului , tehnologia folosită de Github Copilot , în predarea programatorilor începători [18] . Studiul folosește întrebări de evaluare de la o clasă introductivă de programare de la Universitatea din Auckland și compară răspunsurile Codex cu performanța studenților [12] . Cercetătorii au descoperit că Codex a avut rezultate mai bune în medie decât majoritatea studenților; cu toate acestea, performanța sa a încetinit la întrebările cu capacități limitate care pot fi utilizate în soluție (de exemplu , declarații condiționate , colecții și bucle ) [12] . Având în vedere problema, „doar 2 din 10 decizii [ Codex ] au fost corecte, dar ambele […] au încălcat constrângerile stabilite”. Lucrarea concluzionează că Codexul poate fi util pentru a oferi studenților o varietate de soluții, dar poate duce și la exces de încredere și plagiat [12] .