A szoftverek fejlődésének új korszaka

Az elmúlt évtizedekben a szoftverfejlesztés alapvetően meghatározta digitális világunkat, de a legújabb technológiai áttörések új korszakot nyitnak meg, ahol a számítógépek programozása gyökeresen átalakul. Andrej Karpathy, a Tesla korábbi mesterséges intelligencia igazgatója szerint a szoftverek fejlődése a korábbi évtizedek lassú változása után az utóbbi években drámai gyorsulást mutatott, ami alapjaiban írja újra a programozásról alkotott képünket.

A Szoftver evolúciója

A hagyományos szoftverfejlesztés, amit Karpathy Szoftver 1.0-nak nevez, arról szól, hogy a programozók explicit utasításokat írnak a számítógépnek. Ez a kód, amit például Pythonban vagy C++-ban írunk, a számítógép pontosan meghatározott feladatainak elvégzésére szolgál. Gondoljunk csak a GitHubon tárolt kódok hatalmas univerzumára, amelyek mind ezen az elven alapulnak.

Azonban néhány éve megjelent egy új típusú szoftver, a Szoftver 2.0, amely a neurális hálózatokon alapul. Itt a programozók már nem közvetlenül írják a kódot, hanem adatokat és finomhangolási folyamatokat biztosítanak, amelyek segítségével a neurális hálózatok „megtanulják” a feladatok elvégzését. Például egy képfelismerő rendszer nem explicit szabályok alapján azonosítja a macskákat, hanem hatalmas adatmennyiségből sajátítja el a felismerés mintázatait. A Hugging Face platform a Szoftver 2.0 GitHubja, ahol modelleket és súlyokat lehet megosztani, ahelyett, hogy hagyományos forráskódokat tárolnánk.

A legfrissebb és talán leginkább forradalmi változás a Szoftver 3.0 megjelenése, amelyet a nagyméretű nyelvi modellek (LLM-ek) vezetnek be. Ezek a modellek egyszerű emberi nyelven „programozhatók”, például angolul írt utasításokkal, vagyis „promtokkal”. Ez egy egészen újfajta eljárás, amely lehetővé teszi, hogy ahelyett, hogy Python kódot írnánk egy algoritmushoz, egyszerűen csak megkérjük a nyelvi modellt, hogy végezze el a feladatot. Ez a változás Karpathy szerint rendkívül figyelemre méltó, mivel anyanyelvünkön is programozhatjuk a számítógépeket. A Tesla Autopilot fejlesztésének példája is jól szemlélteti ezt a tendenciát: ahogy a neurális hálózatok fejlődtek, egyre több, korábban kézzel írt C++ kódot váltottak ki a Szoftver 2.0 alapú megoldások. Most ugyanez a folyamat kezdődik a Szoftver 3.0-val, ahol az LLM-ek átveszik a hagyományos kódok szerepét.

Az LLM-ek, mint operációs rendszerek és „közüzemi szolgáltatások”

Karpathy izgalmas analógiákat von az LLM-ek és más, már jól ismert rendszerek között. Egyrészt az LLM-ek rendkívül hasonlítanak a közüzemi szolgáltatásokra, mint az áramszolgáltatás. Az OpenAI, a Google Gemini vagy az Anthropic jelentős tőkebefektetést igényel a modellek betanítására, majd ezeket az „szolgáltatásokat” API-kon keresztül, mért hozzáféréssel (például tokenenkénti fizetéssel) kínálják. Ahogy az áramszolgáltatásban is elvárjuk az alacsony késleltetést és a magas rendelkezésre állást, úgy az LLM-ek esetében is pontosan ezek az alapvető követelmények. A párhuzam itt is megfigyelhető: ha egy nagy nyelvi modell leáll, az a globális intelligencia-ellátásban „áramszünetet” okozhat, amely megbénítja a modellekre támaszkodó rendszereket.

Másrészt az LLM-ek egyre inkább az operációs rendszerekre emlékeztetnek. Már nem egyszerű árucikkek, mint a víz vagy az áram, hanem komplex szoftveres ökoszisztémák, amelyek egyre bonyolultabbá válnak a különböző eszközhasználat és a multimodalitás (szöveg, kép, hang kezelése) révén. Akárcsak a Windows vagy a macOS mellett létezik egy nyílt forráskódú alternatíva (Linux), úgy az LLM-ek terén is megfigyelhető a zárt forráskódú modellek (például GPT, Claude, Gemini) és a nyílt forráskódú kezdeményezések (például a LLaMA ökoszisztéma) versenye.

