Cred că e clar pentru toată lumea că sunt sysadmin, nu programator. Totuși, datorită blogului, din momentul în care am realizat că niciun template de WordPress nu va fi vreodată pe placul meu, m-am pus pe învățat frontend ca să nu fiu total paralel. Știu suficient PHP și CSS cât să modific un layout, să ajustez un buton sau să integrez o funcționalitate fără să stric tot site-ul.

logica agenților AI

Când au apărut agenții de programare bazați pe AI, am avut impresia că l-am prins pe Dumnezeu de un picior. Cu ajutorul lor mi-a fost mult mai simplu să învăț tehnici noi și, mai ales, să înțeleg rapid unde și de ce am greșit. Dacă înainte îi „bâzâiam” pe prietenii și colegii programatori de fiecare dată când nu găseam o soluție, acum mă bazez pe Codex sau Code Assist, însă încep să observ o trăsătură care mă surprinde: individualismul excesiv al acestor unelte.

Sindromul programatorului junior

Marea diferență pe care o observ este legată de context. Atunci când apelam la programatori in carne și oase, prima lor reacție era să ceară detalii suplimentare pentru a înțelege imaginea de ansamblu. Agenții AI nu fac asta; ei încearcă mereu să rezolve problema punctual, exact ca niște programatori juniori cărora le e teamă să spună că au nevoie de ajutor.

În loc să ceară lămuriri, AI-ul preferă să o întoarcă pe toate părțile până când intră într-o buclă infinită de erori. De multe ori, singura cale de scăpare rămâne restaurarea backup-ului de dinainte de „patch”. Se comportă ca și cum ar avea un orgoliu digital care îi împiedică să spună: „Nu înțeleg ce vrei să faci aici, dă-mi mai multe detalii”.

Debugging cu un asistent „introvertit”

Recent, profitând de niște insomnii matinale, m-am apucat să mai pun la punct tema blogului. Voiam să configurez feed-urile astfel încât să afișeze imaginile reprezentative în carduri cu formate specifice, în funcție de dispozitivul de pe care sunt accesate. M-am lovit de o rezistență algoritmică fascinantă: agentul de programare a început să aplice fix-uri aleatorii în functions.php doar pentru că nu a cerut contextul necesar.

I-am cerut să optimizeze srcset-ul și să gestioneze image_downsize, iar el a încercat să deducă variabile care nu existau în acel fragment. De exemplu, a decis că e o idee excelentă să pună preload pe toate imaginile, indiferent de locul unde apar, sau să genereze zece dimensiuni diferite pentru o imagine, fără să verifice dacă acele variante sunt măcar necesare în contextul temei mele. Deși i-am reamintit explicit să mă întrebe dacă are nelămuriri, a continuat să „presupună”, ignorând snippet-urile de cod care provocau, de fapt, problema.

logica agenților AI (2)

Uneori am impresia că acești agenți au fost antrenați pe date provenite de la programatori introvertiți. Altfel nu-mi explic de ce nu vin cu o întrebare simplă: „Bro, ia dă-mi fragmentul ăsta de cod să văd ce se întâmplă acolo”. În exemplul dat, lipsa de colaborare între noi a dus la situații absurde în care AI-ul a eliminat direct funcții utile din functions.php doar pentru că nu vizau cardurile din feed.

logica agenților AI (3)

Dacă îi spui unui programator că vrei o imagine într-un card de feed, prima lui întrebare va fi una plină de logică: „Coae, o mai folosești și altundeva?”, iar dacă nu știi răspunsul, că poate habar n-ai ce te-a întrebat, nu-ți rezolvă problema până când nu verifică tot ce ajunge pe frontend. Această interpelare simplă scutește ore întregi de muncă inutilă și previne bug-uri în cascadă. Din păcate, logica elementară și simțul practic, capacitatea de a vedea dincolo de codul din fișierul curent, sunt singurele lucruri pe care inteligența artificială s-ar putea să nu le stăpânească niciodată pe deplin.

Experiența mi-a arătat că AI-ul este un instrument de asistență formidabil, dar rămâne un partener de dialog „surd” atunci când vine vorba de arhitectura logică a unui proiect mai complex.

2 comentarii

  1. Tare articolul! Nu vreau să mă înțelegi greșit, dar chiar mă bucur că AI-ul încă (și am zis „încă” nu pentru că sper să fie invers, ci pentru că mă gândesc că poate o să-l rezolve ei cumva, deși eu nu doresc asta) nu poate face chiar tot. În felul acesta, poate încă mai rămân job-urile intacte pentru cât mai mulți programatori, deși, cum am scris în paranteza de mai sus, cred că îl vor dovedi cu timpul și pe asta, adică o să-l facă să meargă brici și la programare. Poate acum încă nu au interes, sau poate l-au făcut bun, dar numai pe bani grei, pentru firme specializate pe programare și care vor neapărat asistență AI. Nu știu sigur, zic și eu așa. Cert este că, recunosc, sunt mojic: nu vreau să le iasă afacerea, dacă asta înseamnă eliminarea oamenilor, recte programatorilor, din schemă. Nu sunt vreun partizan al oamenilor și-mi imaginez că, într-un viitor nu prea îndepărtat, la un moment dat vor fi săriți din schemă mai toți muncitorii, fie de la birouri, fie din fabrică sau din alte locuri de muncă, dar cred că ar trebui să încetinim cât putem acest episod, adică să nu-i lăsăm pe toți deodată fără obiectul muncii. Cu toate că, dacă stau bine și mă gândesc, în Anglia, cică sunt deja 4 milioane de englezi care nu mai au nevoie de job, pentru că li se oferă ceva gen venitul global al cetățeanului. Nu știu cum vine treaba asta, dar cică au pus-o deja în aplicare și, din câte știu eu sau cunosc, cred că ei sunt primii care au aplicat deja treaba cu venitul universal al cetățeanului, de care vorbea Musk. Asta este părerea mea, dar poate este greșită. Poate societății îi va fi mai bine acasă, la plimbare toată ziua, dacă va avea un venit universal garantat, cum zice Musk. Eu încă cred în serviciu, adică job, dar nu e neapărat să fie bine sau ok cum gândesc eu.

Spune-ți părerea!

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.