Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
post

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést

MEGOSZTÁS

A hatékonyság divatos szó mai világunkban. A mérnöki csapatok erőforrásaira nagyobb nyomás nehezedik már egy jó ideje. Az automatizálás iránti igény a szoftverfejlesztésben az egekbe szökött, és a mesterséges intelligencia által vezérelt kódgenerálás egyre nagyobb teret nyer. Az ismétlődő feladatokra fordított idő csökkentésével és a kódminőség javításával az MI-kódgeneráló eszközök lehetővé teszik a mérnökök számára, hogy összetettebb és magas szintű munkára koncentráljanak.

(Kiemelt kép: Unsplash)

Ez a váltás gyorsabb fejlesztési ciklusok és hatékonyabb csapatok számára nyitja meg az utat. A mesterséges intelligencia eszközök az emberi képességek kiegészítésére szolgálnak, nem pedig helyettesítésére. Az MI-kódasszisztensek alkalmazásával a szoftvermérnökök kreativitásukat és problémamegoldó képességeiket a mesterséges intelligencia erejével kombinálva verhetetlen kombinációt alkothatnak. A GitHub és a Wakefield Research együttműködésében végzett felmérés rávilágít a mesterséges intelligencia fejlesztői tapasztalatra gyakorolt hatására. A felmérés, amelyben 500, az Egyesült Államokban működő, több mint 1000 főt foglalkoztató vállalat fejlesztői vettek részt, olyan kulcsfontosságú szempontokra fókuszált, mint a fejlesztői termelékenység, a csoportos együttműködés és az MI szerepe a vállalati környezetekben.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Az MI-kódasszisztensek alkalmazásával a szoftvermérnökök kreativitásukat és problémamegoldó képességeiket a mesterséges intelligencia erejével kombinálva verhetetlen kombinációt alkothatnak (Fotó: Unsplash+)

Az eredmények szerint a fejlesztők 92%-ka már használ(t) valamilyen MI-alapú kódolási eszközt munkája során. A DevOps-ba történő beruházások ellenére azonban a fejlesztők még mindig kihívásokkal szembesülnek. A legidőigényesebb feladatuknak a buildekre és tesztekre való várakozás jelenti. Emellett aggodalmukat fejezték ki az olyan ismétlődő feladatokkal kapcsolatban, mint például a boilerplate kód írása (azok a kódsorokat és részeket melyeket mindenféleképpen meg kell írni, holott ezek még nem csinálnak semmit). A GitHub szerint ezek a statisztikák azt jelzik, hogy egyre nagyobb szükség van a fejlesztési folyamat hatékonyságának javítására. A fejlesztők a legtöbb időt a kód és a tesztek írásával töltik, majd várnak felülvizsgálatára vagy a buildek befejezésére. Azt is megállapították, hogy az MI-alapú kódolási eszközök lehetővé teszik az egyéni fejlesztői termelékenységet és a nagyobb csoportos együttműködést. Ez azt jelenti, hogy a generatív MI segíti a fejlesztőket abban, hogy nagyobb hatást érjenek el, növeljék az elégedettséget és innovatívabb megoldásokat építsenek. Az javasolják, hogy az üzleti vezetők a „kritikus pontok” azonosításával, a termelékenységi akadályok felszámolásával, valamint a növekedés és a lendület elősegítésével helyezzék sokkal inkább az előtérbe végre fejlesztőiket. A tanulmány szerint a fejlesztői tapasztalat nagyban befolyásolja a termelékenységet, az elégedettséget. Az együttműködés a fejlesztői élmény létfontosságú szempontja tehát. A vállalati környezetben dolgozó fejlesztők jellemzően átlagosan 21 mérnökkel dolgoznak együtt egy-egy projekteken, így az együttműködési készségük fontos a teljesítményértékelésükben is. A fejlesztők több mint 80%-ka úgy véli, hogy az MI-alapú kódolási eszközök fokozhatják a csapatmunkát, javíthatják a kód minőségét, felgyorsíthatják a projektek befejezését és segítik a potenciális incidensek megoldását. Az együttműködés a nagyobb mérnöki csapatok számára az a „multiplikátor erő”, melyből profitálhatnak és az ügyfelek számára is „látványos eredményeket” érhetnek el. A tanulmányban a fejlesztők azt is kifejtették, hogy több lehetőséget szeretnének a továbbképzésre és a hatásfokozásra fordítani a jövőben. Az új készségek elsajátítását, a végfelhasználóktól kapott visszajelzéseket és az újszerű problémák megoldásának megtervezését sorolták a munkanapjukat pozitívan befolyásoló kulcselemek közé.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Az eredmények szerint a fejlesztők 92%-ka már használ(t) valamilyen MI-alapú kódolási eszközt munkája során (Fotó: Unsplash+)

