*
„Fiți precauți la dez-calificare (digitală)”[3]
Săptămîna trecută, Boris Cherny, creatorul și șeful de la popularul agent Claude Code al Anthropic, a pornit un fir de discuție pe X despre cum folosește el unealta numită AI în munca sa. Firul a tulburat apele. „A început ca o simplă discuție în care omul își arăta bancul de lucru, și s-a viralizat într-un adevărat manifesto despre viitorul dezvoltării de software” – explică un articol VentureBeat pe tema incidentului.
După cum a explicat Cherny: el rulează dintr-o singură consolă cinci agenți, fiecare în cutiuța lui[4]: „Un agent rulează un set de teste, în paralel alt agent lucrează la bucăți vechi de cod și le aduce la zi[5], al treilea tot în paralel scrie documentație. Omul doar comută între agenți, adăugînd instrucțiuni sau dîndu-le cîte un ghiont în direcția bună, după nevoi; le verifică munca și-i trimite înapoi să-și îmbunătățească rezultatele.
Un utilizator a descris procesul ca o analogie la Starcraft (joc la care ritmul este rapid). Articolul de pe VentureBeat l-a descris pe Cherny ca pe un „comandant de flote”. Totul pare o adevărată distracție.
Dar: eu unul dac-aș fi programator, aș fi precaut la așa demonstrații.
În cartea „Munca și Capitalul-Monopol” publicată în 1974, influentul economist politic (și marxist) Harry Braveman argumentează că extinderea „revoluției tehno-științifice” era exploatată de companii pentru a dez-califica muncitorimea; pentru a-i lăsa în „ignoranță, incapacitate, și deci într-o poziție de a servi mașinăriile”. Cu cît angajații își mută meșteșugul lor înspre mașinării, cu atîta devin mai controlabili.
Este dificil să nu regăsim ecourile argumentului lui Braverman despre dez-calificare în demonstrațiile lui Cherny despre programarea făcută cu AI. O lume în care dezvoltarea de software se reduce la un ersatz, la managementul unor agenți digitali, energici dar care produc și mult gunoi – aceea este o lume în care un sector economic ce era cîndva important devine oase și piele, rămînînd din el mai puține slujbe, mai prost plătite, asta deoarece a jongla cu agenți AI cere mai puțină știință decît să produci cod elegant cu capul propriu. Iar consumatorul n-ar fi nici el în vreo poziție mai bună, întrucît programele ieșite de acolo ar fi mai puțin stabile, iar ritmul inovației ar încetini.
Singurul grup care trage indiscutabil beneficii din dez-calificarea programatorilor sunt companiile însele, care astfel își pot reduce unul din cele mai mari costuri, cele cu angajații.
Boris Cherny este șef de echipă senior la Anthropic, are în grijă o echipă mare, și foarte probabil deține un număr semnificativ de acțiuni și opțiuni[6] la companie. Desigur că el juisează de-a dreptul, gîndindu-se la agenți ce pot înlocui programatorii, dar asta nu înseamnă că trebuie și noi să fim la fel de entuziaști.
P.S. Nu vreau prin asta să neg valoarea uneltelor AI pentru programatori. Mulți programatori mi-au spus că AI-ul le este foarte util, ajutînd (cel puțin aparent) la creșterea vitezei de lucru. Lucrul care mă face pe mine suspicios este pretenția că următorul pas firesc este trecerea la o lume în care doar le trasăm instrucțiuni de muncă agenților. Poate părea foarte mișto pe moment, însă ceva mai profund (și întunecat) s-ar putea să se ascundă sub suprafața apelor, sub demontrațiile șmechere.
----------- Ca de obicei, traduc liber, nu cu scopul fidelității complete, ci cu cel al „să înțelegem cam ce-a vrut să spună autorul”[↩]
- As per my usual: I’m not going for full mapping of the original article, but a lax translation that let the Romanian reader get the point with sufficient accuracy.[↩]
- Deskilling e greu de tradus, dar facem pe bucăți. Skilling nu-i neapărat cuvînt, dar ar veni cumva ca o calificare, pregătire în muncă, îmbunătățirea îndemînărilor unui muncitor. Inversul este deskilling, a-ți pierde îndemînările și calificările. Cum face asta în română? A descalifica este deja ocupat semantic să facă alte sensuri. Dar prefixul dez- pare a fi ce trebuie, prin analogie cu dez-aburire, dez-brăcare etc[↩]
- „Each in its own tab” – încă nu avem o traducere pentru tabs. Încercasem eu să traduc cu „filă”, dar nu-s convins că a prins. Deci mai bine folosim termeni ocolitori.[↩]
- Desfid pe oricine să traducă „refactors a legacy module” într-un mod care-i transparent pentru non-programatori.[↩]
- „Stock options”, diverse beneficii care pot fi fructificate după o vreme. Opțiunea de a cumpăra acțiuni la preț preferințial.[↩]
Note personale:
Indiferent de părerile pro- sau contra-, tehnologia AI a apărut și pare că livrează ceva rezultate.
Pe vechiul principiu din economie „dacă se poate (face mai ieftin, mai rapid etc), atunci trebuie”, faptul că a apărut AI în peisaj este fapt imposibil de schimbat. E ca și cum ai încerca să bagi înapoi duhul în sticla de unde-a ieșit, sau mai plastic vorbind, să bagi înapoi cîcatul în cur. Nu merge. Sau cere operațiuni mult mai costisitoare decît procesul original, deci nu merită s-o faci.
Cal Newport observă binișor că obișnuirea cu AI duce la o dezcalificare a muncitorimii pe de cîmpiile digitale. Pe de altă parte, argumentul mi se pare calp, dintr-un simplu motiv: însăși definiția calificării se va schimba. Însăși noțiunea de „a fi programator” nu va mai însemna doar „să știi să scrii cod pur 100% folosind capul propriu”.
Hai s-o luăm așa: poate că în 1980 noțiunea de „a fi programator” însemna doar „să știi limbajul de programare și să citești manualul oficial”. Ba chiar și atunci, am putea argumenta, vorbeau oamenii între ei pe BBS-uri (bulletin board services și ce mai exista înainte de internetul-pe-scară-largă, adică Toamna Eternă).
Dar ia să privim mai aproape de viitorul anterior recent, ce-ți trebuia ca să fii programator mediocru spre decent acum 5-10 ani, pînă prin 2022? Păi, păcatele mele, îți trebuie minima calificare să știi cum să cauți pe Google. Asta pentru că fără Google nu aveai acces la Stack Overflow și alte forumuri obscure, unde oamenii discutau între ei și publicau răspunsuri la întrebări de programare mai comune sau mai ezoterice. Mai știe cineva glumele că „dacă ar pica saitul StackOverflow timp de o zi, am vedea din avion pierderea de productivitate”?
Cu alte cuvinte, chiar recent, meseriașul în programare era deja stăpîn pe îndemînări care nu țineau 100% de munca lui, ci de modul cum interacționa cu uneltele aflate la dispoziție, și mai ales de capacitatea lui de înțelegere & adaptare a ceea ce citea. Degeaba scrie online că a făcut Cutărescu următoarea incantație magică în contextul lui, dacă de fapt în contextul tău ai niște franjuri și niște variabile în plus, care modifică de fapt ce trebuie tu să faci.
Mno, AI pare a fi doar pasul următor, cel puțin pentru programatorul mediu. Un AI macină la datele ce le are la dispoziție, le tot potrivește pe-acolo, pînă îi dă ceva ce pare să aibă coerență. Și are și limitări, setări din fabrică, tot felul de chestii de care trebuie să iei seamă înainte să iei de bun ce produce el acolo. Cu alte cuvinte: nu doar că trebuie să știi bazele în continuare, dar trebuie să știi ce să bibilești la discuția cu AI-ul pentru a-l coordona să producă ceva util. De-aia zic, însăși înțelegerea comună asupra noțiunii de programator se va modifica pentru a îngloba tacit și această calificare, de-a ști cum să discuți cu AI-ul. Cam asta.
De văzut și articolul despre legea abstractizărilor care au scurgeri, al lui Joel Spolsky: https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/