GitHub lanĉis la Copilot maŝinlernsistemon kiu generas kodon

GitHub anoncis la finon de testado de la inteligenta asistanto GitHub Copilot, kapabla generi normajn konstrukciojn dum skribado de kodo. La sistemo estis evoluigita kune kun la OpenAI-projekto kaj uzas la OpenAI Codex maŝinlernadplatformon, trejnitan sur granda aro de fontkodoj gastigitaj en publikaj GitHub-deponejoj. La servo estas senpaga por prizorgantoj de popularaj malfermkodaj projektoj kaj studentoj. Por aliaj kategorioj de uzantoj, aliro al GitHub Copilot estas pagita ($10 monate aŭ $100 jare), sed senpaga prova aliro estas disponigita dum 60 tagoj.

Kodgenerado estas subtenata en la programlingvoj Python, JavaScript, TypeScript, Ruby, Go, C# kaj C++ uzante diversajn kadrojn. Moduloj haveblas por integri GitHub Copilot kun Neovim, JetBrains IDEoj, Visual Studio kaj Visual Studio Code-disvolvaj medioj. Juĝante laŭ la telemetrio kolektita dum testado, la servo permesas vin generi kodon de sufiĉe altkvalita - ekzemple, 26% de la rekomendoj proponitaj en GitHub Copilot estis akceptitaj de la programistoj kiel estas.

GitHub Copilot diferencas de tradiciaj kodkompletigsistemoj en sia kapablo generi sufiĉe kompleksajn kodblokojn, ĝis pretaj funkcioj sintezitaj konsiderante la nunan kuntekston. GitHub Copilot adaptiĝas al la maniero kiel la programisto skribas kodon kaj konsideras la APIojn kaj kadrojn uzatajn en la programo. Ekzemple, se estas ekzemplo de JSON-strukturo en komento, kiam vi komencas skribi funkcion por analizi ĉi tiun strukturon, GitHub Copilot proponos pretan kodon, kaj kiam vi verkas rutinajn listojn de ripetaj priskriboj, ĝi generos la ceterajn. pozicioj.

GitHub lanĉis la Copilot maŝinlernsistemon kiu generas kodon

La kapablo de GitHub Copilot generi pretajn kodblokojn kaŭzis konflikton ligitan al eblaj malobservoj de copyleft-licencoj. Dum la formado de la maŝinlernada modelo, realaj fontotekstoj de malfermfontaj projektdeponejoj situantaj sur GitHub estis uzitaj. Multaj el ĉi tiuj projektoj estas disponigitaj sub copyleft-licencoj, kiel ekzemple la GPL, kiuj postulas la kodon de la derivitaj verkoj esti distribuita sub kongrua permesilo. Enmetante ekzistantan kodon kiel sugestite de Copilot, programistoj povas senintence malobservi la permesilon de la projekto de kiu la kodo estis pruntita.

Ankoraŭ ne estas klare ĉu laboro generita de maŝinlernado sistemo povas esti konsiderata derivaĵo. Demandoj ankaŭ ŝprucas ĉu maŝinlernado-modelo estas kondiĉigita de kopirajto kaj, se jes, kiu posedas tiujn rajtojn kaj kiel ili rilatas al la rajtoj al la kodo sur kiu la modelo estas bazita.

Unuflanke, la generitaj blokoj povas ripeti tekstopasaĵojn de ekzistantaj projektoj, sed aliflanke, la sistemo rekreas la strukturon de la kodo prefere ol kopii la kodon mem. Laŭ studo de GitHub, nur 1% de la tempo, rekomendo de Copilot povus inkluzivi kodfragmentojn de ekzistantaj projektoj pli longaj ol 150 signoj. En la plej multaj situacioj, ripetoj okazas kiam Kopiloto ne povas ĝuste determini la kuntekston aŭ ofertas normajn solvojn al problemo.

Por malhelpi anstataŭigon de ekzistanta kodo, speciala filtrilo estis aldonita al Copilot kiu ne permesas intersekciĝojn kun ekzistantaj projektoj. Dum agordo, la programisto povas aktivigi aŭ malŝalti ĉi tiun filtrilon laŭ sia bontrovo. Inter aliaj problemoj, ekzistas ebleco, ke la sintezita kodo povas ripeti erarojn kaj vundeblecojn ĉeestantajn en la kodo uzata por trejni la modelon.

fonto: opennet.ru

Aldoni komenton