Mire van szüksége a fejlesztőknek?

A felmérés az MI-alapú kódolóeszközök egyéni teljesítményre gyakorolt hatását is vizsgálta. Túlnyomó többségük (92%) arról számolt be, hogy már eleve mesterséges intelligenciával működő kódolóeszközöket használ, és 70%-kuk úgy véli, hogy ezek az eszközök előnyt jelentenek a munkájuk során. A mesterséges intelligenciát lehetőségnek tekintik arra, hogy a megoldások megtervezésére és a készségek fejlesztésére, például új programozási nyelvek és keretrendszerek megtanulására koncentráljanak. Az MI-kódolóeszközök integrálása összhangban van a fejlesztői élmény fokozásának céljával is. Sőt, a Github szerint ez a 92%-kos arány a tanulmány 2023. márciusi elkészítése óta már emelkedett. Ezt a hatást már látták a GitHub Copilotot használó ügyfeleinknél is. Ezek a fejlesztők 75%-kal teljesebbnek érzik a munkájukat, és már most több mint 55%-kal gyorsabban írnak kódot. A mesterséges intelligencia képes jelentősen javítani a fejlesztői élmény különböző aspektusait is. Ezek közé tartozik a kódszállítás felgyorsítása, az intelligens kódellenőrzések megkönnyítése, a kódbázison belüli együttműködés fokozása, valamint a fejlesztési folyamat olyan zavarainak leküzdése, melyek jellemzően több kognitív erőfeszítést igényelnének. A mesterséges intelligenciamodellek fejlődésével és további funkciók kifejlesztésével a fejlesztői élmény, a fejlesztői termelékenység és a csapatban való együttműködés alapvető újradefiniálására és javulására számíthatunk.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Túlnyomó többségük (92%) arról számolt be, hogy már eleve mesterséges intelligenciával működő kódolóeszközöket használ, és 70%-kuk úgy véli, hogy ezek az eszközök előnyt jelentenek a munkájuk során. A mesterséges intelligenciát lehetőségnek tekintik arra, hogy a megoldások megtervezésére és a készségek fejlesztésére, például új programozási nyelvek és keretrendszerek megtanulására koncentráljanak (Fotó: Unsplash+)

Az MI-eszközök legfőbb előnyei

