SG.hu
Aggódjanak a programozók a ChatGPT miatt?
Az intelligens chatbot jó kezekben nagyon meggyorsítja a munkát, de a kezdő kódolok nagyon nehéz helyzetben lesznek.
Valószínűleg mindenki kipróbálta már az OpenAI chatbotját, ami kérdéseinkre meglepően értelmes válaszokat ad. A rendszer mögött egy GPT-4 nevű mesterséges intelligencia-modell található. Ez nem csak a webes keresést teszi feleslegessé a jövőben, hanem komplex feladatokat is képes megoldani, például programok írására is használható. Ha megkérdezzük tőle, hogy egy Pong-szerű játékot milyen nyelven írjunk meg akkor nem csak válaszol (JavaScript), hanem le is generálja a kódot hozzá. Amit egy tapasztalt fejlesztőnek fél órájába telik megírni azt az algoritmus 40 másodpercre alatt megcsinálja. Ugyanilyen jól működik más klasszikusoknál is, például az Asteroids esetében.
Az interneten rengeteg kódpélda található az ilyen játékokhoz, de a ChatGPT nem az interneten keresi a kész megoldást. Bár hatalmas mennyiségű webes tartalom felhasználásával készült, az algoritmus új szöveget generál. Gyakorlatilag most már az is létrehozhat egy egyszerű webes alkalmazást, akinek fogalma sincs arról, hogy mit csinál. Persze nem komplex, kész szoftverekről van szó, de felhasználható egy nagyobb termék egyes részeinek elkészítésére, vagy bármilyen más szoftver létrehozásának segítésére. Az általa biztosított forráskód a klasszikus programozásra jellemző munkálatok nagy részét elvégezheti, beleértve az objektum interfészek kódolását, a reguláris kifejezések definícióit, vagy akár az olyan alapvető feladatok elvégzését, mint például a tömbelemek sorrendjének felcserélése. Senki ne várjon tőle tökéletes forráskódot, vagy akár pontos információkat a programozási nyelvekről és API-król. Bármilyen nyelven írhat szkripteket és segít a hibakeresésében is, de a termelékenység javulása ellenére is vannak, akik haboznak a mesterséges intelligenciát a kódoláshoz alkalmazni.
Tony Smith, a Rightly technológiai igazgatója, szerint az ilyen MI-k által generált kód gyakran hibás vagy nem hatékony. Smith megkérte a ChatGPT-t, hogy készítsen kódot annak kiszámítására, hogy hány nap van egy adott hónapban. "A kód remekül néz ki, azonban a nyári időszámításra való átállással gond van" - mondja. "Ez egy finom hiba, amely évente egyszer jelentkezik." Mások is megállapították, hogy a mesterséges intelligencia által generált kód biztonsági hibákat tartalmazhat. A ChatGPT modellezheti az online látott rossz viselkedést, figyelmen kívül hagyhatja a sebezhetőségeket, vagy elavult technikákat használhat. A fejlesztőknek felelősséget kell vállalniuk az MI által generált kódért és az üzleti kockázat is megnő, ha az emberek kísértésbe esnek, hogy olyan kódot használjanak, amelyet nem értenek.
Dan Ciruli korábbi Google alkalmazott másképp látja a dolgot. A Google alkalmazásprogramozási interfészei (API-k) lehetővé teszik a fejlesztők számára, hogy szoftverüket a Google szolgáltatásaihoz kapcsolják. 200 API van és hét programozási nyelv támogatott. Ahhoz, hogy minden egyes API-hoz minden egyes nyelven példautasításokat hozzon létre 1400 kódpéldát kellett volna létrehozni. "Ez olyasmi, amivel megküzdöttünk" - mondja. "Egyszerűen nem tudtunk minden nyelvre mintákat készíteni. De amikor hozzáférést kaptam a ChatGPT-hez, az első dolgom az volt, hogy megkértem, mutassa meg, hogyan hívható a Google Translate API Pythonban. Bumm - meg is volt." A junior webfejlesztők munkája nem a világ legizgalmasabb dolga, általában csak a legegyszerűbb dolgokat bízzák rájuk, amely leginkább favágáshoz hasonlít. A ChatGPT nagyon felgyorsítja ezt a folyamatot, de a kielégítő munka egy részét is elveheti, ráadásul eközben nem tanulják meg, hogy pontosan mit csinál egy fájl és hogyan működik az egész.
A szoftverfejlesztés jövője valószínűleg a fejlesztő és az MI asszisztens közötti partnerség lesz, amit az egyik népszerű MI eszköz neve is tükröz. A GitHub Copilot egy olyan kereskedelmi eszköz, amely automatikusan kiegészíti a kódot, miközben a fejlesztők dolgoznak. A kódkiegészítés gyorsabb, de kevésbé pontos modellt használ, mint a ChatGPT. "Amikor egy kódot gépelünk, ideális esetben minden egyes karakter bevitelekor új kiegészítést kapunk" - mondja Thomas Dohmke, a GitHub vezérigazgatója. Bár a Copilot olyan funkciókkal bővült, amelyek felismerik és blokkolják a gyenge kódot, az ember továbbra is alapvető védelmet jelent. "Mint minden más kódolási eszközt, a GitHub Copilotot is emberi kódellenőrzéssel, tesztelési gyakorlatokkal és biztonsági eszközökkel együtt kell használni" - mondja Dohmke.
Figyelembe véve, hogy várhatóan idővel javulni fog a szoftverfejlesztésre és más tartalomkészítési feladatokra való alkalmassága biztosra vehető, hogy ez a kódgenerálás munkahelyek megszűnéséhez fog vezetni, és leginkább a junior szerepek vannak veszélyben, ha egy gép átveszi az ismétlődő kódolási munkákat. De egy ember messze nem csak kódsorokat gépel, hanem elemzi is a problémákat és olyan megoldásokat ad, amire a ChatGPT nem képes. A szoftverfejlesztés egy rendkívül összetett feladat, és még a kód nélküli eszközzel létrehozandó alkalmazás követelményeinek kidolgozása is profitál egy tapasztalt programozó készségeiből.
A szoftverfejlesztői munka nem szkriptek írását jelenti, hanem egy teljes kereskedelmi alkalmazás kifejlesztése a végső cél. Az MI erre nem képes, mindössze annyit tud, hogy néhány alapvető útmutatást ad nekünk a feladathoz. Segíthet a hiányosságok pótlásában és felgyorsíthatja a megoldások megvalósítását a szoftverfejlesztési életcikluson belül, de nem érti az emberi kontextust. A fejlesztőknek azt is figyelembe kell venniük, hogy a ChatGPT hogyan emeli a felhasználói elvárások mércéjét. Ha egy alkalmazásban található egy kulcsszavas keresőmező, amely nem személyre szabott és kiábrándító eredményekkel válaszol, az frissítésre szorul. Ahogy egyre több embert lepnek meg a ChatGPT képességei, az alkalmazottak és az ügyfelek természetes nyelvi lekérdezésekkel és kérdésekre válaszoló alkalmazásokkal rendelkező keresési élményeket fognak elvárni.
Valószínűleg mindenki kipróbálta már az OpenAI chatbotját, ami kérdéseinkre meglepően értelmes válaszokat ad. A rendszer mögött egy GPT-4 nevű mesterséges intelligencia-modell található. Ez nem csak a webes keresést teszi feleslegessé a jövőben, hanem komplex feladatokat is képes megoldani, például programok írására is használható. Ha megkérdezzük tőle, hogy egy Pong-szerű játékot milyen nyelven írjunk meg akkor nem csak válaszol (JavaScript), hanem le is generálja a kódot hozzá. Amit egy tapasztalt fejlesztőnek fél órájába telik megírni azt az algoritmus 40 másodpercre alatt megcsinálja. Ugyanilyen jól működik más klasszikusoknál is, például az Asteroids esetében.
Az interneten rengeteg kódpélda található az ilyen játékokhoz, de a ChatGPT nem az interneten keresi a kész megoldást. Bár hatalmas mennyiségű webes tartalom felhasználásával készült, az algoritmus új szöveget generál. Gyakorlatilag most már az is létrehozhat egy egyszerű webes alkalmazást, akinek fogalma sincs arról, hogy mit csinál. Persze nem komplex, kész szoftverekről van szó, de felhasználható egy nagyobb termék egyes részeinek elkészítésére, vagy bármilyen más szoftver létrehozásának segítésére. Az általa biztosított forráskód a klasszikus programozásra jellemző munkálatok nagy részét elvégezheti, beleértve az objektum interfészek kódolását, a reguláris kifejezések definícióit, vagy akár az olyan alapvető feladatok elvégzését, mint például a tömbelemek sorrendjének felcserélése. Senki ne várjon tőle tökéletes forráskódot, vagy akár pontos információkat a programozási nyelvekről és API-król. Bármilyen nyelven írhat szkripteket és segít a hibakeresésében is, de a termelékenység javulása ellenére is vannak, akik haboznak a mesterséges intelligenciát a kódoláshoz alkalmazni.
Tony Smith, a Rightly technológiai igazgatója, szerint az ilyen MI-k által generált kód gyakran hibás vagy nem hatékony. Smith megkérte a ChatGPT-t, hogy készítsen kódot annak kiszámítására, hogy hány nap van egy adott hónapban. "A kód remekül néz ki, azonban a nyári időszámításra való átállással gond van" - mondja. "Ez egy finom hiba, amely évente egyszer jelentkezik." Mások is megállapították, hogy a mesterséges intelligencia által generált kód biztonsági hibákat tartalmazhat. A ChatGPT modellezheti az online látott rossz viselkedést, figyelmen kívül hagyhatja a sebezhetőségeket, vagy elavult technikákat használhat. A fejlesztőknek felelősséget kell vállalniuk az MI által generált kódért és az üzleti kockázat is megnő, ha az emberek kísértésbe esnek, hogy olyan kódot használjanak, amelyet nem értenek.
Dan Ciruli korábbi Google alkalmazott másképp látja a dolgot. A Google alkalmazásprogramozási interfészei (API-k) lehetővé teszik a fejlesztők számára, hogy szoftverüket a Google szolgáltatásaihoz kapcsolják. 200 API van és hét programozási nyelv támogatott. Ahhoz, hogy minden egyes API-hoz minden egyes nyelven példautasításokat hozzon létre 1400 kódpéldát kellett volna létrehozni. "Ez olyasmi, amivel megküzdöttünk" - mondja. "Egyszerűen nem tudtunk minden nyelvre mintákat készíteni. De amikor hozzáférést kaptam a ChatGPT-hez, az első dolgom az volt, hogy megkértem, mutassa meg, hogyan hívható a Google Translate API Pythonban. Bumm - meg is volt." A junior webfejlesztők munkája nem a világ legizgalmasabb dolga, általában csak a legegyszerűbb dolgokat bízzák rájuk, amely leginkább favágáshoz hasonlít. A ChatGPT nagyon felgyorsítja ezt a folyamatot, de a kielégítő munka egy részét is elveheti, ráadásul eközben nem tanulják meg, hogy pontosan mit csinál egy fájl és hogyan működik az egész.
A szoftverfejlesztés jövője valószínűleg a fejlesztő és az MI asszisztens közötti partnerség lesz, amit az egyik népszerű MI eszköz neve is tükröz. A GitHub Copilot egy olyan kereskedelmi eszköz, amely automatikusan kiegészíti a kódot, miközben a fejlesztők dolgoznak. A kódkiegészítés gyorsabb, de kevésbé pontos modellt használ, mint a ChatGPT. "Amikor egy kódot gépelünk, ideális esetben minden egyes karakter bevitelekor új kiegészítést kapunk" - mondja Thomas Dohmke, a GitHub vezérigazgatója. Bár a Copilot olyan funkciókkal bővült, amelyek felismerik és blokkolják a gyenge kódot, az ember továbbra is alapvető védelmet jelent. "Mint minden más kódolási eszközt, a GitHub Copilotot is emberi kódellenőrzéssel, tesztelési gyakorlatokkal és biztonsági eszközökkel együtt kell használni" - mondja Dohmke.
Figyelembe véve, hogy várhatóan idővel javulni fog a szoftverfejlesztésre és más tartalomkészítési feladatokra való alkalmassága biztosra vehető, hogy ez a kódgenerálás munkahelyek megszűnéséhez fog vezetni, és leginkább a junior szerepek vannak veszélyben, ha egy gép átveszi az ismétlődő kódolási munkákat. De egy ember messze nem csak kódsorokat gépel, hanem elemzi is a problémákat és olyan megoldásokat ad, amire a ChatGPT nem képes. A szoftverfejlesztés egy rendkívül összetett feladat, és még a kód nélküli eszközzel létrehozandó alkalmazás követelményeinek kidolgozása is profitál egy tapasztalt programozó készségeiből.
A szoftverfejlesztői munka nem szkriptek írását jelenti, hanem egy teljes kereskedelmi alkalmazás kifejlesztése a végső cél. Az MI erre nem képes, mindössze annyit tud, hogy néhány alapvető útmutatást ad nekünk a feladathoz. Segíthet a hiányosságok pótlásában és felgyorsíthatja a megoldások megvalósítását a szoftverfejlesztési életcikluson belül, de nem érti az emberi kontextust. A fejlesztőknek azt is figyelembe kell venniük, hogy a ChatGPT hogyan emeli a felhasználói elvárások mércéjét. Ha egy alkalmazásban található egy kulcsszavas keresőmező, amely nem személyre szabott és kiábrándító eredményekkel válaszol, az frissítésre szorul. Ahogy egyre több embert lepnek meg a ChatGPT képességei, az alkalmazottak és az ügyfelek természetes nyelvi lekérdezésekkel és kérdésekre válaszoló alkalmazásokkal rendelkező keresési élményeket fognak elvárni.