Agenții AI sunt peste tot
Este clar că rata de adopție pentru agenți AI în domeiul dezvoltării software a crescut destul de mult în ultimul an. Personal, aud tot mai des expresia “n-am mai scris o linie de cod de nu știu când” de la oameni cu peste 10 ani experiență în programare, ceea ce mi se pare puțin îngrijorător, dar mă face să mă întreb mereu pe ce fel de proiecte lucrează sau care e fluxul lor de lucru.
Pentru că realitatea e că nu poți scrie cod 100% din prompt-uri, pentru că e ineficient din toate punctele de vedere. Dar mulți oameni au devenit comozi. Și comoditatea asta o să-i tragă în jos și pe ei, dar și proiectele pe care lucrează. Dar despre asta, cu altă ocazie.
Productivitatea cu agenți AI
Am mai dezbătut în trecut despre productivitatea programatorilor cu agenți AI și am zis mereu că lucrurile nu stau atât de bine pe cât se scrie pe Twitter, dar lucrurile sunt destul de nuanțate aici. Zic Twitter, pentru că îl consider epicentrul hype-ului când vine vorba despre orice.
Evident, cel mai important aspect e cel al experienței propriu zise. Dacă știi deja cum să dezvolți un proiect de la zero, vei avea o mult mai bună înțelegere a pașilor pe care trebuie să-i faci pentru a ajunge unde îți dorești, și atunci și prompt-urile tale vor fi mult superioare unuia care scrie: “fă-mi un site”.
Dar dincolo de experiență, mai este un aspect destul de important pe care mulți îl ignoră, pentru că nu toată lumea care s-a prins în horă cu AI-ul poate să și vadă dincolo de zgomotul produs de asta. Aspectul ăsta este punctul în care se află proiectul din punct de vedere al ciclului de viață.

Vârful eficienței cu agenți AI
În faza de dezvoltare inițială, se produce extrem de mult cod într-un ritm accelerat. O dată ce proiectul ajunge în producție, rata de dezvoltare scade considerabil în fazele ulterioare. Chiar dacă prima versiune nu e, să spunem, una neapărat stabilă, ci mai mult un MVP.
În prima fază de dezvoltare, folosirea de agenți AI va aduce aporturi de productivitate mari, pentru că există mult cod “repetitiv”, să spunem, care se scrie, și totodată există și o flexibilitate mult mai mare în implementare. Atunci când nu riști să strici nimic, poți să refactorizezi până ești satisfăcut de implementare, fără să-ți faci griji.
Și asta e faza pe care cei mai mulți o văd acum, live pe Twitter, pentru că foarte multă lume construiește. E mult mai ușor acum, dacă ai cunoștințele tehnice, să ajungi la un start-up cu un SaaS (Software as a Service), decât în urmă cu 5-6 ani, când trebuia să scrii tot codul de la zero, de unul singur. Fără ajutor, n-ai fi reușit să ajungi prea departe într-un timp rezonabil.
Acum, în schimb, oamenii folosesc armate de sub-agenți ca să pună pe picioare rapid proiecte software complexe de la zero.
Unde eficiența agenților AI scade
La celălalt capăt al spectrului, totuși, există și proiectele care sunt în mentenanță și care au fost dezvoltate cu 10-20 de ani în urmă. Proiectele astea ajută business-uri cu mii și zeci de mii de angajați să opereze în prezent, iar fiecare modificare adusă riscă să producă o daună masivă, atât de imagine, cât și financiară business-urilor respective.
Proiectele astea sunt, de asemenea, de cele mai multe ori, foarte slabe din punct de vedere al calității codului, arhitecturii sau soluției tehnice, în general. Ceea ce face și mai complicată modificarea lor.
Încerc să nu generalizez și cred cu tărie că există și proiecte mai vechi bine scrise, dar, din experiența mea de peste 10 ani, nu am întâlnit nici măcar un proiect de genul ăsta care să fie decent.
Modelele AI sunt foarte bune la înțelegerea șabloanelor, dar, atunci când în cod totul e pur spaghetti și fiecare echipă care a contribuit a scris codul într-un alt fel, ele vor avea dificultăți în a înțelege întregul context și a produce un rezultat care să fie potrivit.
Deasemenea, nivelul de neprevăzut în proiectele de genul ăsta e unul extrem de mare și tot codul pe care îl scrii trebuie să fie mult mai defensiv decât ar fi în mod obișnuit. Lucru pe care un agent AI nu-l va face niciodată, iar dacă îi spui specific să facă asta, va exagera, complicând și mai tare codul.
Perspectiva asta nu ajunge, totuși, pe social-media, pentru că nu e interesant pentru nimeni să vadă cum se chinuie Claude prin codul unui dinozaur scris în anii 2000, care nu a reușit să ajungă mai modern de .NET Framework 4.0. Pentru cei care nu sunteți familiari cu ecosistemul .NET, versiunea asta de .NET Framework e apărută în 2010, cu mult înainte să existe React sau Angular, iar JavaScript era pe-atunci doar un limbaj de jucărie, folosit în scripting.
Poate o să crezi că exemplul dat de mine e o excepție, dar nu e. Realitatea marilor corporații, dincolo de cele care inovează în tehnologie, e aceea că multe din sistemele lor sunt încă prinse mult în trecut, cu practici și tehnici pe care agenții AI nu pot performa.
Concluzie
Știu că, pentru mulți, ceea ce povestesc aici pare rupt de realitate, pentru că nu e ceea ce se vede și aude prin media și social-media în fiecare zi, dar, din păcate, astea sunt sistemele care, în prezent, fac lumea să se învârtă. Sisteme bancare, sisteme logistice și de transport, sisteme de brokeraj etc., toate sunt mult înțepenite în timp, iar ținerea lor în viață sau migrarea lor la tehnologii moderne nu se poate face decât cu abilități bine definite de inginerie, nu cu prompt-uri și speranțe.
Sistemele de azi, care sunt scrise de oameni cu atitudinea “nu am mai scris o linie de cod de nu știu când”, sunt sistemele care vor ajunge peste 10+ ani ca cele descrise de mine anterior și de care nimeni nu se va putea atinge decât cu manuși, mască de protecție și rugăciuni.
Până atunci, nu lăsa tot codul în mâna unui agent AI, că s-ar putea să-ți pierzi atât abilitățile, cât și entuziasmul.
Ne auzim data viitoare.