A tanulmány szerint a legnagyobb előny a szakképzettség növelése, majd a termelékenység növekedése lesz az MI-eszközök bevetésével. A mesterséges intelligenciával működő kódolóeszközök integrálása a fejlesztői munkafolyamatba lehetőséget jelent(het) a teljesítmény javítására és a meglévő szabványoknak való jobb megfeleltetésre.  A fejlesztők szerint az új készségek elsajátítása és az innovatív megoldások létrehozása volt a legnagyobb pozitív hatással a munkájukra. A mesterséges intelligenciával működő fejlesztői eszközök hamarosan alapfeltétellé válnak, és azok a szervezetek, melyek nem fogadják el ezt a változást végleg lemarad(hat)nak. Az MI-eszközök megléte elvárás lesz minden fejlesztőtől (mint a munkájuk elvégzéséhez szükséges központi munkaeszköz fog szerepelni). Ha az egyes iparágak a legjobb tehetségeket akarják felvenni és megtartani, akkor a legjobb eszközöket kell tudniuk biztosítani a fejlesztőik produktívabbá tételéhez. A felmérés arra is rávilágított, hogy a jelenlegi teljesítménymérések és a fejlesztői elvárások között nincs összhang. A legfontosabb teljesítménymércékként a kódminőséget és az együttműködést jelölték meg, és a fejlesztők elvárják, hogy ezek alapján is értékeljék őket. Azonban tény, hogy a vezetők hagyományosan a kód mennyisége és a kimenet alapján értékelik a teljesítményt csak manapság. A fejlesztők szerint a kódminőség és az együttműködés legalább olyan fontos értékelendő tényezők. A hatékony együttműködés javít(hat)ja a kód minőségét. Számos tényezőt jelöltek meg a sikeres együttműködés kritikus faktoraként; a rendszeres érintkezési pontokat, a megszakítás nélküli munkaidőt, a teljesen konfigurált fejlesztői környezetekhez való hozzáférést és a mentor-mentorált kapcsolatokat. A nem hatékony megbeszélések és a túlzott kommunikáció olyan zavaró tényezők, melyek negatívan befolyásolták a munkájukat. Tekintettel arra, hogy a fejlesztők ma már átlagosan 21 másik mérnökkel dolgoznak együtt a projekteken, az együttműködés fontosabb, mint valaha a hatékonyság és a termelékenység szempontjából. A felmérésben részt vevő fejlesztők azt is elmondták, hogy azt szeretnék, ha a szervezetük az együttműködést a legfontosabb teljesítménymutatóvá tenné, ami arra utal, hogy a szervezetek sokkal jobban ösztönözhetnék a nagyobb együttműködést a mérnöki csapatok között. Proaktívan kellene inspirálniuk a fejlesztői együttműködést, mint a küldetéskritikus eredmények valódi erősségének multiplikátorát.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Ha az egyes iparágak a legjobb tehetségeket akarják felvenni és megtartani, akkor a legjobb eszközöket kell tudniuk biztosítani a fejlesztőik produktívabbá tételéhez (Fotó: Unsplash+)

Az irányítási szabványok létrehozásának fontossága

Az MI-alapú kódolóeszközök széles körű elterjedése a fejlesztők körében azt jelzi, hogy a legtöbb szervezetnél valószínűleg úgy használják ezeket az eszközöket, hogy nincs is tényleges vállalati szintű megoldás vagy egyértelmű irányelv a használatuk hatékony szabályozására. Bár az olyan generatív MI-eszközök, mint a ChatGPT és a Stable Diffusion egyre népszerűbbek, továbbra is gyors fejlődésen mennek keresztül, és aggályok merülnek fel a hamis kimenetek vagy hallucinációk előfordulása, valamint az adatvédelem miatt. Ezért érdemes hangsúlyozni annak fontosságát, hogy a szervezetek olyan vállalati szintű MI-kódoló eszközökbe fektessenek csak be, melyek megfelelnek a hatékonysági és adatvédelmi kritériumoknak. Továbbá segíteni kell a fejlesztőket abban, hogy munkafolyamataikat e jóváhagyott eszközök köré integrálják és optimalizálják. A GitHub Copilotot és a GitHub Enterprise-t bevezető ügyfeleknél szerzett tapasztalatok szerint az ilyen technológiai beruházásokhoz az egész szervezetre kiterjedő kulturális változásra és proaktív változásmenedzsmentre volna szükség. Nem lehet bekapcsolni az új MI-kódoló eszközöket, és elvárni, hogy a csapatok zökkenőmentesen igazítsák hozzájuk a munkafolyamatokat. A technikai átállás működési agilitást is igényel(ne).

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Az MI-alapú kódolóeszközök széles körű elterjedése a fejlesztők körében azt jelzi, hogy a legtöbb szervezetnél valószínűleg úgy használják ezeket az eszközöket, hogy nincs is tényleges vállalati szintű megoldás vagy egyértelmű irányelv a használatuk hatékony szabályozására (Fotó: Unsplash+)

