ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 141
Abonament PDF

Experts panel: Software Architecture și GenerativeAI

Ovidiu Mățan
Fondator @ Today Software Magazine



PROGRAMARE


Care vor fi principalele provocări aduse de generative AI în lumea programării ? Este o întrebare la care am încercat să răspundem alături de:

Ovidiu Mățan: Vă invit să vă realizați o scurtă introducere

Ioana Marchiș: Am urmat și absolvit în paralel Facultatea de Calculatoare (Politehnică) și cea de Finanțe-Bănci (FSEGA) în Cluj. Lucrez în Betfair de treisprezece sau paisprezece ani. La început am lucrat ca Java Developer în Betfair, apoi am trecut la Flutter unde fac parte din cadrul echipelor de inovare.

Paul Donea: Sunt la Accesa de doi ani. Am absolvit Facultatea de Informatică la Babeș- Bolyai și un masterat în domeniul bănci și piețe de capital. Mi-a plăcut foarte mult partea de AI în domeniul economic. În pandemie, am organizat diverse comunicări online pe AI. Explicam cum ne influențează nouă viața componenta AI. Acum, la Accesa, mă ocup cu inginerie de date și algoritmi pentru automatizarea deciziilor economice. A fost primul meu interviu și primul job. Avem mulți clienți din domeniul financiar-bancar.

Alex Cioflică: Sunt Software Architect la FanDuel, parte din grupul Flutter. Și eu sunt de treisprezece ani la Betfair. Am terminat Politehnica.

Ciprian Sorlea: Sunt fost CTO la NordLogic. De câteva luni am trecut la AROBS Group, compania care ne-a achiziționat. Așa cum spuneamși altora, poți scoate omul din NordLogic, dar nu NordLogic din om. Am învățat foarte multe lucruri acolo și le duc cu mine. Sper să învăț multe lucruri pe viitor.

Ciprian, tu generezi foarte multe imagini pentru ITDays. Eu, când folosesc DALL-E, nu reușesc să generez decât prostii. Ai vreo tehnică specială de Prompting? Folosești AI la locul de muncă?

Ciprian Sorlea: Important este să știi ce să ceri. Cu toții ați auzit de sintagma "Garbage in, garbage out". Acest lucru se aplică și la prompturi. Dacă urmărești un proces, dacă analizezi prompturile create de alții, îți dai seama ce funcționează și ce nu funcționează. La locul de muncă, folosesc AI, dar mai puțin în generarea de imagini. Am folosit însă generarea de imagini și de slide-uri pentru un workshop pe care l-am ținut pe Kubernetes. Nu am generat textul, doar slide-urile și imaginile cu AI.

Alex, la ce folosești GenerativeAI?

Alex Cioflică: Te ajută la descrieri atunci când pui idei, iar AI-ul îți generează câteva fraze. Am vrut să văd dacă ajută la partea de Software Architecture. Am dat un use case destul de simplu. Am testat cu Gemini și ChatGPT, iar răspunsul a fost foarte bun. A reușit inclusiv să genereze un flow diagram. Apoi, i-am pus întrebări legate de motivul pentru care a ales anumite componente și am rămas șocat de răspunsurile pertinente pe care le-a dat. Cu Gemini am avut cele mai bune rezultate. Din spate vine și Amazon Q despre care nu știu dacă este disponibil deja în toate firmele, dar ei promit că poți avea ca input pagini de Confluence, Wiki, Git sau documentație, ceea ce înseamnă că va genera cod și decizii arhitecturale pe ceea ce ai acolo.

Nu e un mic/mare copy-paste ceea ce îți dă AI-ul?

Alex Cioflică: Da, dar, până la urmă, te ajută. Cam asta e, deoarece se bazează pe un istoric.

Ciprian Sorlea: Toate articolele și documentele pe care le facem ca profesioniști sunt copy-paste după ceea ce am mai făcut. Da, explorăm și ne vin și idei noi. În mai mult de 20 de ani de carieră, am avut de multe ori impresia că am inventat coada la cireașă, ca să aflu apoi că alții au făcut sisteme similare în anii 70. Multe arhitecturi inventate acum sunt doar arhitecturi mai vechi reîncălzite. Sunt puse în alt context, e drept. De exemplu, microserviciile sunt vechi de 60-70 de ani. Asta face și un AI. Dacă îi dai un context suficient de bine definit, îți va da un rezultat, chiar dacă tu nu te-ai gândit încă la el.

