SG.hu

Mi az a vibe coding, ami elveszi a programozók munkáját?

A programozás egykor a technológiai ágazat legjövedelmezőbb munkája volt. Aztán jött az MI.

A washingtoni Kirklandban egy 5K-s képernyőn négy terminálon zajlik a tevékenység, miközben a mesterséges intelligencia több ezer sor kódot generál. Steve Yegge veterán szoftvermérnök korábban a Google-nél és az AWS-nél dolgozott, most pedig hátradőlve figyeli a történteket. "Ez itt néhány tesztet futtat, az ott pedig egy tervet dolgoz ki. Jelenleg négy különböző projekten programozok egyszerre, bár valójában csak tokeneket égetek el” - mondja Yegge, utalva a nagy nyelvi modellel (LLM) történő szövegdarabok generálásának költségére. A kódolás megtanulása eddig a biztos technológiai karrier kulcsának számított. Most azonban az OpenAI, az Anthropic és a Google által kiadott fejlett kódolási modellek a feje tetejére állítják ezt a felfogást. A cégek leépítik fejlesztői csapataikat, vagy akár teljesen megszüntetik őket.

Amikor a ChatGPT 2022 végén debütált, az MI-modellek képesek voltak kis kódrészleteket automatikusan kiegészíteni - ez egy hasznos, bár szerény előrelépés volt, amely a szoftverfejlesztés felgyorsítását szolgálta. Ahogy a modellek fejlődtek és olyan „ügynöki” képességeket szereztek, amelyek lehetővé tették számukra a szoftverek használatát, a fájlok manipulálását és az online szolgáltatások elérését, a mérnökök és a nem mérnökök egyaránt teljes alkalmazások és weboldalak építésére kezdték el használni ezeket az eszközöket. Andrej Karpathy, egy neves szlovák informatikus februárban alkotta meg a „vibe coding” kifejezést, amely a szoftverfejlesztés azon folyamatát írja le, amikor egy MI-modellt szöveggel ösztönöznek.

A gyors fejlődés spekulációkhoz - sőt pánikhoz - vezetett a fejlesztők körében, akik attól tartanak, hogy a fejlesztési munka nagy része hamarosan automatizálhatóvá válik, ami a mérnökök számára a munkahelyek apokalipszisét jelentené. "Nem vagyunk messze attól a világtól - szerintem három-hat hónap múlva ott leszünk -, ahol az MI írja a kód 90 százalékát” - mondta Dario Amodei, az Anthropic vezérigazgatója márciusban a Külkapcsolatok Tanácsának rendezvényén. „És 12 hónap múlva már egy olyan világban élhetünk, ahol az MI írja a kód lényegében teljes egészét” - tette hozzá. De sok szakértő figyelmeztet, hogy még a legjobb modelleknek is bőven van hova fejlődniük, mielőtt megbízhatóan automatizálni tudnák a kódolási munkákat. Bár a jövőbeli fejlesztések olyan mesterséges intelligenciát hozhatnak létre, amely ugyanolyan jól tud kódolni, mint egy ember, addig a mesterséges intelligenciára való túlzott támaszkodás hibás és feltörhető kódok túlkínálatához, valamint a jó szoftverek írásához szükséges ismeretekkel és készségekkel rendelkező fejlesztők hiányához vezethet.

David Autor az MIT közgazdásza, az MI foglalkoztatásra gyakorolt hatását tanulmányozza. Szerinte ugyan lehetséges, hogy a szoftverfejlesztési munkák automatizálásra kerülnek, hasonlóan ahhoz, ahogy a fordítási munkákat gyorsan felváltja az MI, megjegyzi azonban, hogy a fejlett szoftverfejlesztés sokkal összetettebb, és nehezebb automatizálni, mint a rutin kódolást. Autor hozzáteszi, hogy a képet bonyolíthatja a szoftverfejlesztés iránti kereslet „rugalmassága”, azaz az, hogy a piac milyen mértékben képes befogadni további fejlesztői munkákat. "Ha a szoftverek iránti kereslet olyan lenne, mint a kolonoszkópia iránti kereslet, akkor a sebesség javulása vagy a költségek csökkenése nem okozna őrült rohamot a proktológus rendelőjében” - mondja Autor. "De ha a szoftverek iránti kereslet olyan, mint a taxiszolgáltatások iránti kereslet, akkor az Uber-hatás jelentkezhet a kódolás terén: több ember ír több kódot alacsonyabb áron és alacsonyabb bérért.”

