Se pare că de curând proaspăta achiziție a lui Microsoft, GitHub, a anunțat lansarea unui asistent inteligent bazat pe A.I. denumit simplu Copilot sau GitHub Copilot, sub forma unei extensii pentru Visual Studio Code, cel puțin pentru moment. Deși pare o simplă extensie la prima vedere, inteligența din spate este una destul de serioasă, să spunem, pentru ca se bazează pe modelul de deep learning dezvoltat de OpenAI denumit GPT-3, sau Generative Pre-training Transformer 3. Unul din cele mai avansate modele de deep learning create pentru producerea și predicția textului în limbajul uman.

Momentan este încă în tehnical review și trebuie să te înscrii pe o listă de așteptare pentru a putea instala și testa extensia. M-am înscris și eu pe lista asta și aștept cu nerăbdare să primesc acces pentru a o putea testa și oferi o părere de la fața locului.

Până una alta, am dat câteva căutări pe Google, m-am uitat la ceva clip-uri pe YouTube să văd și eu ce rezultate au alții care au început să testeze deja și nu pot să nu spun că sunt uimit. E cu adevărat un tool revoluționar pentru programatori. Și spun programatori, da, trebuie să fii tot un programator pentru a putea utiliza tool-ul ăsta, chiar dacă GitHub, sau mai bine zis Microsoft îl marchetează ca fiind altceva, dar revenim la asta imediat.

Cum funcționează?

Modul de utilizare este unul extrem de simplu, trebuie doar să scrii într-un bloc de comment ceea ce-ți dorești să faci cât mai descriptiv posibil, scopul metodei, modul în care să facă ceea ce ai tu nevoie să facă, parametri, cât și tipul de return. După ce ai terminat de scris toate instrucțiunile, Copilot va oferi o sugestie de autocomplete, exact cum ar face-o majoritatea tipurilor de intellisense mai mult sau mai puțin inteligente de pe piață. Doar că în cazul Copilot, sugestia va conține întreaga implementare a metodei, cu nume descriptiv și tot ce trebuie.

Super tare, nu?

Așa am zis și eu la prima vedere.

O să-ți ia GitHub Copilot job-ul de Developer?

Întrebarea asta, sau formulări asemănătoare apar pe o grămadă de blog-uri și clipuri de pe YouTube. Începutul sfârșitului pentru developeri, asta a fost, rămânem toți fără job-uri. Oare așa să fie?

Păi haide să facem o analiză simplă a ceea ce face de fapt GitHub Copilot. Poate el să scrie aplicații întregi de la 0, doar cu o singură frază? Nu chiar. Poate el să scrie măcar un modul, sau o componentă de la 0, doar cu o singură frază sau câteva instrucțiuni? Nu chiar.

Dar ce face el de fapt? Îți oferă implementări pentru un fir logic și tehnic, pe care tu ca developer le-ai definit deja în mintea ta și pe care i le transmiți mai departe ca instrucțiuni. Asta ce înseamnă? Înseamnă că tu încă ești de fapt orchestratorul, el doar te scutește de povara scrierii codului. Și aici o să divagăm puțin în ceea ce înseamnă de fapt să fii programator. Da, am zis de foarte multe ori "de fapt", dar încerc să accentuez un punct de vedere pe care multă lume se pare că îl ignoră.

Ce înseamnă de fapt să fii creator de Software?

Ce înseamnă să fii programator până la urmă? Înseamnă să scrii cod? N-aș zice. Codul este doar transpunerea ideilor tale logice și tehnice, rezultatul unui complicat proces neuronal, bazat pe experiențele tale anterioare. Este ca atunci când un pictor își transpune trăirile într-un tablou, așa se întâmplă și în programare, caz în care programatorul își expune "gândirile" prin cod.

Astea fiind spuse, cred că ți-ai făcut o idee cât de cât despre unde vreau să ajung. Nu cred că o să te poată înlocui prea curând un AI, fie el și bazat pe GPT-3, pe tine ca programator. Pentru că programarea nu înseamnă doar scrisul de cod. Este mult mai mult de atât și mă amuză foarte tare când văd că cineva poate măcar să ia în considerare așa ceva, având în minte o mare de probleme complexe în care m-am aflat la un moment dat. Și cât de mare poate fi complexitatea într-un proiect software enterprise, indiferent de nișa în care se află.

Unde se vede GitHub Copilot peste 5 ani?

Acum ai putea spune că da, nu acum, dar peste 2-3-5 ani, foarte probabil. Fals, nici măcar atunci. Va mai dura mult, foarte mult, până vreo rețea neuronală va fi capabilă să creeze aplicații de una singură, chiar și din cele mai simple. Microsoft spune că vor folosi codul public de pe GitHub al tuturor, pentru îmbunătăți în timp capabilitățile lui GitHub Copilot. Dar chiar și așa, proiectele mari, cu nivele mari de complexitate nu se află publice pe GitHub în niciun caz. Deci mă îndoiesc că va putea face mai mult de câteva aplicații simple mulate pe anumite pattern-uri prea curând. Dar vom trăi și vom vedea, zic.

Gândește-te doar de cât timp există deja website builder-ele precum Wordpress, Wix, SquareSpace și altele deja pe piață și job-urile de web developer sunt încă la mare căutare.

Concluzie

Pe final, nu pot să zic decât că admir evoluția Microsoft din ultimii ani și toate tehnologiile pe care le aduc pe piață, chiar au un aer de evoluție din punctul meu de vedere. Cât despre GitHub Copilot, îmi place extrem de mult ideea, pentru că va ajuta enorm la productivitate. Dacă până acum aveam parte de un intellisense care putea prezice cuvânt cu cuvânt codul scris, acum avem preziceri pentru metode întregi, iar asta ne va putea spori productivitatea enorm.