Eu nu am reușit să ajung încă acolo. Uneori mi se pare că pierd timpul, că primesc răspunsuri prea lungi.

Ioana Marchiș: Eu, pe de altă parte, sunt foarte entuziasmată de tehnologia aceasta, în ciuda provocărilor de rigoare. Eu folosesc pentru mine GPT4, varianta plătită. Mi se pare fascinant să-mi pot configura, fără a fi un utilizator tehnic, un asistent personalizat într-un anumit domeniu printr-o interfață, fie prin configurări, fie prin text. Căutam la ce conferințe putem merge anul acesta pentru a fi la zi cu noutățile în domeniu. L-am pus să caute online, să afișeze, să sumarizeze, să exporte ca Excel în ordine cronologică. A trebuit să fac mici ajustări.

Paul Donea: Cu versiunea plătită, am încercat, în cadrul companiei să simulăm arhitectura unui produs software folosind exclusiv Java și variațiuni ale limbajului. Pentru rezultate satisfăcătoare, trebuie să fii foarte clar în întrebările tale, iar, dacă ceva te nemulțumește, să reformulezi și să aștepți răspunsul până când primești ceea ce te ajută. Da, îți ia vreo două ore, dar este mult mai puțin decât dacă ai lucra cu o echipă. Utilizatorul face diferența. În cazul nostru, era un Software Architect care știa foarte bine cum trebuie să arate produsul și știa cum să interogheze sistemul. Al doilea aspect este că te ajută în generarea datelor de antrenament. Lucrează foarte rapid. Dacă datele AI pe care le folosești pentru antrenament sunt insuficiente, va genera date similare pe baza unor parametri care să îți permită să testezi o teorie. Am folosit asta pentru SCALA. Unul din experții noștri a construit o bibliotecă în SCALA cu scopul de a detecta tranzacțiile bancare potențial frauduloase. Nu aveam date suficiente de la client, deci am generat noi cu AI.

Ioana Marchiș: Avem un pre-pilot pentru un produs pe care dorim să îl dezvoltăm cu o tehnologie nouă. Avem în echipă persoane care nu cunosc frameworkul respectiv, dar, cu ChatGPT, am scris 80% din cod. Persoane care știau businessul, dar nu să scrie cod, au reușit să genereze, cu puțin ajutor, aplicația.

Ai vinde aplicația respectivă?

Ioana Marchiș: Aș promova-o doar la nivel de prototip.

Eu am făcut diverse încercări la partea de generare de fișiere audio cu AI. Doream să recunoască o voce sau să genereze o voce. Ne bazăm pe AI, dar, uneori, uităm că noi suntem programatorii. Contra tendinței AI, cum îl readucem pe programator ca erou al codului său?

Ciprian Sorlea: Cu siguranță, îți amintești prezentarea lui Danny Goh de la ediția ITDays 2023. El a vorbit despre "the expert in the loop". Trebuie să nu mai fim doar oameni ce scriu cod, ci experți în domeniu, cu abilități dincolo de scrierea codului. AI nu va face lucrurile în locul tău, ci te va ajuta să le faci mai bine. Reversul este că un AI va putea să facă totul în locul tău dacă singura ta responsabilitate este să scrii cod după niște cerințe înșirate, date mură în gură. Dacă, în schimb, ca programator, ai capacitatea de a fi erou, de a identifica o problema, de a-i găsi soluția și de a o articula foarte bine, atunci jobul tău va fi sigur, deoarece tu ești "the expert in the loop". Ideea nu este ca aceste instrumente să elimine colegii. Da, există manageri și clienți care se vor uita la aceste instrumente AI ca la oportunități de a reduce capitalul uman, dar, asta se va întâmpla în cazurile în care capitalul uman a crescut din cauza unei inflații, din cauza unei cereri foarte mari, fără justificare. Dacă asta s-a întâmplat, piața va face o corecție în direcția sustenabilității. Dacă ești un expert adevărat, aceste instrumente îți vor da mai multă putere. Trebuie să adoptăm această tehnologie și să vedem cum ne poate transforma din ceea ce eram înainte în oameni mai bine pregătiți.

Lansez o provocare. Vrem să facem un concurs artistic. Ar fi corect să vină cineva care nu știe nimic legat de artă, dar care să genereze o imagine pentru acel concurs?

