Copilotul GitHub

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] .

Istorie

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] .

Funcții

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] .

Acceptare

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] .

Controversa privind licențele

Î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 FSF

Pe 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] .

Probleme de securitate

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] .

Probleme educaționale

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] .

Vezi și

Note

  1. Gershhorn, Dave. GitHub și OpenAI lansează un nou instrument AI care generează propriul  cod . The Verge (29 iunie 2021). Preluat la 13 iunie 2022. Arhivat din original la 7 iulie 2021.
  2. ↑ 1 2 GitHub Copilot  Programatorul dvs. de perechi AI . GitHub Copilot . Preluat la 13 iunie 2022. Arhivat din original la 19 iunie 2022.
  3. Gershgorn. GitHub și OpenAI lansează un nou instrument AI care generează propriul cod . The Verge (29 iunie 2021). Preluat la 6 iulie 2021. Arhivat din original pe 7 iulie 2021.
  4. Vă prezentăm GitHub Copilot:  programatorul dvs. de perechi AI . Blogul GitHub (29 iunie 2021). Preluat la 13 iunie 2022. Arhivat din original la 21 iunie 2022.
  5. GitHub Copilot - Plugin IntelliJ IDEs | Piața  (engleză) . Piața JetBrain . Preluat la 7 aprilie 2022. Arhivat din original la 27 iunie 2022.
  6. Pluginul Neovim pentru GitHub  Copilot . GitHub (27 octombrie 2021). Preluat la 13 iunie 2022. Arhivat din original la 13 iunie 2022.
  7. GitHub Copilot acum disponibil pentru Visual Studio   2022 ? . Blogul GitHub (29 martie 2022). Preluat la 7 aprilie 2022. Arhivat din original la 14 iunie 2022.
  8. GitHub Copilot este în general disponibil pentru toți  dezvoltatorii . Blogul GitHub (21 iunie 2022). Preluat la 23 iunie 2022. Arhivat din original la 23 iunie 2022.
  9. Crill. OpenAI oferă API pentru modelul GitHub Copilot AI  . InfoWorld (12 august 2021). Preluat la 7 aprilie 2022. Arhivat din original la 17 aprilie 2022.
  10. OpenAI lansează GPT-3, cel mai mare model de  până acum . Revista Analytics India (3 iunie 2020). Preluat la 13 iunie 2022. Arhivat din original la 4 august 2020.
  11. ↑ 1 2 3 4 5 Finney-Ansley, James (14 februarie 2022). „Vin roboții: explorarea implicațiilor Codexului OpenAI în programarea introductivă” . Conferința de Educație în Informatică din Australia . Asociația pentru Mașini de Calcul: 10-19. DOI : 10.1145/3511861.3511863 . ISBN  978-1-4503-9643-1 .
  12. ↑ OpenAI oferă Microsoft acces exclusiv la modelul său de limbă GPT -3  . MIT Technology Review . Preluat la 7 aprilie 2022. Arhivat din original la 5 februarie 2021.
  13. 1 2 3 GitHub Copilot · Programatorul dvs. de perechi AI . GitHub Copilot . Preluat la 7 aprilie 2022. Arhivat din original la 19 iunie 2022.
  14. Alford, Anthony. OpenAI anunță  Codex AI pentru generarea de coduri cu 12 miliarde de parametri . InfoQ . Preluat la 13 iunie 2022. Arhivat din original la 9 iulie 2022.
  15. Sobania, Dominic (2022). „Un studiu cuprinzător asupra sintezei programelor cu algoritmi evolutivi” . IEEE Transactions on Evolutionary Computation : 1. DOI : 10.1109/TEVC.2022.3162324 . ISSN  1941-0026 . Arhivat din original pe 01.04.2022 . Preluat 2022-06-13 . Parametrul depreciat folosit |deadlink=( ajutor )
  16. 1 2 Instrumentul de codare automată al GitHub se bazează pe un temei legal netestat , The Verge  (7 iulie 2021). Arhivat din original pe 11 iulie 2021. Preluat la 11 iulie 2021.
  17. 1 2 Finnie-Ansley, James (14 februarie 2022). „Vin roboții: explorarea implicațiilor Codexului OpenAI în programarea introductivă” . Conferința de Educație în Informatică din Australia . Asociația pentru Mașini de Calcul: 10-19. DOI : 10.1145/3511861.3511863 . ISBN  978-1-4503-9643-1 .
  18. 1 2 Apel finanțat de FSF pentru cărți albe despre chestiuni filozofice și juridice despre Copilot . Free Software Foundation (28 iulie 2021). Preluat la 11 august 2021. Arhivat din original la 11 august 2021.
  19. ↑ Publicarea cărților albe finanțate de FSF privind întrebările legate de Copilot  . Free Software Foundation (24 februarie 2022). Preluat la 13 iunie 2022. Arhivat din original la 16 iunie 2022.
  20. ↑ 1 2 3 Hammond Pierce, Bali Ahmad, Benjamin Tan, Brendan Dolan-Gavitt, Ramesh Curry. Adormit la tastatură? Evaluarea securității contribuțiilor la codul GitHub Copilot  //  arXiv:2108.09293 [cs]. — 2021. Arhivat la 21 iunie 2022.