Jelenleg az LLM-számítás továbbra is drága, ami a modelleket a felhőben centralizálja. Emlékeztet ez az 1960-as évekre, amikor a számítógépek hasonlóan centralizáltak voltak, és időmegosztásos rendszerekben működtek. A „személyi számítógép-forradalom” az LLM-ek terén még nem történt meg teljes mértékben, bár már vannak kezdeti jelek a helyi, „személyi LLM-ek” megjelenésére. Az is érdekes, hogy a felhasználók most közvetlenül, szöveges felületen keresztül kommunikálnak az LLM-ekkel, akárcsak egy operációs rendszerrel egy terminálon keresztül, és a grafikus felhasználói felületek (GUI-k) általános jelleggel még nem jelentek meg.

Azonban van egy lényeges különbség is: az LLM-ek felborítják a technológiai diffúzió hagyományos irányát. Korábban az új, átalakító technológiákat (például az áramot, a számítógépeket) először a kormányok és a nagyvállalatok használták, majd később terjedtek el a fogyasztók körében. Az LLM-ek esetében viszont épp ellenkezőleg: a széles tömegek, a mindennapi felhasználók azok, akik először és a legintenzívebben alkalmazzák ezeket az új „varázslatos számítógépeket”.

Az LLM-ek pszichológiája és a „részleges autonómiájú alkalmazások”

Az LLM-ek működésének megértéséhez fontos megvizsgálni a „pszichológiájukat”. Karpathy szerint az LLM-ek olyanok, mint az emberi szellem sztochasztikus szimulációi. Hatalmas mennyiségű szöveges adaton tanultak, így enciklopédikus tudással rendelkeznek és sok dolgot képesek megjegyezni, akár egy „esőember” – ám egyúttal jelentős kognitív deficitjeik is vannak. Hajlamosak hallucinálni, kitalált dolgokat állítani, és hiányzik belőlük az önismeret. Intelligenciájuk „fogazott”: bizonyos területeken emberfeletti teljesítményt nyújtanak, máskor viszont olyan alapvető hibákat ejtenek, amelyeket egyetlen ember sem tenne. Például ragaszkodhatnak ahhoz, hogy a 9.11 nagyobb, mint a 9.9. Ezenkívül amnéziában is szenvednek: a kontextus ablakuk (vagyis az aktuális „memóriájuk”) minden interakció után „törlődik”, és nem képesek maguktól tartósan tanulni, mint az emberek.

Ez a kettősség – szuperképességek és kognitív deficitek – alapvetően meghatározza az LLM-ekkel való együttműködést. Éppen ezért, Karpathy hangsúlyozza, a „részleges autonómiájú alkalmazások” jelentik a jövőt. Ez azt jelenti, hogy az LLM-ek nem teljesen autonóm ágensként működnek, hanem segítenek a felhasználóknak a feladatok elvégzésében, miközben az ember továbbra is felügyeli és ellenőrzi a folyamatokat.

A Cursor nevű kódoló alkalmazás kiváló példa erre: ahelyett, hogy közvetlenül a chatbotba másolgatnánk a kódot, az alkalmazás integrálja az LLM-et a fejlesztési környezetbe. Ezek az alkalmazások a következő jellemzőkkel bírnak:

  • Környezetkezelés: Az LLM-ek automatikusan kezelik a releváns információkat és kontextust.

  • Több LLM-hívás vezénylése: Az alkalmazások a háttérben több LLM-et is használnak, például beágyazási modelleket, chat-modelleket és kódfájlokat módosító modelleket.

  • Alkalmazás-specifikus grafikus felhasználói felület (GUI): A vizuális felületek kritikus fontosságúak, mivel megkönnyítik az ember számára a rendszer munkájának ellenőrzését és a gyorsabb munkavégzést. Például egy kódváltozásokat vizuálisan megjelenítő felület sokkal hatékonyabb, mint egy hosszú szöveges leírás.

  • Autonómia csúszka: Ez a funkció lehetővé teszi a felhasználó számára, hogy szabályozza az LLM által élvezett autonómia mértékét. Például a Cursorban választhatunk a kiegészítés, egy kódrészlet módosítása, egy teljes fájl módosítása vagy akár a teljes kódalap automatikus átalakítása között.

A Perplexity nevű keresőalkalmazás is hasonló elven működik, forrásmegjelöléssel és különböző szintű kutatási opciókkal.

Együttműködés a mesterséges intelligenciával

A mesterséges intelligenciával való együttműködés során az egyik legfontosabb szempont a generálási és ellenőrzési ciklus felgyorsítása. Az AI generál, az ember ellenőriz – ez a feladatmegosztás. Ennek a ciklusnak a gyorsítása két fő módon valósítható meg:

  • Az ellenőrzés felgyorsítása: A grafikus felhasználói felületek (GUI-k) kiemelkedően fontosak, mivel a vizuális információ sokkal gyorsabban feldolgozható az emberi agy számára, mint a szöveg.

  • Az AI „pórázon tartása”: Fontos, hogy az AI ne generáljon túl nagy, kezelhetetlen méretű módosításokat (például egy 10 000 soros kódmódosítást), mert az emberi ellenőrzés akkor is szűk keresztmetszet marad. Ahogy a Teslánál az önvezető rendszerek fejlesztése során is tapasztalták, a részleges autonómia lépésről lépésre, kontrolláltan valósult meg, és még ma is sok az emberi beavatkozás.