Yegge tapasztalatai azt mutatják, hogy a nézőpontok változnak. A termékeny blogger és kódoló korábban kételkedett abban, hogy az MI sokat segítene a kódírásban. Ma viszont már biztos ebben, és egy másik tapasztalt fejlesztővel, Gene Kimmel együtt írt egy könyvet Vibe Coding címmel, amely bemutatja a megközelítés lehetőségeit és buktatóit. Yegge tavaly decemberben meggyőződött arról, hogy az MI forradalmasítani fogja a szoftverfejlesztést, és kezdeményezte az MI kódolási eszközök fejlesztését a Sourcegraph nevű cégénél. "Így fog zajlani az összes programozás ez év végére” - jósolja Yegge. "És ha nem csinálod, akkor lemaradsz a versenyben.”


Ma a kódolási fórumok tele vannak példákkal mobilalkalmazásokra, kereskedelmi weboldalakra és akár többjátékos játékokra, amelyek mind vibe-kódolással készültek. A tapasztalt programozók, mint Yegge, utasításokat adhatnak az MI-eszközöknek, majd figyelhetik, ahogy az komplex ötleteket valósít meg. Több MI-kódoló startup - például a Cursor és a Windsurf - felkapta ezt a megközelítést. (Utóbbit épp készül megvenni az OpenAI.) Ugyanakkor a generatív MI nyilvánvaló korlátai, többek között az, hogy a modellek összevissza beszélnek és egyes esetekben összezavarodnak, sok tapasztalt programozót arra késztettek, hogy az MI-támogatott kódolást - és különösen a túlbuzgó vibe kódolást - potenciálisan veszélyes új divatnak tekintsék.

Martin Casado, számítógép-tudós és az Andreessen Horowitz általános partnere, aki a Cursor igazgatóságának tagja, szerint túlzott az az elképzelés, hogy az MI felváltja az emberi programozókat. "Az MI remekül képes lenyűgöző dolgokat végrehajtani, de nem jó konkrét feladatok elvégzésében” - mondta. Casado mégis megdöbbent a közelmúltbeli fejlődés ütemétől. „Fogalmam sem volt, hogy ilyen gyorsan ilyen jó eredményeket érünk el” - mondja. „Ez a számítástechnika területén a legdrámaibb változás azóta, hogy az assembler nyelvet felváltották a magasabb szintű nyelvek.”

Ken Thompson, a szoftverfejlesztés támogatásával foglalkozó Anaconda szakmai alelnöke szerint az MI bevezetése generációs szakadékot mutat: a fiatalabb fejlesztők belevágnak, míg az idősebbek óvatosabbak. A nagy felhajtás ellenére szerinte sok fejlesztő még mindig nem bízik az MI-eszközökben, mert azok kimenete kiszámíthatatlan, és napról napra változik, még akkor is, ha ugyanazt a parancsot kapják. „Az MI nem determinisztikus jellege túl kockázatos, túl veszélyes” - magyarázza. Casado és Thompson egyaránt úgy látja, hogy a vibe-coding átállás nem annyira a helyettesítésről szól, mint inkább az absztrakcióról, utánozva azt a módszert, ahogyan az új nyelvek, például a Python, alacsonyabb szintű nyelvekre, például a C-re épülnek, így könnyebbé és gyorsabbá téve a kódírást. Az új nyelvek általában szélesítették a programozás vonzerejét és növelték a gyakorló szakemberek számát. Az MI hasonló módon növelheti a működő kódot írni képes emberek számát.

Paradox módon a vibe-kódolás boomja arra utal, hogy a kódolás szilárd ismerete továbbra is ugyanolyan fontos, mint eddig. Azok, akik ezzel a területtel foglalkoznak, gyakran számolnak be problémákról, például előre nem látható biztonsági kérdések felmerüléséről, olyan funkciók létrehozásáról, amelyek csak szimulálják a valódi funkcionalitást, aránytalanul magas számlák keletkezéséről az MI-eszközök használata során, valamint hibás kódokról, amelyek javítására nincs ötletük. "Az MI eszközök mindent megcsinálnak helyetted - beleértve a elcseszést is” - mondja Yegge. „Óvatosan, figyelve kell használni őket.” Az a tény, hogy az MI rendkívül lenyűgöző eredményeket is produkálhat, de sokkolóan problémásakat is, megmagyarázhatja, miért annyira megosztottak a fejlesztők a technológiával kapcsolatban. Egy márciusi felmérés megkérdezte a programozókat, hogy mit gondolnak az MI kódolásról, és kiderült, hogy az MI eszközök iránt lelkesedők aránya (36 százalék) megegyezik a szkeptikusok arányával (38 százalék).

