Kako preživeti haos vajb kodiranja?
AI asistenti za kodiranje poput Clauda doneli su neverovatnu brzinu i praktičnost u svet razvoja softvera. Međutim, iza ove efikasnosti krije se skrivena opasnost: stvaranje haotičnih sistema i ogromnog tehničkog duga, što jedan programer opisuje kao "masovni monolit kodiran po osećaju" (mass vibe-coded monolith).
Ovo stvara novu, bolnu disciplinu koju je nazvao "vodoinstalaterska arheologija" – mukotrpan proces kopanja po kodu generisanom od strane veštačke inteligencije, gde je originalno rezonovanje, ono ključno "zašto", potpuno izgubljeno. Ovaj članak destiluje najvažnije zaključke iz nedavne diskusije među programerima o tome kako se snaći u ovoj novoj realnosti i preživeti je.
"AI brljotina" je nova realnost, a "zašto" je njena najveća žrtva
Osnovni problem koji je pokrenuo diskusiju je iskustvo nasleđivanja kodne baze koja "jednostavno radi", ali nema prepoznatljivu arhitekturu. Programer koji je podelio svoju priču opisao je sistem kao "Frankenštajnovo stvorenje" – skup delova koji imaju smisla pojedinačno, ali zajedno čine haotičnu celinu.
Glavni izvor frustracije nije sam kod, već nemogućnost da se razume logika iza ključnih arhitektonskih odluka. Razlozi su nekada postojali, ali su nestali zajedno sa privremenim čet sesijama u AI alatu.
Svaki put kada bih pitao "zašto je ovo napravljeno na ovaj način?", odgovor bi bio ili "prethodni programer je otišao", ili "mislim da je postojao razlog, ali se niko ne seća", ili dobro staro "startap tempo, samo smo uradili..."
AI je "krekifikacija kodiranja" - pojačava i dobro i loše
Jedan od ključnih uvida iz diskusije, koji je ponudio korisnik Practical-Bell7581, jeste da problem lošeg koda nije nov, ali ga veštačka inteligencija pojačava do ekstrema. Nedisciplinovane prakse kodiranja koje su nekada rezultirale "ljudskom brljotinom" (human slop) sada, uz pomoć AI alata, dovode do "AI brljotine" (AI slop) neuporedivo brže.
AI ne stvara problem, već ga multiplicira. On je pojačalo koje jednako uvećava i dobre i loše navike programera.
AI je u suštini krekifikacija kodiranja. To je ista stvar, samo na steroidima. Pojačava sve aspekte razvoja – i dobre i loše.
Ovaj zaključak je ključan jer prebacuje fokus sa alata na korisnika. Krivica nije u veštačkoj inteligenciji, već u praksama i disciplini onoga ko je koristi – što nas dovodi do srži problema.
Problem nije u alatu, već u ljudskoj disciplini
Nadovezujući se na prethodnu tačku, diskusija je jasno identifikovala da je koren problema nedostatak ljudske discipline i predviđanja. Korisnik Practical-Bell7581 podelio je anegdotu o kolegi koji je, na primedbu da će njegov kod biti teško razumljiv sledećem programeru, odgovorio: "To nije moj problem!".
Ovakav stav ilustruje odsustvo profesionalizma i svesti da je "sledeća osoba" kojoj pravite problem vrlo često – vi sami u budućnosti. Dodatnu dimenziju problemu dao je korisnik mirageofstars, koji je primetio da AI omogućava ljudima da stvaraju loš kod, iako inače ne bi umeli da programiraju uopšte, uporedivši to sa situacijom u kojoj "stavite decu u kabinu bagera".
Rešenje je strukturirano razmišljanje i beleženje odluka
Najvažniji deo diskusije je ponuđeno rešenje: nametanje strukturiranog procesa razmišljanja pre pisanja koda. Inicijalni autor teme objasnio je svoj metod koji koristi okvir sistemskog razmišljanja pod nazivom FPF (First Principles Framework) kako bi generisao i procenio više hipoteza pre nego što se odluči za konkretno rešenje.
Kao primer, naveo je proces popravljanja nasleđenog monolita. Umesto da odmah krene sa implementacijom, koristio je AI asistenta da, vođen okvirom, predloži tri hipoteze:
- H1: Popraviti postojeće testove i dodati ih u CI (konzervativni pristup).
- H2: Potpuni DDD refaktoring (radikalni pristup).
- H3: Uvođenje jače statičke analize (novi pristup).
Analiza je brzo eliminisala H2 jer tim nije imao potrebno znanje za DDD, a proces bi usporio razvoj. Na kraju je doneta odluka da se primeni hibridno rešenje H1 + H3, a odbacivanje H2 je detaljno dokumentovano.
Krajnji rezultat je stvaranje trajnog "dokumenta o odluci". Ovaj zapis osigurava da šest meseci kasnije, kada neko postavi pitanje "zašto je ovo napravljeno na ovaj način?", postoji jasan i dokumentovan odgovor.
Zaključak: Ostavljajte mape, a ne ruševine
AI asistenti za kodiranje su neverovatno moćni alati, ali oni su samo pojačala. Bez discipline, strukturiranog razmišljanja i profesionalne odgovornosti, oni pojačavaju haos. Sa disciplinom, oni pojačavaju kompetentnost i efikasnost.
Cilj nije da prestanemo da koristimo veštačku inteligenciju, već da je integrišemo u promišljeniji inženjerski proces koji daje prednost jasnoći, održivosti i dugoročnoj vrednosti. Ne smemo dozvoliti da brzina potisne razumevanje.
U vašem timu, kako osiguravate da AI partner u kodiranju iza sebe ostavlja tragove, a ne samo tehnički dug?
Izvor: Reddit
Komentari
Nema komentara. Šta vi mislite o ovome?