Karpathy óva int a túlzott optimizmustól az AI ágensekkel kapcsolatban. Bár a „2025 a mesterséges intelligencia ágensek éve” hangzatos kijelentés, Karpathy szerint valószínűbb, hogy az ágensek évtizede előtt állunk, és az emberi felügyelet továbbra is elengedhetetlen lesz. Az „Iron Man öltöny” analógia kiválóan érzékelteti ezt a szemléletet: nem Iron Man robotokat kell építeni, hanem Iron Man öltönyöket, amelyek az ember képességeit növelik. A cél az olyan részleges autonómiájú termékek létrehozása, amelyek testreszabott GUI-val és felhasználói felülettel rendelkeznek, és ahol az autonómia csúszkával szabályozható a rendszer beavatkozásának mértéke. Ezzel biztosítható, hogy a mesterséges intelligencia hatékonyan segítsen, miközben az ember továbbra is irányítás alatt tartja a folyamatokat, és minimalizálja a hibák kockázatát. 

Osszd meg ezt a cikket
A mesterséges intelligencia hajnala
Sam Altman, az OpenAI vezérigazgatója, egy friss beszélgetés során mélyreható betekintést nyújtott a mesterséges intelligencia (MI) jövőjébe, az OpenAI alapításának kihívásaiba és az általa elképzelt robbanásszerű fejlődésbe. Elmélkedései nem csupán technológiai víziónk határait feszegetik, hanem azt is megmutatják, miként változhat meg alapjaiban a munkánk, a mindennapjaink és a társadalmunk
Mesterséges intelligencia, űr és emberiség
Elon Musk, a SpaceX, Tesla, Neuralink és xAI alapítója és vezetője egy közelmúltbeli interjúban osztotta meg gondolatait a jövő lehetséges irányairól, különös tekintettel a mesterséges intelligenciára, az űrbe való terjeszkedésre és az emberiség fejlődésére.
 Valós idejű zene komponálás a Google Magenta RT modelljével
A mesterséges intelligencia alkalmazása a zene komponálásban nem új keletű törekvés, ám a valós idejű működés sokáig jelentős akadályokba ütközött. A Google Magenta csapata most olyan fejlesztést mutatott be, amely a műfaj technikai és kreatív lehetőségeit egyaránt kiszélesítheti. A Magenta RealTime (röviden: Magenta RT) névre keresztelt új modell valós időben generál zenét, miközben nyitott forráskódjának köszönhetően bárki számára hozzáférhető.
A Google Cloud Run GPU-támogatást biztosít mesterséges intelligencia projektekhez
A Google Cloud hivatalosan is elindította az NVIDIA GPU támogatás általános elérhetőségét a Cloud Run számára, ami jelentős előrelépést jelent a szerver nélküli platformjában. Ez a frissítés célja, hogy a fejlesztőknek költséghatékony, skálázható megoldást nyújtson a GPU-alapú feladatokhoz, különösen az AI-következtetéshez és a kötegelt feldolgozáshoz kapcsolódóakhoz. Ezzel válaszol a felhőben elérhető, GPU-erőforrások iránti növekvő igényre, miközben megőrzi azokat a kulcsfontosságú funkciókat, amelyek a Cloud Run-t népszerűvé tették a fejlesztők körében.
GitHub-integrációval erősít a Gemini Advanced
A mesterséges intelligencia alapú fejlesztői eszközök terén nincs hiány újabb és újabb fejlesztésekben. A Google ezzel kapcsolatban most bejelentette, hogy közvetlen GitHub-integrációval bővíti Gemini Advanced nevű prémium AI-asszisztensét. A lépés nem csupán válasz a rivális OpenAI hasonló fejlesztéseire, hanem egyben komoly előrelépés is a fejlesztői munkafolyamatok hatékonyságának növelésében.
Az Apple Anthropic-ra támaszkodva kíván saját „Vibe-Coding” platformot létrehozni
Az Apple számos nehézséggel nézett szembe az utóbbi időben saját mesterséges intelligencia megoldásainak kifejlesztése során, ezért talán nem meglepő, hogy a továbbiakban inkább külső AI-szakértelemre támaszkodna a további fejlesztések érdekében. Most úgy döntöttek, hogy az Anthropic-al egyesítik erőiket egy forradalmi „vibe-coding” szoftverplatform létrehozására, amely a generatív mesterséges intelligenciát használja fel a programozók kódjának írására, szerkesztésére és tesztelésére - derül ki a legfrissebb jelentésekből.

Az elmúlt néhány napban megjelent Linux disztribúció frissítések