Alex Cioflică: La fel a fost când a apărut fotografia în detrimentul picturii, dar fotografia este diferită de pictură, deci nu ar trebui să concureze o operă făcută de un artist alături de o operă facută de un non-artist ce a folosit AI. Sunt două categorii diferite ce ar trebui să aibă fiecare propriul concurs.

Ciprian Sorlea: Arta, pentru cei care nu caută autenticitate, poate avea un impact fără a fi nevoie de procesul de creație cu care suntem obișnuiți. Când a apărut Midjourney, am generat cu AI niște obiecte de artă făcute din fildeș, niște obiecte destul de bizare. Cum ar arăta o caracatiță dacă s-ar naște pe planeta din filmul Aliens? Tot ce s-a generat acolo era viziunea mea. Acesta e actual creativ: să ne gândim la lucruri la care alții nu s-au gândit și să le transpunem așa cum le vedem noi.

Ioana Marchiș: Transformarea adusă de AI este mare și poate va trebui să redefinim ce înseamnă artă. Până acum, pentru mine, arta era ceva creat de un om ce pune suflet, creativitate, nefiind rezultatul unui proces automat. Prin urmare, poate avem nevoie de o nouă categorie de artă.

Paul Donea: Trebuie să ne întrebăm dacă arta generată de AI creează emoție. Dacă simți emoție, o poți interpreta ca artă, dar, dacă prin ochii tăi tehnici rămâne doar ceva artificial, atunci pierde în fața factorului uman. Arta produsă de AI poate fi apreciată prin prisma imaginației celui care a scris acel prompt, a modului cum proiectează acest creator lumea. Dacă vine cineva din domeniul financiar care știe foarte bine acest domeniu și generează cod cu AI, este posibil ca acest cod să bată codul tău, deoarece tu, programatorul, nu ești expert în domeniul respectiv.

Ioana, cum vezi AI-ul folosit în modă, în fashion?

Ioana Marchiș: Un exemplu care există deja este acela în care îți poți customiza hainele online, astfel încât să vedem cum am arăta în anumite ținute.

Paul Donea: Cei de la Nike au un tool în care poți să îți faci tu pantofii sport așa cum vrei.

Alex Cioflică: Putem merge chiar mai departe. Putem găsi materiale noi sau, dacă ieșim din domeniu, putem găsi medicamente noi. Avem informații în multe baze de date, în multe arhive, și am putea să ne folosim de asta. În domeniul medical, s-a descoperit o clasă nouă de antibiotice. Tot așa, în domeniul structural, s-au găsit materiale noi de construcție. Ardem foarte multe etape.

Ioana Marchiș: Indiferent că vorbim de artă sau de alt domeniu, este important ca oamenii să știe dacă ceva s-a generat cu AI.

Paul Donea: Pentru a recunoaște ceva făcut cu AI, există acum algoritmi care detectează tipare. În același timp, dacă baza de date a unui mecanism AI bazat pe texte crește, atunci pot fi incluse acolo inclusiv texte ale tale, iar asta înseamnă că o comparație cu ceea ce ai scris tu va da o similitudine de peste 80%, ceea ce face imposibil de descoperit dacă ai scris ceva cu sau fără AI.

(întrebare din public): Poate fi citat AI-ul sau promptul folosit pentru generarea de text?

Paul Donea: AI-ul oricum citează, deoarece AI-ul nu inventează.

Problema e că nu vei primi același răspuns.

Paul Donea: Adevărat, dar va fi același la nivel de formulare.

Ciprian Sorlea: La nivel de inovare, poți fi original oferind AI-ului un anumit ton pe care să genereze text. Dacă prin Prompting, prin configurație, îți poți construi identitatea ta în raport cu LLM, conținutul va avea o amprentă personală și va fi diferit de orice alt text sau corpus universal de date.

Cei de la NVIDIA au spus că nu mai are rost să îi punem pe copii să învețe programare. Cum comentați această afirmație?

Ioana Marchiș: Nu cred că AI-ul va înlocui programatorul prea curând. Din ce am testat noi la nivel de companie, de exemplu GitHub Copilot, AI-ul îi poate ajuta pe programatorii începători, dar există o curbă de învățare. Cu siguranță și cei de nivel mediu sau avansat pot găsi informații utile sau căi de optimizare. Nivelul de pregătire va rămâne foarte importantă. Gândirea conceptuală a unei arhitecturi va conta la fel de mult.

