Razvoj uz podršku umjetne inteligencije: što kritičari prešućuju
Svaki alat ima svog skeptika. Njegove su brige razumljive – no ipak se tope pred jednim prijateljskim protupitanjem.
Uvod
Postoji vrsta ljudi koja novu tehnologiju najprije dočeka prijateljskim mrštenjem čela. Nazovimo ga od milja: skeptik. Kod automobila je njegov predak žalio za konjskom zapregom, kod kalkulatora za računanjem napamet, kod interneta za dobrim starim registratorom za spise. A danas, kod razvoja softvera uz podršku umjetne inteligencije, sjedi na sastanku, značajno mršti čelo i ima osjećaj da sve to baš i nije za povjerenje. Razumljivo – novo nikada nije bilo udobno.
Svoje primjedbe iznosi poput somelijera koji prigovara na čep: s otmjenošću, sa žaljenjem, gotovo brižno. „To ipak nije održivo.“ „Nedostaje kontrola.“ „Previše je nefleksibilno.“ Čovjek bi mu gotovo dodijelio odličje za stav. Samo što se pokoji prigovor pred prvim prijateljskim protupitanjem pomalo rastopi. Ovaj članak u miru razgleda najomiljenije – s osmijehom, ali pošteno.
1. „Manjak fleksibilnosti“ – najtvrdokorniji mit
Njegova najdraža riječ glasi: manjak fleksibilnosti – izgovorena s pobožnošću čovjeka koji je napokon pronašao riječ koja zvuči lijepo stručno, a ostaje ugodno neobvezujuća. Navodno je razvoj uz podršku umjetne inteligencije krut, šabloniziran, gotov s police, standard umjesto rada po mjeri. Prije nego što klikne na sljedeći slajd, jedno nedužno protupitanje:
Što je, molim vas, fleksibilnije?
Njegov klasik kad se usred projekta promijeni zahtjev: zakazati rundu usklađivanja, dogovoriti dodatni sastanak, preraditi koncept, kalkulirati tri tjedna – ali barem je bilo keksa. Put uz podršku umjetne inteligencije: opisati promjenu jasnim riječima, i nekoliko minuta poslije već postoji prva varijanta. Ne jedno rješenje – tri pristupa, jedan pored drugoga, usporediva još prije ručka za koji je upravo rezervirao stol.
Fleksibilnost ne znači kliknuti predložak. Fleksibilnost znači: izreći ideju danas ujutro i držati je u ruci danas poslijepodne. Isprobati drugačiji izgled a da to ne stoji tri radna dana i jednu rundu suosjećanja. Ponovno odbaciti neku funkciju a da nitko uvrijeđeno ne zaklopi bilježnicu. Upravo je to svakodnevica razvoja uz podršku umjetne inteligencije.
Prigovor čak stoji naglavačke: šablone su alati za izradu stranica – uvijek iste teme s police. Individualno razvijen softver, kod kojega umjetna inteligencija preuzima tupi, ponavljajući posao, upravo je suprotnost šabloni. Pregovoran je do posljednjeg retka – i baš je to skeptiku još nepoznat teren.
Tko kaže „nefleksibilno“, to najčešće naprosto još nije vidio na djelu. Bez zamjerke – ne može se žaliti za onim što se još ne poznaje.
2. „To ipak nije pravo programiranje“
Blagi argument čuvara vrata, izrečen sa sjetnim žaljenjem čovjeka koji pomalo žali za starim poretkom: ovdje pravi razvojni programeri, ondje ostali. No nitko pred gotovom kućom ne pita je li krovište postavljeno čekićem ili akumulatorskom bušilicom. Na kraju stoji kuća – i ona drži, ili ne drži.
Uloge se nisu raspale, nego su se pomaknule. O arhitekturi odlučuje razvojni programer. O tome koji podaci kako teku, odlučuje razvojni programer. Što ide zajedno, što je sigurno, što se testira – razvojni programer. Umjetna inteligencija ne piše djelo, ona samo brže vodi pero. Odgovornost, prosudba i smjer ostaju kod čovjeka. Otpada tek svečano mrštenje čela.
Jedino iskreno mjerilo jest proizvod. Učitava li se brzo? Je li siguran? Može li se održavati i proširivati? Rješava li problem klijenta? Ta pitanja nikada nisu pitala koji je alat bio na djelu – a nije, uostalom, ni klijent.
3. „Ne razumiješ vlastiti kôd“
Slika iza toga je predivno dramatična: netko klikne na gumb, slijepo kopira ono što izađe, gurne to u produkciju i zviždučući ode kući. To bi doista bilo nemarno – samo što s profesionalnim radom ima onoliko veze koliko i bojanje po brojevima s Rembrandtom.
Svaki se redak čita. Svaki se redak provjerava. Ono što nije shvaćeno ne ide u produkciju – tako jednostavno glasi pravilo. A u praksi se argument često okrene u suprotnost: kôd nastao uz podršku umjetne inteligencije često je urednije dokumentiran, dosljednije imenovan i temeljitije komentiran od nabrzinu napisanog ručnog rada u 23 sata pred rok.
Razumijevanje ne nastaje time što svaki znak sam tipkaš – inače bi najbrži daktilograf automatski bio najbolji arhitekt. Nastaje time što znaš što se treba dogoditi i prepoznaješ događa li se to. To je oduvijek bila srž ovoga zanimanja, davno prije nego što ga je postalo pomodno braniti.
4. „Brzo znači aljkavo“
Tvrdokorna misaona pogreška, skeptiku osobito draga: izjednačavanje tempa s nemarom. Kao da je sporost obilježje kvalitete – kao da bi Wi-Fi stigao iz ekološkog uzgoja samo ako se učitava dovoljno sporo. No brzina ne nastaje time što se izostavlja kvaliteta, nego time što se izostavlja ono tupo – boilerplate, konfiguracija, dvadeseti obrazac, traženje sintakse.
Ušteđeno vrijeme ne nestaje – seli se onamo gdje je važno.
U arhitekturu, u pristupačnost, u rubne slučajeve, u pravo testiranje, u promišljanje korisničkog vođenja. Dakle upravo u one stvari koje odlučuju o kvaliteti i za koje u ručnom radu, između sastanka i runde usklađivanja, na kraju nikada nije preostalo dovoljno sati.
5. Zašto je suzdržanost ipak tako velika
Ako argumenti tako slabo drže – zašto ih se ipak tako srdačno drži? Iskren odgovor rijetko ima veze s tehnikom, a gotovo uvijek s nečim vrlo ljudskim: s navikom.
Tko je desetljećima usvajao da se vrijednost pokazuje u odrađenim satima, toga uznemiruje tehnologija koja u satima obavi ono za što je prije trebalo tjedne. I, ruku na srce: tko rado odustaje od onoga što godinama pouzdano funkcionira? To je manje tvrdoglavost, a više naprosto ljudski. Samo što ta briga opisuje vlastito uhodano – a ne samu stvar.
Novi alati nikada nisu ništa oduzeli onima koji vole stvarati. Uvijek su tražili tek malo hrabrosti – a nju na kraju gotovo svatko skupi.
Zaključak: na kraju se broji rezultat
Klijent ne pita kojim je alatom nešto nastalo. On pita: Radi li? Je li bilo brzo gotovo? Može li se održavati? Je li bilo pristupačno po cijeni? I – točka na kojoj se sve odlučuje – može li se promijeniti ako se predomislim?
Razvoj uz podršku umjetne inteligencije na svako od tih pet pitanja odgovara s da. Osobito na posljednje. I zato je upravo prigovor o manjku fleksibilnosti ne samo pogrešan – on od riječi do riječi opisuje najveću snagu.
Skepsa slobodno može ostati – pratila je svaku novu tehnologiju. I dok se još raspravlja o metodi, klijenti već dobivaju svoj rezultat: brže, urednije i prilagodljivije nego ikad prije. Ljepše bi bilo samo jedno – jednom to iskusiti i sam.
Kako taj pristup konkretno izgleda, otvoreno piše na ovoj stranici: razvojni pristup – transparentno objašnjeno, bez mitova, bez marketinške magle i posve bez značajnog mrštenja čela.
