Az elmúlt másfél évben egy olyan technológiai ugrásnak lehettünk szemtanúi, ami alapjaiban változtatta meg a szoftverfejlesztést.
A digitális kártyavárak kora
Az elmúlt másfél évben egy olyan technológiai ugrásnak lehettünk szemtanúi, ami alapjaiban változtatta meg a szoftverfejlesztést. Ma már elég beírni egy ChatGPT vagy Claude promptba, hogy „Írj nekem egy WordPress bővítményt, ami egyedi árat számol a kosárban”, és a gép másodpercek alatt kiköpi a kész PHP kódot.
Kívülről nézve úgy tűnik, a programozás demokratizálódott. A cégvezetők, marketingesek és lelkes hobbisták hirtelen úgy érzik, nincs többé szükségük drága fejlesztőkre, hiszen az AI megírja helyettük a kódokat, a bash scripteket, vagy épp felhúzza a szervert. Azonban az egyetemi oktatói és a senior fejlesztői praxisomban egyre gyakrabban találkozom ennek a jelenségnek a sötét oldalával: a megértés nélküli kódgenerálás katasztrofális következményeivel.
Az illúzió: „Működik, tehát jó”
Amikor egy laikus bemásolja az AI által generált kódot a weboldalába vagy a szerver termináljába, és az látszólag hibátlanul lefut, azonnali sikerélményt kap. A gomb zöld lett, az űrlap elmentődött, a webshop számol.
A probléma az, hogy az AI – hacsak nem kap nagyon szigorú, mérnöki szintű kontextust és architektúra-tervet – mindig az ellenállás legkisebb irányába megy. A leggyorsabb, legprimitívebb megoldást szállítja le, ami éppen abban a pillanatban megoldja a feladatot. Nem foglalkozik azzal, hogy mi történik, ha egyszerre ezer ember kattint a gombra. Nem érdekli a memóriaszivárgás, a kód fenntarthatósága, és sok esetben a biztonság sem.
A Frankenstein-architektúra
Ha valaki nem ismeri az adott keretrendszer (pl. a WordPress) működési logikáját, az objektumorientált programozás alapjait, vagy a relációs adatbázisok szabályait, az nem rendszert épít, hanem kódtöredékeket ragasztóz egymáshoz.
Egy laikus nem tudja megmondani az AI-nak, hogy a WooCommerce egyedi kampányához ne egy külön SQL táblát hozzon létre, hanem használja a meglévő beépített függvényeket. Az eredmény egy olyan „Frankenstein-kód”, ami tele van redundanciával, logikai zsákutcákkal és kód-szeméttel. Amikor 6 hónap múlva jön egy PHP vagy egy WordPress főverzió-frissítés, ez a digitális kártyavár egyetlen pillanat alatt, hangos 500-as szerverhibával omlik össze. És mivel a tulajdonos sosem értette a kódot, esélye sincs a hibakeresésre (debuggolásra).
A láthatatlan biztonsági rések
A legfélelmetesebb aspektusa az AI-vezérelt amatőr fejlesztésnek a kiberbiztonság. Egy IT alapismeretekkel nem rendelkező felhasználó nem veszi észre, ha a generált kód nem tisztítja meg a felhasználói adatbevitelt (sanitization).
Örömmel kiteszi élesbe az AI által írt egyedi űrlapot, ami tökéletes célponttá válik egy SQL Injection támadás számára. Az AI képes tökéletesen biztonságos kódot írni, de ehhez a promptoló (kérdező) személynek tudnia kell, hogy kérnie kell a biztonsági protokollok betartását, és tudnia kell ellenőrizni, hogy az valóban megtörtént-e.
Az AI valójában egy szorzó (Multiplier)
Mindez nem jelenti azt, hogy az AI rossz lenne, sőt. Fejlesztőként én is napi szinten használok helyi, cenzúrázatlan modelleket a munkaállomásomon a VS Code-ba integrálva. De a megközelítés gyökeresen más.
Az AI nem a kapitány, hanem egy brutálisan gyors és okos másodpilóta. Nem arra használom, hogy kitalálja helyettem az architektúrát, hanem arra, hogy az általam megtervezett, stabil alapokra gyorsabban gépelje be a rutinfeladatokat (boilerplate kódokat), vagy segítsen szintaktikai hibákat keresni egy komplex algoritmusban.
Az AI a tudásban egy szorzóként működik:
- Ha a tudásod egy adott területen 100-as szintű, az AI megszorozza ezt, és 1000-es szintű, bődületes produktivitást érsz el vele.
- Ha a tudásod az IT alapok terén 0, akkor a matematika kegyetlen szabályai szerint: $0 \times 1000 = 0$.
Hiába van a kezedben a világ legfejlettebb kódgeneráló eszköze, ha nem tudod, mit építesz, csak a káoszt automatizálod. Az IT alapismeretek – a HTML/CSS struktúrája, a szerverek működése, a hálózatok logikája és az algoritmikus gondolkodás – ma értékesebbek, mint valaha. Mert már nem a szintaktika begépelése a feladat, hanem a minőségbiztosítás, az architekturális tervezés, és annak a megítélése, hogy a gép által adott válasz valóban jó-e.

