Umjetna inteligencija ne piše kod, ona predlaže sintaksu
Priče o propasti programiranja su pretjerane jer AI ne rješava inženjerske probleme, već samo automatizira tipkanje.
Posljednjih mjeseci svjedočimo poplavi naslova koji tvrde da je softversko inženjerstvo mrtvo, da će programeri uskoro biti na burzi rada te da svatko tko zna napisati prompt može zamijeniti iskusnog inženjera. No, svaki programer koji zapravo koristi te alate u svakodnevnom radu zna istinu: umjetna inteligencija ne piše kod, ona samo predlaže sintaksu.
Prevladavajuća priča
Novi alati za generiranje koda, poput Copilota, Claudea ili GPT-4, doista su impresivni u demonstracijama. Zatražite li od njih da napišu osnovni REST API ili sortiraju niz, dobit ćete savršeno točan kod u sekundi. Iz perspektive laika, to izgleda kao rješavanje cijelog problema. Ako AI može napisati taj kod, zašto bismo plaćali programera?
Ova iluzija proizlazi iz nerazumijevanja što softversko inženjerstvo zapravo jest. Ljudi izvan struke vide kod kao krajnji cilj, dok je on zapravo samo nusprodukt rješavanja poslovnih i tehničkih problema.
Zašto je ta priča pogrešna ili nepotpuna
Softversko inženjerstvo nije samo pisanje for petlji i definiranje varijabli. Većina vremena provodi se u prevođenju nejasnih poslovnih zahtjeva u stroge logičke strukture, debagiranju, planiranju arhitekture i održavanju postojećeg sustava.
Kada AI izbaci 500 linija koda, inženjer i dalje mora razumjeti što taj kod radi, kako se uklapa u širu bazu koda, je li siguran, optimiziran i pokriva li rubne slučajeve. Umjetna inteligencija nema kontekst vašeg specifičnog sustava, vaših korisnika, niti povijesti poslovnih odluka koje su dovele do trenutne arhitekture.
Predložena sintaksa može biti sintaktički točna, ali semantički potpuno pogrešna u kontekstu vaše aplikacije. Zapravo, s pojavom ovih alata, posao programera prelazi iz onog tko piše kod u onog tko pažljivo i kritički provjerava i integrira tuđi (strojni) kod. Odgovornost za sustav i dalje je u potpunosti na inženjeru.
Posljedice u stvarnom svijetu
U stvarnom svijetu, alati umjetne inteligencije značajno ubrzavaju razvojni proces uklanjajući potrebu za pretraživanjem dokumentacije i pisanjem repetitivnog koda. Junior programeri će postati brži, ali će morati brže i razviti vještine kritičkog razmišljanja i razumijevanja sustava. Senior inženjeri će se više fokusirati na arhitekturu i dizajn sustava, umjesto na trivijalne zadatke.
Oni koji gube su samo oni koji su se oslanjali isključivo na reprodukciju šablonskog koda bez dubljeg razumijevanja. Tvrtke koje vjeruju da mogu otpustiti inženjere i zamijeniti ih s nekoliko "prompt inženjera" brzo će otkriti da je održavanje neodrživog špageti koda koji je generirao AI puno skuplje od plaćanja iskusnog tima.
Završni stav
Umjetna inteligencija je fantastičan alat, možda i najveći skok u produktivnosti od pojave naprednih IDE-ova. Ali alat je samo alat. Softversko inženjerstvo se ne svodi na tipkanje koda, već na rješavanje problema. AI nam može pomoći brže utipkati rješenje, ali još uvijek trebamo inženjere koji će znati koji problem uopće rješavamo.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



