GitHub loods Copilot-masjienleerstelsel wat kode genereer

GitHub het die voltooiing van die toetsing van die intelligente assistent GitHub Copilot aangekondig, wat in staat is om standaardkonstrukte te genereer wanneer kode geskryf word. Die stelsel is saam met die OpenAI-projek ontwikkel en gebruik die OpenAI Codex-masjienleerplatform, opgelei op 'n groot verskeidenheid bronkodes wat in openbare GitHub-bewaarplekke aangebied word. Die diens is gratis vir instandhouers van gewilde oopbronprojekte en studente. Vir ander kategorieë gebruikers word toegang tot GitHub Copilot betaal ($10 per maand of $100 per jaar), maar gratis proeftoegang word vir 60 dae verskaf.

Kodegenerering word ondersteun in die programmeertale Python, JavaScript, TypeScript, Ruby, Go, C# en C++ met behulp van verskeie raamwerke. Modules is beskikbaar om GitHub Copilot met Neovim, JetBrains IDE's, Visual Studio en Visual Studio Code-ontwikkelingsomgewings te integreer. Te oordeel aan die telemetrie wat tydens toetsing ingesamel is, stel die diens jou in staat om kode van redelik hoë gehalte te genereer - byvoorbeeld, 26% van die aanbevelings wat in GitHub Copilot voorgestel is, is deur die ontwikkelaars aanvaar soos dit is.

GitHub Copilot verskil van tradisionele kodevoltooiingstelsels in sy vermoë om redelik komplekse kodeblokke te genereer, tot gereedgemaakte funksies wat gesintetiseer is met inagneming van die huidige konteks. GitHub Copilot pas aan by die manier waarop die ontwikkelaar kode skryf en neem die API's en raamwerke wat in die program gebruik word, in ag. Byvoorbeeld, as daar 'n voorbeeld van 'n JSON-struktuur in 'n opmerking is, wanneer jy 'n funksie begin skryf om hierdie struktuur te ontleed, sal GitHub Copilot klaargemaakte kode bied, en wanneer roetine-lyste van herhalende beskrywings geskryf word, sal dit die oorblywende genereer posisies.

GitHub loods Copilot-masjienleerstelsel wat kode genereer

GitHub Copilot se vermoë om klaargemaakte kodeblokke te genereer het gelei tot kontroversie wat verband hou met moontlike oortredings van copyleft-lisensies. By die vorming van die masjienleermodel is regte brontekste van oopbronprojekbewaarplekke wat op GitHub geleë is, gebruik. Baie van hierdie projekte word verskaf onder copyleft-lisensies, soos die GPL, wat vereis dat die kode van die afgeleide werke onder 'n versoenbare lisensie versprei moet word. Deur bestaande kode in te voeg soos deur Copilot voorgestel, kan ontwikkelaars onbewustelik die lisensie oortree van die projek waaruit die kode geleen is.

Dit is nog nie duidelik of werk gegenereer deur 'n masjienleerstelsel as afgeleide beskou kan word nie. Vrae ontstaan ​​ook of 'n masjienleermodel onderhewig is aan kopiereg en, indien wel, wie hierdie regte besit en hoe dit verband hou met die regte op die kode waarop die model gebou is.

Aan die een kant kan die gegenereerde blokke teksgedeeltes van bestaande projekte herhaal, maar aan die ander kant herskep die stelsel die struktuur van die kode eerder as om die kode self te kopieer. Volgens 'n GitHub-studie kan 'n Copilot-aanbeveling slegs 1% van die tyd kodebrokkies van bestaande projekte insluit wat langer as 150 karakters is. In die meeste situasies vind herhalings plaas wanneer Copilot nie die konteks korrek kan bepaal nie of standaardoplossings vir 'n probleem bied.

Om vervanging van bestaande kode te voorkom, is 'n spesiale filter by Copilot gevoeg wat nie kruisings met bestaande projekte toelaat nie. Wanneer die opstel, kan die ontwikkelaar hierdie filter aktiveer of deaktiveer na goeddunke. Onder ander probleme is daar 'n moontlikheid dat die gesintetiseerde kode foute en kwesbaarhede kan herhaal wat in die kode gebruik word om die model op te lei.

Bron: opennet.ru

Voeg 'n opmerking