"Kétségtelen, hogy az MI megváltoztatja a kódok előállításának módját” - mondja Daniel Jackson, az MIT számítógép-tudósa, aki jelenleg azt vizsgálja, hogyan lehet az MI-t integrálni a szoftverfejlesztésbe. "De nem lepne meg, ha csalódás érne minket, és a felhajtás elcsitulna.” Jackson figyelmeztet, hogy az MI-modellek alapvetően különböznek a magas szintű nyelven írt kódot alacsonyabb szintű, a gépek számára hatékonyabb nyelvre átalakító fordítóprogramoktól, mert nem mindig követik az utasításokat. Előfordul, hogy egy MI-modell egy utasítást jobban végrehajt, mint a fejlesztő, máskor viszont sokkal rosszabbul teljesíti a feladatot.

Jackson hozzáteszi, hogy a vibe coding akkor bukik meg, amikor valaki komoly szoftvert fejleszt. "Szinte nincs olyan alkalmazás, amelyben a 'többnyire működik' elég lenne” - mondja. "Amint kell egy szoftver, akkor fontos, hogy az megfelelően működjön.” Sok szoftverprojekt komplex, és a kód egy részének megváltoztatása problémákat okozhat a rendszer más részein. A tapasztalt programozók értik a nagy képet, mondja Jackson, de „a nagy nyelvi modellek nem tudnak ilyen típusú függőségeket kezelni”. Jackson úgy véli, hogy a szoftverfejlesztés modulárisabb kódbázisokkal és kevesebb függőséggel fejlődhet, hogy alkalmazkodjon az MI vakfoltjaihoz. Arra számít, hogy az MI helyettesíthet egyes fejlesztőket, de sokakat arra kényszerít, hogy újragondolják a megközelítésüket, és jobban összpontosítsanak a projekttervezésre. Az MI-ra való túlzott támaszkodás „egyfajta közelgő katasztrófa” lehet, teszi hozzá Jackson, mert „nemcsak rengeteg hibás, biztonsági réseket tartalmazó kódunk lesz, hanem egy generációnyi új programozó is, akik képtelenek lesznek kezelni ezeket a réseket”.


Még azok a cégek is, amelyek már integrálták a kódolási eszközöket a szoftverfejlesztési folyamatukba, azt mondják, hogy a technológia még mindig túl megbízhatatlan a szélesebb körű használathoz. Christine Yen, a Honeycomb vezérigazgatója, amely nagy szoftverrendszerek teljesítményének figyelemmel kísérésére szolgáló technológiát nyújt, azt mondja, hogy az egyszerű vagy sablonos projektek, mint például a komponenskönyvtárak építése, jobban alkalmasak az MI használatára. Ennek ellenére úgy véli, hogy a cégénél az MI-t használó fejlesztők csak körülbelül 50 százalékkal növelték termelékenységüket. Yen hozzáteszi, hogy minden olyan esetben, ahol jó ítélőképességre van szükség, ahol a teljesítmény fontos, vagy ahol a kapott kód érzékeny rendszereket vagy adatokat érint, „az MI őszintén szólva még nem elég jó ahhoz, hogy kiegészítőként szolgáljon. A szoftverrendszerek építésének nehéz része nem csak a sok kód írása” - mondja. "Mérnökökre továbbra is szükség lesz, legalábbis ma még, hogy elvégezzék a kurátori munkát, meghozzák a döntéseket, útmutatást és iránymutatást adjanak.”

Mások azt sugallják, hogy a munkaerőben változás következik be. „Nem látunk alacsonyabb keresletet a fejlesztők iránt” - mondja Liad Elidan, a Milestone vezérigazgatója, egy olyan cég, amely segít a cégeknek a generatív MI-projektek hatásának mérésében. "Szerényebb keresletet látunk az átlagos vagy alacsony teljesítményű fejlesztők iránt”. "Ha egy terméket építek, korábban mondjuk 50 programozóra lett volna szükségem, most pedig talán csak 20 vagy 30-ra” - mondja Naveen Rao, a Databricks AI alelnöke, egy olyan cég, amely nagyvállalatoknak segít saját MI-rendszerek kiépítésében. „Ez teljesen valós.” Rao szerint azonban a kódolás megtanulása még egy ideig értékes készség marad. „Ez olyan, mintha azt mondanánk, hogy 'Ne tanítsd meg a gyerekedet matekozni'” - mondja. Hozzáteszi, hogy annak megértése, hogyan lehet a legtöbbet kihozni a számítógépekből, valószínűleg továbbra is rendkívül értékes marad.