Paul Donea: Chiar dacă unii ar spune să nu mai învățăm programare, tot ar trebui să învățăm matematică și raționament. Autenticitatea lucrurilor făcute de AI vine din îmbinarea factorului propriu, personal, cu factorul AI. Un AI nu va genera singur altceva autentic.

Să ne gândim la un scenariu extrem. În 20 de ani, AI-ul ne va genera toate pozele sau imaginile pe care le vrem, va scrie cod, va face tot. Noi ce vom mai face?

Alex Cioflică: Mereu am avut provocări, dar încă suntem aici.

Ciprian Sorlea: În orice industrie au avut loc niște revoluții. Mereu s-au resetat niște lucruri. După fiecare revoluție vine și o anume nostalgie, un focus pe anumite detalii, pe un anume mod de a face lucrurile. Dacă vorbim de lucrurile făcute manual sau de legumele bio, vom avea mereu oameni care vor căuta astfel de lucruri. Problema este că, dacă noi am fost atâția ani într-o industrie care a fost pe val, nu vor fi oameni care să dea bani grei pe software-ul generat manual dacă există software generat automat, fără programatori implicați. Frumusețea acestei tehnologii este că rezolvă probleme. Dacă această problemă este lipsa necesității de a scrie cod, omenirea va merge fără să clipească în direcția respectivă.

Ioana Marchiș: Eu cred că ne vom grupa fie în utilizatori de AI, fie în cei care se ocupă de designul sistemelor de mentenanță. Trebuie să ne familiarizăm cu aceste tehnologii. Cu cât devenim utilizatori mai educați, cu atât ne va fi mai bine.

E adevărat și că au fost hype-uri multe: Blockchain, Autonomous Driving. Poate anul viitor va apărea altceva, iar AI-ul așa cum îl știm acum să stagneze.

Ioana Marchiș: Noi foloseam Machine Learning oricum în companie pentru diverse beneficii pe partea de business. Deși OpenAI este mai nou, sunt studii MIT, de exemplu, unde se arătă că există un salt de productivitate pe use case-uri foarte clare.

De aici și până la următorul pas s-ar putea să nu avem o evoluție atât de rapidă, s-ar putea să avem o revoluție lină.

Ioana Marchiș: Toți clienții vor să folosească AI, deoarece au văzut beneficiile pe care le aduce la nivel personal.

Alex Cioflică: Mai mult, este mult mai accesibil decât Blockchain.

Ciprian Sorlea: Pentru Autonomous Driving, se știa de la început că există un roadmap, un traseu. Practic, este nevoie ca tehnologia să atingă diverse nivele de maturitate pentru ca să obținem obiectivul final. Această zonă tehnologică va redeveni de actualitate când alte considerente tehnologice vor fi abordate (infrastructură, politici, etc.). La fel va fi și pentru AI. Va trebuie să depășim anumite praguri.

(întrebare din public): Cât de mult afectează AI-ul ceea ce aveți în producție? Cât de mult afectează AI-ul businessul, banii? Mulți folosesc AI-ul ca sistem de recomandare și lasă deciziile la nivel uman.

Ioana Marchiș: Avem mai multe proiecte de acest fel. Unul dintre ele se ocupă de Responsible Gambling. Din câte știu eu, există mai multe nivele de la care se interacționează cu utilizatorul. Dacă riscul e mic, se dă un mesaj automat, dar, dacă riscul e mare, un AI nu va decide. Mai mult, sunt sute de operatori care interacționează cu clientul.

Paul Donea: Noi lucrăm foarte mult cu entități financiare. Regulile sunt foarte stricte. Folosim AI-ul ca asistent, dar nu poți pune cod în producție cu atât de multe reglementări. Există, apoi, o reticență a entității finale în ceva produs strict cu AI. Se fac pași în direcția creșterii încrederii în capabilități AI asistate de om.

(întrebare din public): Ați menționat că folosiți GitHub Copilot. Cum ați abordat faptul că, odată instalat în IDE, Copilot are acces la tot codul scris de voi?

Ioana Marchiș: Noi folosim această funcționalitate la nivel de proiecte pilot și există posibilitatea de a bifa că nu dorim să se folosească codul nostru în scop de antrenament. Am avut și discuții privind securitatea și reglementările legale în vigoare.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects