TSM - Experts panel: Generative AI în programare

Ovidiu Mățan - Fondator @ Today Software Magazine

AI-ul a devenit una dintre principale schimbări apărute în modul în care scriem marea majoritate dintre noi aplicațiile. Ce s-a schimbat și care ar putea fi viitorul programării sunt câteva dintre problemele dezbătute în cadrul acestui panel alături de invitații:

AI-ul ne ajută să scriem cod. Generează bucăți bune de cod. Peste 20 de ani s-ar putea să genereze cod și mai bine. Problema ar fi ca noi să fim ultima generație de programatori. Cum vedeți voi acest aspect?

Alexandru Colța: Aceasta pare a fi cea mai mare îngrijorare din industrie. Eu cred că nevoia de a avea programatori va crește, iar rolul acestora se va modifica. AI-ul va fi un asistent principal în activitatea noastră.

Andrei Crăciun: Acum ceva timp discutam cu colegii mei despre ce e mai bine - să scriem cod repede sau să scriem cod lizibil. Am concluzionat că un cod se scrie o dată, dar facem debug la el de 10 ori. În momentul de față, AI-ul și LLM-urile ajută la scris cod. Partea de debug ține de încredere, adică dacă dezvoltatorul are încredere că toolul face mai bine decât programatorul. Încrederea este subiectivă, dar, cunoscându-mi colegii, aș spune că încrederea tinde spre zero. AI-ul ne ajută să scriem cod în proporție de 10%.

Andrei Draga: Nu cred că vom mai avea de muncă în domeniul acesta în 20 de ani. Se va sfârși toată munca intelectuală. Vom deveni ca foștii muncitori din fabrici. Mai avem o șansă atâta timp cât antrenamentul se face pe modele produse și antrenate de AI. Va veni un moment când antrenamentul va trebuie să se facă pe modele autentice. Tindem spre un UBI (Universal Basic Income).

Oana Sentanai: Nu ne vor înlocui. Meseria de a scrie cod se va transforma. Poate că va fi nevoie de mai mulți programatori care scriu modele de Machine Learning sau modele de AI. Dacă lucrezi într-un business unde nu-ți permiți deloc să ai risc, acolo omul va fi esențial în validare.

Ioana Barboș: Toolurile curente fac o treabă foarte bună la scrierea de cod. Claude este foarte bun. Rezultatele sunt satisfăcătoare pentru nivelul meu de om de Data Science care lucrează în Python. Mai am de făcut mici retușuri și mereu rezolv problemele apelând la Claude decât la Stack Overflow. În 10-20 de ani se va schimba paradigma, iar noi, programatorii, nu vom avea aceeași menire profesională pe care am avut-o până acum. Dacă programatorii nu își vor antrena abilitatea de a scrie cod, ei nu vor putea nici să facă debugging.

Cum folosiți AI-ul?

Oana Sentanai: Nu am mai scris cod de foarte mult timp, dar zona AI este foarte apropiată de mine. Am plecat în SUA cu o bursă ca să joc baschet, dar am rămas acolo și am obținut o diplomă, iar apoi am predat Statistică și Data Science. Am făcut și un MBA. Am lucrat mult în domeniul Data. Dragostea de țară și părinți m-au adus înapoi. Deși nu scriu cod, mă interesează partea de AI în vederea optimizării proceselor și a ciclului de dezvoltare de produse. AI-ul ne poate ajuta în testare și requirements gathering. Citeam că 88% din programatorii ce folosesc GenAI și GitHub sunt mult mai productivi și reușesc să își folosească abilitățile pe lucruri ce aduc mai multă valoare.

Andrei Draga: Folosesc ChatGPT și Grok de pe X. Folosesc AI pentru scriere de cod, dar și pentru alte lucruri care mă pasionează - întrebări de matematică, probleme de medicină, agregare de știri.

