Prošle nedelje sam pričao sa kolegom koji je čuo nekoga kako se hvali da je napravio kompletan CRM sistem za 2 sata koristeći ChatGPT. “Pogledaj ovo,” rekao je ponosno, “dodajem klijente, menjam podatke, generišem izveštaje — sve funkcioniše!”
Da li radi? Apsolutno! Da li bih mu poverio svoju bazu klijenata? Možda samo za demo.
To je suština problema koji većina ljudi, čak i onih u IT-u, tek počinje da razume.
”Šta” i moja baba može!
Generativni AI je oživeo paradigmu deklarativnog programiranja — umesto da radimo u imperativnom modu, govoreći mašinama “Kako” nešto da urade, mi specificiramo “Šta” treba da se uradi, a mašina to implementira.
“Hoću aplikaciju za zakazivanje.” “Treba mi sistem za inventar.” “Napravi mi blog sa komentarima.”
Bilo ko može da kaže AI-u šta želi i dobije funkcionalan kod. Gen-AI je u tome odličan.
Problem? Bilo ko drugi može da pita ChatGPT isto i dobije (funkcionalno) identičnu aplikaciju. I obično će biti pogodna samo za demo.
Prava razlika nastaje kroz pitanja koja većina ljudi ne postavlja: “Šta se dešava kad 50 korisnika rezerviše isti termin istovremeno?”, “Kako će da radi sa 10.000 proizvoda umesto 50?”, “Koliko će to da košta sa svim tim korisnicima?!”
Gde živi prava vrednost?
Konkretan primer: kolegi treba “sistem za upload fajlova.” AI generiše:
app.post('/upload', (req, res) => {
// Prima fajl, čuva na disk, vraća success
});
Radi! Savršen plan! …osim što ne radi.
Zato što niste definisali kritične kontekstualne parametre. Na primer:
- “Fajlovi do 100MB treba da se završe za 3 sekunde, ali za fajlove preko 1GB, 5 minuta je ok”
- “Budžet je $200/mesečno za storage, što znači maksimalno X fajlova”
- “Ako upload padne na 90%, korisnik treba da nastavi odatle”
- “GDPR usklađenost znači automatsko brisanje nakon 2 godine”
AI može sve ovo da implementira. Ali ne zna da li treba, u kojoj meri, ili koji kompromis radi za vašu situaciju.
Decision Architect — nova paradigma
Ovo nisu čisto tehnička pitanja — ona su kontekstualna. I stvaraju pravu vrednost.
Umesto da ja pišem kod, AI meni postavlja pitanja:
“Za backup, vidim tri opcije: dnevni backup košta $50/mesečno ali gubite do 24h podataka, satni košta $150 sa max 1h gubitka, real-time košta $400 sa nula gubitka. S obzirom na tip vaše aplikacije, šta preporučujete?”
Tu AI staje i počinje Decision Architect — tradicionalni softverski inženjer. Ja.
Zato što ja znam da je ovo interni alat za 10 korisnika gde dnevni backup savršeno odgovara. Ali za korisnički payment app, gubitak jednog sata podataka može koštati daleko više od uštede na backup-u.
Zašto trenutni alati nisu dovoljni
Jednostavan odgovor — napravljeni su za staru paradigmu, organizovani oko zadataka, ne odluka.
GitHub Copilot: “Evo authentication koda!” Ja: “Super, ali da li je 30-minutni session timeout pravi za moju aplikaciju?” Copilot: ”…(tišina)…”
Jira tiket: “Implementiraj keširanje” AI: “Evo Redis implementacije!” Ja: “Ali da li mi uopšte treba keširanje sa 100 dnevnih korisnika?”
Problem? Alati pretpostavljaju (by design) da je posao završen kada se kod kompajlira i prođe funkcionalne testove. Zapravo, pravi posao tek počinje.
Kako bi moglo da izgleda?
Zamišljam AI-first alat koji radi otprilike ovako:
Ja: “Hajde da nastavimo sa e-commerce sajtom” AI: “Generišem osnovnu strukturu… Da li očekujete preko 1000 porudžbina mesečno?” Ja: “Ne, maksimalno 100” AI: “Onda opcije za bazu mogu biti SQLite ili PostgreSQL. SQLite štedi $50/mesečno i 10x je jednostavniji za setup. Ali migracija postaje haotična ako porastete. Kako da nastavimo?” Ja: “Idemo SQLite” AI: “Sledeće — procesiranje plaćanja. Za 100 porudžbina, Stripe je $0.30 po transakciji. PayPal je $0.40 ali mu korisnici više veruju. Vaše mišljenje?” Ja: “Koja je mesečna razlika?” I tako dalje.
To bi bio pravi AI-first alat koji podržava ulogu Decision Architect-a. Zamislite Git-like-AI-tool koji umesto da upravlja verzijama koda, prati istoriju odluka na projektu?
Istraživanja pokazuju da 95% kompanija koristi AI za razvoj, ali samo 1% smatra implementacije “zrelim.” Zašto?
Zato što forsiraju AI u stare workflow-e. Kao da pokušavate da napravite brže konje i kočije sa AI-jem umesto da gradite automobile.
Pravo pitanje nije “Kako AI može da piše bolji kod?” već “Kako AI može da pomogne u donošenju boljih odluka?”
Šta to znači za nas, softverske developere?
Softverski razvoj nikada nije bio samo pisanje koda. Oduvek se radilo o donošenju ispravnih (informisanih) odluka u uslovima neizvesnosti. AI samo čini tu realnost jasnijom nego ikada.
Budućnost nije “AI vs. Developeri.” Radi se o transformaciji trenutnih softverskih inženjera u Decision Architect-e koji razumeju gde leži prava vrednost.
Ali potrebni su nam alati izgrađeni od nule za AI-first svet koji podržavaju ulogu Decision Architect-a. Ne stari alati sa AI šminkom. Trebaju nam automobili, ne brži konji i kočije.
Vaš kod možda radi savršeno. Ali da li radi ispravno za vašu specifičnu situaciju? To je razlika između hobija i profesije.
AI može da vas ubrza 10x u pisanju koda. Ali samo sposobnost donošenja boljih kontekstualnih odluka vas čini istinski vrednim.