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.