Andrei Crăciun: Pentru partea de programare, mă ajută să fac aplicații pe telefon sau browser-based care să îmi ușureze viața. Încerc să folosesc LLM-uri cu context cât mai mare ca să prind cât mai mult. Am învățat să le păcălesc și fac eu arhitectura. Le tratez ca pe niște junior developers cărora trebuie să le dau taskuri mici. Făcându-i arhitectura, designul, modelul de date, am reușit să creez aplicații ce pot fi folosite de mine în contextul meu de mini-producție. Dacă vorbim de aplicații pe care să le folosească altcineva, nu am reușit, oricât am încercat, deoarece am ajuns la cod nefuncțional. M-am adresat unui expert, în cazul acesta soției mele care este programator web. Am rugat-o să corecteze codul. Își pune mâinile în cap. Modul în care este scris codul devine frustrant pentru ea. Îl corectează, îl face mult mai eficient și mult mai ușor de întreținut. Dacă ar fi să facă de la început chestia asta, timpul ar fi de 3 sau de 4 ori mai mare pentru ea. La job, îl folosesc pentru design, dar nu pentru arhitectură. Folosesc Copilot la firmă. Noi avem o versiune privată. Îl folosesc pe post de auto-complete pe steroizi. Privat, folosesc și Gemini. Una din fetițele mele, când se pregătea la matematică, îmi dădea probleme pe care nu le știa. Le făceam poze și le treceam prin AI. Nu le rezolva bine pe toate, dar îmi dădea idei bune.

Fetele mele nu au legătură cu AI-ul, dar fata cea mare a ajuns la olimpiadă la biologie în clasa a IX-a. A învățat de pe YouTube și din ceva manual descărcat. ChatGPT i-a sintetizat și ordonat conținutul ca să rețină informația mai bine. E șocant cum cei tineri asimilează și merg în direcția aceasta fără constrângeri.

Andrei Crăciun: Eu am stupi de albine și mă înregistrez când le verific. Am făcut cu Gemini un progrămel care pe baza textului și a fișierelor voce pe care i le dau îmi generează la finalul zilei un .csv.

Alexandru Colța: Folosesc de mult GenAI. Am licențe OpenAI și Gemini pe care le folosesc în viața personală. Le folosesc prea mult. Nu folosesc Google. Folosesc AI pentru a găsi idei de cadouri pentru copii sau rude. Am două prompturi pe care le tot îmbunătățesc, pe care le pun pe git și pe care inițial le-am generat cu GenAI.

(întrebare din sală): Am pus întrebarea voastră în ChatGPT ca să aflu cum va arăta meseria de programator peste 20 de ani și ce meserii noi vor apărea. Vă invit să vă uitați și voi. Poate vă va schimba perspectiva.

Andrei Crăciun: Este important să înțelegem ce fac aceste LLM-uri. Sunt practic antrenate pe date care există. Nu inventează, nu creează nimic. Răspunsurile sunt agregate.

Cum sunt afectați programatorii tineri, juniori?

Oana Sentanai: Eu chiar am doi juniori, unul de doi ani, altul de patru ani. Ei sigur vor folosi ChatGPT. Noi angajăm foarte mulți juniori. În ceea ce privește datele, noi am crescut exponențial datorită mergers & acquisitions. Avem seniori crescuți de noi, de pe băncile școlii. Noi avem câte un intern pe echipă. Această investiție dă roade. Din punctul meu de vedere, în 2025 merită să mergi la facultate, să înveți. Sunt joburi, dar trebuie căutate în direcția potrivită.

Ce reglementări AI există pe parte legislativă?

Ioana Barboș: Aș dori să leg răspunsul meu de întrebarea precedentă. Cum ne raportăm la juniori? Anul acesta, la nivelul UE, a apărut seria a treia din suita de reglementări AI. Este vorba de AI Act care trasează standard de calitate pentru tot ce înseamnă produs AI. Înainte, existau produse monitorizate atent - produse din zona conducerii autonome sau a dispozitivelor medicale ce folosesc AI. AI Act ne arată că este nevoie de o monitorizare riguroasă a produselor AI în toate domeniile. AI Act clasifică tot ce înseamnă AI în categorii de risc în contextual utilizării acelor sisteme. De exemplu, sistemele AI folosite de HR sunt clasificate drept sisteme cu grad mare de risc. O companie, fie că dezvoltă, fie că utilizează astfel de soluții va trebui să respecte niște obligații pentru a nu fi penalizată. Pentru toate sistemele cu grad ridicat de risc se impune audit anual, iar sistemele trebuie raportate într-o bază de date centralizată la nivelul UE. Una din reglementările noi ale AI Act este asigurarea alfabetizării personalului ce folosește AI. La nivel global, astfel de inițiative au existat încă din 2017. De exemplu, în Singapore există un program susținut de guvern ce își propune să alfabetizeze populația. Elevii de peste 13 ani pot să facă parte din program, de exemplu. Estonia are anul acesta un alt program, AI Leap, care își propune să aducă AI în școli și pentru angajații din birouri. Vom vedea din ce în ce mai multe inițiative. Există o frică a generației noastre și a generațiilor mai în vârstă. Ne temem că ne va lua semnificația vieții sau sursa de finanțare. Prin compania mea, în luna aprilie, vom merge prin școlile din Cluj și le vom vorbi elevilor de AI. Avem drept țintă 1000 de elevi. Vom face noi un prim pas. Pornim de la mediul privat spre cel public. Sperăm ca și alte companii să se alăture sau să urmeze exemplul acesta.