Yegge és Kim veterán programozók, és úgy vélik, hogy a legtöbb fejlesztő képes lesz alkalmazkodni a következő hullámhoz. A vibe kódolásról szóló könyvükben a páros új stratégiákat javasol a szoftverfejlesztéshez, beleértve a moduláris kódbázisokat, a folyamatos tesztelést és a sok kísérletezést. Yegge szerint a mesterséges intelligencia használata a szoftverek írásához saját - kissé kockázatos - művészeti formává fejlődik. "Arról van szó, hogyan lehet ezt úgy csinálni, hogy közben ne tegyük tönkre a merevlemezünket és ne ürítsük ki a bankszámlánkat” - mondja.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • Archenemy #6
    Én azt láttam, hogy kódolásban akkor hasznos az AI, ha már nagyjából eleve tudod, hogy mit akarsz csinálni, hogy akarod strukturálni. Ha hagyod neki hogy maga találjon ki mindent, akkor azt sokkal nehezebb lesz utólag átlátni, mint ha kb. csak a szintaktikát írja meg.

    Azzal együtt ja, nem lennék ma junior programmer.

  • Gabbbbbbbbbbbb #5
    > Én is használom az MI-t napi szinten programozásra, de azért attól nagyon messze van hogy egy programozói ismeretek nélküli ember bármi működőt csinálna vele.

    Ebben nagyjából igazad van, viszont a lényeg is itt van elásva. 1db programozói ismeretekkel rendelkező ember akár képes lehet 10 junior dev munkáját kiváltani vele. Engem személy szerint néha ledöbbent, hogy mennyire jó kódot fos ki, máskor meg csak frusztrálva magyarázom neki, hogy mit is szeretnék és hogyan is kéne csinálni.

    Pár napja volt egy 1000 soros szösszenet amiben benne volt egy működő implementáció, amit én is szerettem volna a saját kódomban, de nem sikerült kibogozni a spagettit, nem értettem meg, hogy miért is működik az a valami. AI-nak beillesztettem a kódot és mondtam neki, hogy ez alapján oldja meg a problémámat, és azonnali siker lett az eredménye.
  • bdzsana #4
    ChatGPT 3 ami már valamire is használható volt 2-3 éve létezik, de kódolásban még az is nagyon buta volt. Most ott tartunk hogy 2 hete egy bugot 10 perc alatt megtalált ClaudeAI egy projectben amit 2 senior programozó (15 év tapasztalattal 6-7 év ebben a projectben) nem tudott két nap alatt.
    Még sokat hibázik, nagy contextben elveszlik és brutálisan fogyasztja a tokeneket. De már vannak területek amiben sokkal jobb mint az ember.
    Bugkereséseben nekem nagyon hasznos, olyan featureök implementálásában amik viszonylag jól elkülönülnek. Bizonyos erőforrásigényes algoritmusok optimalizálásában, SQL / DB lekérdezés és adatbázis szerkezet optimalizálás. Fejlesztést segítő toolok írása. Ezekben én már nagyon sokat köszönhetek neki. De aztán ott vannak még a perremterületek, devops, CI stb ahol megint rengeteget segített, egész custom CI rendszereket építettem fel a segítségével.

    Ha azt nézzük tényleg hogy 2-3 év alatt honnan hova jutott, milye ütemben fejlődik, akkor annyira nem elrugaszkodottak azok a jóslatok, hogy ez a múlt szakmája.
    Az AI célhardverek nem Moore törvénye szerint duplázódnak hanem többszöröződnel teljesítményben évente. A modellekben mai napig vannak olyan áttörések, amik memória használatot, méretet, tanulási időt töredékére csökkentik. Már az adatmennyiség sem jelent kiemelt problémát az RL-el.
    Csak ezek alapján lehet jósólni hogy rövid időn belül nagy fejlődés jön, és ebben nincs benne még az, hogy az AI maga milyen mértékben tudja felgyorsítani a saját fejlesztését.

    Tudom hogy ez egy másik terület, de ha emlékeztek a memesiteokat elárasztó lázálom AI videókra (persze hogy emlékeztek 1 éve volt max) most hol áll?
  • bunny #3
    Meglesz a helye, használni fogjuk aktívan. Ez csak egy következő lépése annak az útnak, ami zajlik mióta a számítógépeket programozzuk. Az elején még biteket állítgattak, ahoz képest egy assembly is már könnyebbség. Aztán jöttek az olyan beszédes nyelvek mint a BASIC, de egy manapság gépközelinek tekinthető C akármi is bőven kényelmesen olvasható. De ezeken az elején még mindent, de tényleg mindent meg kellett írni. Manapság már úgy kezdődik a fejlesztés, hogy keretrendszer meg több ezer 3thparty library aládtesz egy rakás funkciót, amit pár évtizede még kézzel megírtál és valójában lövésed nincs, hogy pontosan mi és hogyan történik a liben belül. Tehát már eddig is igazából nem te kódoltál, csak használtad mások kódjait , ami nem sokban különbözik attól, hogy az AI írja meg helyetted.

    Én azt látom, hogy a kulimunka csökken, a codermonkey-ra (OKJ-s programozónak szoktam hívni) nem lesz szükség. Emellett a tesztelést is jól el tudja végezni, illetve állítólag -nincs tapasztalat- a debuggolásban is egész hasnos.
    De aki átlátja a folyamatokat, aki képes lebontani lépésekre és azt jól leírni, majd értelmezni az AI kódot esetleg ha hibás, tehát a magasan képzett programozókra még egy ideig szükség lesz. Nem mindenhol, nem minden feladatnál. Lesz gyorsan olyan, hogy tényleg mindent megír az AI mert nem bonyolult igazából. De a legtöbb esetben mint supervisor és programtervező az ember ott lesz még.
  • Supra-III #2
    Nah, ez az.
    Olvasom a híreket, és olyan, mintha egy másik bolygón írták volna őket. Én is használom az MI-t napi szinten programozásra, de azért attól nagyon messze van hogy egy programozói ismeretek nélküli ember bármi működőt csinálna vele.
    Pont tegnap futottam bele, hogy leírta, hogy így meg így fogja rövidíteni a programkódot az ismétlések kivételével - aztán nem ezt tette. Ráírtam, hogy "figyu, nem lenne jobb úgy, hogy ...." és akkor már megcsinálta.
    Nagyobb projektek esetén is pontosan be lehet határolni, hogy melyik méretnél veszítette el a fonalat.
    Szóval rettentően hasznosak és rettentően megbízhatatlanok (még). A józan ész fontossága nem most fog elveszni (ha már a divatból úgyis kiment)

    Az, hogy ezerszámra rúgnak ki programozókat, az nem hír, hanem kifogás - és fogadnék, hogy a marketing osztály írta.
    A baj ezzel az hogy ezeket a híreket mindenki átveszi, pedig álhír, hangulatkeltés, sőt: pánikkeltés.
    Utoljára szerkesztette: Supra-III, 2025.06.25. 06:56:40
  • kvp #1
    Ez a cikk kulcsmondata:
    "Szinte nincs olyan alkalmazás, amelyben a 'többnyire működik' elég lenne”

    Es az MI-vel itt van a gond. Jelenleg a legjobb MI se pont azt fogja csinalni amit kell es minel nagyobb a feladat annal valoszinubb, hogy hulyeseget csinal.

    Raadasul a legtobb feladat pontos leirasa meg emberek szamara is nehez, de egy gep szamara olyan pontosan kell megadni mindent, hogy ekkor mar tobbnyire gyorsabb megcsinalni.

    Persze az MI alapu fejlesztesek talan eletkepesek lehetnek egy olyan metodologiaval ami feltetelezi, hogy az MI nem azt es nem pont ugy fogja csinalni amit kernek tole, ezert egy masik MI iterativan addig modositja a kereseket, amig a kivant eredmenyt nem kapja. Jelenleg a bonyolultabb feadatok (a rendszerek mukodesenek) megertesehez szukseges az emberi szintu intelligencia es amig nem kepesek emberi szintu MI-t irni, addig az architect-ek munkaja biztos megmarad. Ha viszont kepesek lesznek, akkor miert is engedelmeskedjen ez az uj halhatatlan es mindent is tudo MI barmilyen gazdag, de hozza kepest buta nagytokesnek?

    ps: A valodi problemat a tobb szintu szoftver kornyvtarak hasznalataval lehetne megoldani, tehat lego szeruen epitkezve. Ebben bizonyos nyelvek es a nyilt forraskodu kozosseg jobbak, mivel a tobb felhasznalo tobb tudast adott hozza es ez mindenki masnak is elerheto. Ezzel rengeteg repetitiv, mar mas altal elvegzett munkat ki lehet valtani, lasd a kerek ujra feltalalasanak elkerulese ami meg mindig sok project-re jellemzo, foleg a zart forraskodu megoldasok eseten.