A mesterséges intelligencia nem veszi el a kódolási munkát egyhamar

Szerencsénkre a szoftverfejlesztés több, mint a számítógépen való gépelés. A legtöbb ember, aki a mesterséges intelligenciáról ír, soha nem írt még valójában kódot. Ha bárki is írt már bármilyen közepesen összetett szoftvert, ez az elavult fejlesztői érvelés gyorsan összeomlik, hiszen tudjuk, hogy a „kódírás” nem a fejlesztők igazi munkája. Ha azt mondjuk, hogy „egy szoftverfejlesztő feladata a kódírás”, az olyan, mintha azt mondanánk, hogy „egy író feladata a bekezdések megírása”. Ez igaz ugyan, de a lényegét egyáltalán nem értik a „szakmának” akkor. Ez olyan mintha azt mondanánk bármelyik szerző meg tudta volna írni a Trónok Harcát. A kódírás a könnyű rész. A méretarányos architektúra, az ügyfelek igényeinek való megfelelés és a meglévő tervezési korlátok kezelése nagyságrendekkel összetettebb feladat. Manapság a szoftverfejlesztő az építész, a mérnök és az építőmunkás mixtúrája valójában, egy kiméra. De ahogy haladunk a jövő felé, gyaníthatjuk, hogy ebből a „mitikus lényből” egyre többet fogunk az elsőből látni, és egyre kevesebbet az utolsóból.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Ha azt mondjuk, hogy „egy szoftverfejlesztő feladata a kódírás”, az olyan, mintha azt mondanánk, hogy „egy író feladata a bekezdések megírása”. Ez igaz ugyan, de a lényegét egyáltalán nem értik a „szakmának” akkor (Fotó: Unsplash+)

Mit csinálnak az olyan mesterséges intelligenciával működő kódolóeszközök, mint a Copilot? Intelligens módon generálnak kódokat. Eltávolítják a legalacsonyabb értékű feladatokat. Például kódot írni az adatok átfuttatására, egységteszteket létrehozni, és válaszokat keresni a Stack Overflow-n. Fejlesztőként az energiával gazdálkodunk, nem az idővel. És minden egyes „kósza gondolat” és Google-keresés elhasznál egy kicsit ebből az energiából. A jó fejlesztők sokat akarnak kapni azért, hogy kihívást jelentő problémákon dolgozzanak, nem pedig azért, hogy kezdetleges kódot írjanak. A Copilot segít nekik ebben. Ez örömteli hír lenne a legtöbb fejlesztő számára. Hacsak nem CRUD alkalmazások írásával tölti a napjait… Gyaníthatjuk, hogy a következő évtizedben változást fogunk látni, ahogy a fejlesztők egyre inkább technikai projektmenedzserekké válnak, ahogy az alacsony értékű feladatok egyre inkább kikopnak és majd el is maradnak a munkájukból. Vagyis a kód értéke csökkenni fog. A helyesen generált kód lehetővé teszi egy hozzáértő fejlesztő számára, hogy több technológiát építsen kevesebb idő alatt. Ennek az értéknek a nagy részét a vállalatok fogják megkaparintani. A szoftvermérnökök nem fognak kevesebb fizetést kapni vagy többet dolgozni. Egyszerűen csak kevesebb idő alatt több feladatot fognak majd elvégezni. A szoftverfejlesztés olcsóbbá válásával a kereslet is növekedni fog. A közgazdaságtanban a Jevons-paradoxon akkor fordul elő, amikor a technológiai fejlődés vagy a kormányzati politika növeli egy erőforrás felhasználásának hatékonyságát (csökkentve az egy felhasználáshoz szükséges mennyiséget), de az erőforrás fogyasztásának mértéke a növekvő kereslet miatt megnő. Azt láthatjuk, hogy a vállalatok több problémát oldanak meg ugyanazokkal az erőforrásokkal, vagy több technológiai vállalat jön egyszerre létre. Így a csökkenő költségek új lehetőségeket hoznak. Lehet, hogy most már meg lehet valósítani azokat a mellékprojekteket, melyek korábban túl időigényesek vagy drágák voltak. Ha kevesebb időbe telik valaminek az elkészítése, akkor az alacsony határ hasznú projektek most már megvalósíthatóvá válhatnak. Olyan lehetőségek, melyek korábban túl drágák voltak, most már bátran felvállalhatók. Talán egy egyszerű alkalmazást akartunk építeni, mely csupán egyes adatokat összesített volna. A pénzbeli ösztönző viszont túl alacsony volt ahhoz, hogy 40 órát szánjunk az elkészítésére. De most, hogy ha csak 20 órát vesz igénybe, talán átgondoljuk a dolgot. Ugyanez vonatkozik a vállalatokra is. Nem tudnak alacsonyabb értékű lehetőségek után menni azon felül, amit jelenleg csinálnak. Vállalkozóként és kódolóként imádhatjuk majd ezt az aranykor, ha valaha elérkezik.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést
Gyaníthatjuk, hogy a következő évtizedben változást fogunk látni, ahogy a fejlesztők egyre inkább technikai projektmenedzserekké válnak, ahogy az alacsony értékű feladatok egyre inkább kikopnak és majd el is maradnak a munkájukból. Vagyis a kód értéke csökkenni fog (Fotó: Unsplash+)