Cum vedeți integrarea AI cu generarea de video?

Andrei Draga: AI-ul încă generează pahare cu vin pline ochi, deoarece toate modelele pe care s-a antrenat aveau pahare pline. Această limitare se extinde pe toată zona de generare de video și în toate zonele creative care depășesc tiparele.

Cum e în alte domenii?

Andrei Crăciun: Vorbeam cu un prieten că nouă ne place foarte mult că AI creează poezii și pictează, lucruri care și nouă ne place să le facem. Nouă nu ne place să ducem gunoiul. Acolo ar fi o piață pe care să o îmbunătățim, cea de robotică. Acolo e potențialul. Mă aștept să se creeze AI-uri specifice care să ne îmbunătățească și să ne simplifice viața. A face un AI generic, complet este o utopie. Văd o oportunitate în AI-uri specifice, pentru taskuri care nu ne plac.

Îți imaginezi că ai putea lucra într-o echipă Agile în care ai un agent căruia îi asignezi taskuri?

Andrei Crăciun: Nu aș vedea lucrurile la acest nivel, dar aș vedea o echipă în care fiecare membru să aibă asistenți specializați. Nu văd AI-ul drept un coleg (peer), ci drept un sclav. Mi-am impus să gândesc așa, deoarece, la un moment dat, devenisem empatic cu ChatGPT. Când eram drăguț, îmi băga chestii greșite în cod, deoarece îi dădeam prea mult context. Încerc să fiu cât mai ferm, mai decisiv. Este un tool, nu un partener.

Alexandru Colța: Și în zona de testare poate să facă foarte multe în plus. Totul se reduce la firea umană. Disciplina nu ne este nativă, motiv pentru care avem nevoie de reglementări. Știm că ceea ce produce GenAI trebuie validat, dar nu o vom face de fiecare dată. În zona de testare automată, se întâmplă lucruri la care doar visam. Nu credeam să văd - cod compilat și scanat de AI, în condițiile unui LLM local fără acces la Internet. Ca oameni, încercăm să fim eficienți. Când ceva va deveni mai fezabil, mai eficient, acel lucru va înlocui modul tradițional de a lucra. De exemplu, când a fost mai ieftin să se înlocuiască oamenii cu un AI, acest lucru s-a întâmplat, iar asta ne-a oferit un serviciu mult mai ieftin, mai competitiv. Referitor la sfera creativă, într-un joc interacționezi cu un personaj care, dacă în spate are o identitate creată cu un AI, azi ai furat câinele, mâine vezi că plânge după câine. Funcțional, ne poate ajuta foarte mult în medicină, de exemplu la identificarea unui tratament pentru cancer. Chiar dacă se bazează pe informația știută deja, accesând un volum mare de date, AI-ul poate oferi o coregrafie nouă, structuri noi din datele existente.

Andrei Crăciun: Am o completare la ceea ce am spus anterior. Nu îl văd ca membru într-o echipă, dar îl văd pe post de Scrum Master.

Acum un AI scrie cod și face agregare de informații, dar ar putea scrie direct byte-code fără să mai treacă prin limbaj. Atunci, noi nu am mai avea ce să povestim cu AI-ul. Se va ajunge la asta? Va fi mai optim? Practic, nu ne va mai interesa ce scrie.

Andrei Crăciun: Da, este posibil.

Momentan, dacă dăm AI-ului un set de date, de exemplu ca să învețe să conducă o mașină, dar mașina ajunge să se lovească de un gard, cum mai testezi ce s-a întâmplat în cadrul rețelei neuronale din spate?

