Programiranje u doba AI: Revolucija, sprdnja ili samo novi „električni alat“?
U svetu softverskog inženjeringa trenutno vlada prava šizofrenija, a nivo toksičnosti na forumima podseća na najgore dane „tabs vs. spaces“ rata. Dok nam tech evanđelisti prodaju maglu o kraju programiranja, a cinici sve otpisuju kao običnu sprdnju, mi arhitekte pokušavamo da shvatimo gde je nestao razum. Istina je, kao i obično, dosadna: AI nije magija, ali nije ni bezazlena igračka. Centralno pitanje nije da li će nas LLM (Large Language Model) zameniti, već zašto uporno odbijamo da priznamo gde leži pravi koren problema. Spoiler alert: i dalje je na onom famoznom mestu – između stolice i ekrana.
Analogija sa stolarima: Zašto krivimo alat?
Svaki put kada čujem kolegu kako kuka da mu je AI „otrovao“ codebase ili generisao smeće, setim se analogije sa stolarima. LLM je zapravo moderna verzija električnog alata (power tools). Možete vi i dalje da dubite drvo dletom jer tako „osećate materijal“, ali ako vas neko plaća da napravite kuhinju do srede, a vi odbijate cirkular iz principa, vi niste purista – vi ste neefikasni.
Prebacivanje krivice na AI je najlakši način da se maskira sopstvena lenjost ili nesposobnost da se napiše krštena specifikacija. Ako ne znaš šta želiš, AI će ti to isporučiti sa neverovatnom preciznošću u svom besmislu.
„Problem ostaje na istom mestu, između stolice i ekrana, samo za nijansu menja oblik... Niko te ne tera da prepustiš thinking LLMu, pogotovu ne tamo gde je bitno. To biraš da radiš, a onda biraš da okriviš LLM a ne svoj spec. Na kraju krajeva... Ima još stolara koji ne koriste power tools, tako bolje ‘osećaju drvo’. Super je to. Ako to radiš iz ljubavi, i za sebe. Ako te neko plaća da mu uradiš ormar i kuhinju onda možda postane problem.“ — MDedijer
Kriza determinizma: Zašto AI nije kompajler?
Kao arhitekta, moj najveći problem sa AI-jem nije to što on „greši“, već to što je ubio determinizam. Tradicionalni kompajler je oličenje logike: isti ulaz, pod istim pravilima, uvek daje isti binarni izlaz. Kod AI agenata smo ušli u zonu „vibracija“.
Dva inženjera mogu da sede jedan pored drugog, daju isti prompt istom modelu i dobiju dve potpuno različite arhitektonske nakaze. Ne postoje fiksna pravila optimizacije, samo verovatnoća sledećeg tokena. Rezultat je codebase koji više ne liči na precizno projektovanu mašinu, već na skup rešenja koja „piju vodu“ dok ne prođe demo, ali unose arhitektonski dug koji će neko (verovatno mlađi programer koji još uvek veruje u deda mraza) morati da otplaćuje godinama.
Povratak u budućnost: Lisp mašine i AST kao „Building Blocks“
Dok mi trošimo tokene na generisanje Boilerplate koda, prava revolucija se možda krije u povratku idejama koje su bile „kul“ pre nego što su mnogi od nas naučili da kucaju. Ako AI već piše kod, zašto se mi i dalje držimo tekstualnih fajlova i foldera kao pijan plota? To je usko grlo.
Koncepti koji obećavaju izlaz iz ovog limba uključuju:
- AST kao temelj: Softver koji nije definisan kao niz karaktera (tekst), već kao Abstract Syntax Tree – stablo sintakse koje se direktno modifikuje.
- E-A-V-T strimovi: Entity-Attribute-Value-Timestamp model. Jednostavnije rečeno: to su podaci koji pamte sopstvenu istoriju. Svaka promena je strim koji se može ponovo odigrati.
- Dinamička modifikacija: Vizija u kojoj cela organizacija „uživo“ menja AST kroz virtuelne mašine, slično futurističkim LCARS sistemima iz Zvezdanih staza.
Projekti poput datom.world i Replikativ (pogledajte njihov geschichte repo) sugerišu da se krećemo ka modernim verzijama Lisp mašina. AI ovde ne bi trebalo da kuca tekst umesto nas, već da manipuliše ovim osnovnim gradivnim blokovima u realnom vremenu.
Loop „gaslightovanja“ i realnost tokena
Međutim, pre nego što poletimo u Enterprise-D, moramo da se suočimo sa trenutnom bedom „AI-driven“ developmenta. To je često igra ruskog ruleta gde je pištolj napunjen halucinacijama i limitima tokena. Svi smo iskusili onaj mazohistički loop gde vas model, nakon što je po treći put srušio produkciju, ljubazno ubeđuje da ste vi zapravo u pravu:
„That’s a totally valid point and, honestly, this one is on me.“
Ovo je vrhunac apsurda. Programeri polako gube mišić za peer review i zamenjuju ga slepim verovanjem entitetu koji se izvinjava kao političar pred izbore. A tu je i infrastruktura: šta radite kada server padne usred ispravke kritičnog bug-a? Ili još gore, kada zavladaju deluzivna očekivanja da će AI, kao u nekoj lošoj šali, „refaktorisati ceo codebase u assembly bez greške“ baš u trenutku kad vam ističu tokeni?
Ova „automatizacija“ me neodoljivo podseća na Muskov robo-taksi: spolja izgleda kao budućnost, a unutra sede tri vozača koja zapravo upravljaju sistemom da se ne bi zakucao u prvu banderu. To nije AI razvoj, to je pozorište senki.
Zaključak: Da li smo spremni za „Spec-Driven“ budućnost?
Dok industrija vrišti o produktivnosti, ja se pitam kada ćemo početi da pričamo o odgovornosti. Svi se plaše da će ih AI zameniti, ali niko ne pita kada ćemo zameniti CEO-ove sa AI-jem. Možda bismo tada konačno dobili razumne ciljeve, realne deadline-ove i bolje poslovanje firmi umesto besomučnog jurenja za hajpom.
Budućnost softvera je u „spec-driven“ pristupu. Ako AI može da generiše bilo koji kod iz vaših reči, vaša jedina vrednost postaje sposobnost da precizno definišete problem. Ako ne znate šta želite, nikakav „električni alat“ vam neće pomoći.
Na kraju dana, pitanje ostaje: Da li je vaš problem zaista u kodu koji AI piše loše, ili u tome što vi zapravo nemate pojma šta pokušavate da napravite? Budućnost ne pripada onima koji najbrže troše tokene, već onima koji još uvek znaju da misle. Sve ostalo je samo bolja ili gora testera.
Izvor: Reddit
Komentari
Nema komentara. Šta vi mislite o ovome?