A mesterséges intelligencia által vezérelt kódolás a jövőre nézve viszont némi kockázattal is jár. Jelenleg a Copilot kódkészletet generál. Ezt intelligensebben teszi, mint sok meglévő kódszerkesztő. De ez nem jelent kockázatot senkire nézve még. Ennek ellenére feltételeznünk kell, hogy az eszközök tovább fognak fejlődni. Ha ez igaz, akkor a következő problémákkal képzelhetjük el a jövőt. A vezető fejlesztői tehetségek elsatnyulnak majd. Mindannyian egykor juniorok fejlesztők voltunk, és egy időben csak CRUD-alkalmazásokat tudtunk írni. De mi történik akkor, amikor már nincs szükségünk emberekre, hogy megírjuk ezeket az egyszerű alkalmazásokat? Hogyan fognak az új fejlesztők eleget tanulni ahhoz, hogy feljebb lépjenek az értékláncban? Másrészt a nyereség így csak a legjobb fejlesztőknek jut majd nyilván. Minden szakmában a felső 1% lényegesen több pénzt keres, mint mindenki más. Ha a legjobb fejlesztők tízszer nagyobb munkát tudnak végezni, az megszüntetheti a keresletet a többi közepesen képzett fejlesztő iránt. A másik, hogy a kód nélküli eszközök a szoftvert „fekete dobozzá” változtatják majd. Hogyan érthetnénk meg a mesterséges intelligencia által írt kódot, ha mi már nem írunk egyetlen kódsort sem? Kényelmesen használunk majd egy olyan technológiát, melyet nem értünk? Ezek hosszú távú problémák, melyekkel minden iparágban és a társadalomban is egyszer talán majd szembe kell néznünk. Viszont ha egyszer a mesterséges intelligencia képes szoftvert írni, akkor mindennek eljön a vége. Mindenki elavulttá válik. Nem csak a fejlesztők. A médiában megjelenő híresztelések ellenére nem kell attól tartanunk, hogy a mesterséges intelligencia elveszi a programozói munkáját. A kódolás elsősorban kreatív szakma. És a dolgok jelen állása szerint a neurális hálózatok alapvetően képtelenek új ötletek létrehozására. Ráadásul a szoftvermérnökök a problémamegoldó képességükről híresültek el. Tehát bár a technológiai munkanélküliség elkerülhetetlenül megérkezhet, ez a fenyegető jövőkép még sokáig nem fog talán bekövetkezni.

Hogyan változtatja meg a mesterséges intelligencia a szoftverfejlesztést

PODCAST

ICT Global News

VIDEOGALÉRIA
FOTÓGALÉRIA

Legnépszerűbb cikkek