Alexandru Colța: Corelațiile pe care le face sunt ascunse. Atunci, dacă rezultatul este un eșec, o halucinație, o eroare, cauza este o cutie neagră și nu poți testa ce s-a întâmplat. În schimb, poți să măsori nivelul de precizie, poți vedea care a fost procentul de învățare supervizată sau non-supervizată. Putem compara. Putem ajusta. Este singurul lucru pe care îl putem face. Este importantă alfabetizarea în domeniu. Foarte multe companii oferă Copilot în mod standard. Aproape nimeni nu impune angajaților să facă câteva cursuri de alfabetizare înainte de a avea voie să folosești Copilot în cadrul companiei. Cât privește testele, nu poate să îmi genereze 10 teste. Inițial, pot să îi cer să îmi genereze titlul pentru 10 teste, apoi să îmi genereze separat conținutul pentru fiecare test pe rând. Poți folosi un model mai mic pentru taskuri care nu sunt complexe. Ieși mai ieftin. Aici intervine expertiza noastră și acesta este motivul pentru care suntem greu de înlocuit.

Folosești AI-ul nativ la soluția de trading pe care ne-ai prezentat-o, Andrei?

Andrei Draga: Nu, nici nu am experimentat foarte mult. Fiind limitat la 10 minute de prezentare, am dori să prezint ceva foarte nișat. În mod normal, oportunități apar și în zona exchange-urilor peer-to-peer, mai ales la lansarea de tokeni. Facem tranzacții prin intermediul unor platforme care seamănă cu un order book unde tu spui cât ceri, iar eu spun cât sunt dispus să ofer. Se calibrează. Cine vrea să scape rapid de tokeni vine și strică prețul pieței. Dacă există o astfel de situație, intervine o oportunitate de arbitraj. Pe un exchange unde au început să apare boți, aș zice că, dacă nu ai demarat operațiunea în 2-5 secunde, vine un alt bot și preia. Când se dezvoltă platforma, nu există niciun bot și poți efectua totul manual, deci ai la dispoziție minute.

Ioana Barboș: Chiar dacă nu vorbim de criptomonede, în marketingul programatic se concurează pentru a plasa o reclamă într-un slot liber tot pe același principiu. Există un sistem (la care lucrez și eu) de detecție a fraudelor. Se lucrează foarte mult la mecanisme de protecție pentru a valida integritatea tranzacțiilor.

Blockchain și AI pot lucra împreună?

Andrei Draga: Ar trebui să colaboreze din ce în ce mai mult, din moment ce Blockchain oferă transparență. Sunt multe proiecte care încearcă să aibă o amprentă pe Blockchain, care vor să arate că datele nu au fost modificate, că sunt imutabile. Problem apare în zona de GDPR. Tu ții datele despre un om, iar acesta are dreptul ca datele să îi fie uitate. Dacă stochezi datele în Blockchain, aceste date sunt acolo pentru totdeauna. Nu ai un mecanism tehnic pentru a le scoate de acolo. Un AI ar putea să greșească foarte ușor dacă i se dau instrucțiuni greșite.

(întrebare din public): Ce părere aveți despre etică în AI?

Oana Sentanai: Etica în AI este similară cu etica în date sau cu etica ca parte a responsabilității corporațiilor. Etica nu se schimbă. Principiile etice nu se schimbă, dar tehnologia și aplicarea acesteia se schimbă.

Ioana Barboș: În cursa pentru General AI nu există etică. Faptul că UE a venit cu un cadru legal menit să reglementeze modul de dezvoltare a sistemelor de AI i-a adus foarte multe critici de peste ocean. Știm ce s-a întâmplat la conferința de la Paris unde J.D. Vance a venit și a împroșcat cu noroi în UE. Există întrebări foarte relevante din punct de vedere etic. Ce se întâmplă când oamenii își pierd locurile de muncă? Nu există la nivel de guverne o plasă de siguranță. Nu avem o strategie reală. Ce se întâmplă cu persoanele care folosesc AI frecvent și care suferă de automation bias? Ce se întâmplă când ne bazăm mult prea mult pe rezultatele pe care ni le dă un LLM, mai mult decât pe capacitatea noastră de gândire critică? În presă, AI este portretizat ca fiind superior ființei umane. Prin urmare, noi ne putem raporta la AI ca la o tehnologie infailibilă. De asemenea, dacă cineva merge la bancă să ceară un credit, acesta poate fi respins dacă persoana face parte dintr-un grup minoritar sau vulnerabil. Eu, după ce am născut, nu am mai fost căutată pe LinkedIn, nemaiavând activitate acolo. Fiecare dintre noi poate fi o categorie vulnerabilă în anumite contexte. AI Act vine cu numeroase reglementări: trasabilitatea datelor, locul unde sunt folosite datele, explicare și documentarea deciziilor. Se pune mare accent pe a ne asigura, de la început, că produsele sunt construite, astfel încât să putem înlătura scenariile posibil de prevăzut.