A káoszból kódsorok lettek: A vibe coding meglepő karrierje
Amikor egy őrült projekt mellékúton megtanít valamire
Van egy mondás: a legjobb ötletek a legabszurdabb projektekből születnek. Évek óta írok erről a blogról, és most végre átéltem egyet magam.
A kényszerű karrierváltás
Tavaly év elején a cégemnél leépítésbe kezdtek. Nem én voltam az egyetlen, de ettől még fájt. Hetekig azt csináltam, amit mindenki: pályáztam mindenhol, frissítgettem a LinkedIn-profilom, és szidtam a világot, hogy miért pont velem történik ez.
Aztán egy nap烦 valami megváltozott. Feladtam az aktív keresést, és gondoltam egyet: ha már ilyen sok szabadidőm van, miért ne tanulnék végre valamit, amit mindig is ki akartam próbálni?
Így született meg a NeuralRealms — egy MMO, ahol minden NPC-t valós időben irányít egy nagy nyelvi modell. Igen, pont úgy, ahogy gondolod. Az AI karakterek ugyanúgy élik a játékot, mint a valódi játékosok. Kereskedők, őrök, szörnyek — mindenki ugyanazokon a rendszereken fut.
A technológiai választás buktatói
Amikor elkezdtem, tudatosan olyan stacket választottam, amit a legtöbben elkerülnének kezdőként: Rust, Bevy, SpacetimeDB. Ezek remek eszközök, nem vitás. De a tanulási görbe meredekebb, mint egy alpine sziklafal.
Ez volt a lényeg. Akartam a súrlódást. Akartam, hogy kénytelen legyek megérteni, mi történik a motorháztető alatt.
Az alapötlet egyszerű volt: a játékosok és az NPC-k architektúrája szinte azonos. Az egyetlen különbség: az NPC-k döntéseit nem emberi agy, hanem LLM hozza meg. Az első megközelítésem működött is — vettem egy pillantást a játék pillanatnyi állapotáról, hozzáadtam az elérhető akciókat, elküldtem a modellnek, vártam a választ.
Működött. Egészen addig, amíg elő nem jött a valós probléma.
Az az átkozott késleltetés
MMO-ban az idő nem áll meg. A játékosok azonnali reakciót várnak el. De ha minden NPC döntéséhez be kell várnod egy LLM-hívást — nos, a felhasználói élmény gyorsan a pokolba indul.
Próbálkoztam kisebb modellek finomhangolásával, de ez drága és merev megoldás. A játék mechanikái még nem voltak véglegesek — nem lehet jól tanítani egy modellt egy mozgó célpontra.
Aztán jött a áttörés: hibrid architektúra.
Ahelyett, hogy kizárólag LLM-re bíztam volna minden döntést, bevezettem a behavior tree-ket alapnak. Minden NPC-típus kap egy alapértelmezett fát a szerepe alapján. Az LLM egyfajta „újragenerátor" szerepet kap: frissíti ezeket a fákat az alapján, amit az NPC „átél."
Ez a lényeg:
[SpacetimeDB állapot] → [Behavior Tree vezérlés] → [Akció végrehajtás]
↑
| (ritka döntések)
[LLM Bridge]
A varázslat a SpacetimeDB push-alapú felépítéséből jött. Az LLM bridge mindig friss, kontextualizált játékállapotot kap. Nem egy lapos tools listát. Nem egy statikus promptot. A világ élő pillanatképét, ahol az akciók szemantikailag kapcsolódnak a jelenlegi helyzethez.
A kérdés, ami mindent megváltoztatott
Ott álltam hát ezzel az architektúrával, és eszembe jutott egy furcsa gondolat:
Miért nem így működik minden AI protokoll?
Miért adunk a modelleknek lapos tool-listákat? Miért human-eyes interfészeket alakítunk át gépeknek? Mi történne, ha kifejezetten AI agentek számára terveznénk rendszereket?
A behavior tree minta nem csak játékokhoz való. Bizonyított modell az AI döntéshozatalhoz. Az az elképzelés, hogy push-oljuk a releváns állapotot ahelyett, hogy az agent poll-olna érte? Ez nem iteratív javulás — ez paradigmaváltás.
Mit jelent az agent-first tervezés
Ez az a pont, ahol minden AI-val dolgozó fejlesztőnek érdemes odafigyelnie. Még mindig abban az korszakban vagyunk, ahol emberi interfészeket alakítunk át gépeknek. De mi van, ha megfordítjuk?
Egy agent-first protokoll így nézhet ki:
- Push-alapú állapot: A rendszerek push-olják a releváns kontextust az agenteknek
- Kontextualizált akciók: Eszközök, amelyek értik jelenlegi relevanciájukat az állapot alapján
- Strukturált döntésterek: Világos hierarchia a döntéseknek, nem korlátlan választék
- Beépített validáció: Reducer-ek, amelyek biztosítják az állapotkonzisztenciát
Gondolj bele, mennyi prompt engineering megy most arra, hogy a modellek megértsék, milyen akciók lehetségesek és mikor. Most képzeld el, hogy egy protokoll, ahol ez a kontextus inherens, mindig friss, mindig releváns.
A váratlan tanulság
Íme, mit tanított meg ez a projekt: a legértékesebb felismerések néha abból születnek, hogy valami ambiciózusat építesz új eszközökkel. Az volt a célom, hogy játékot csináljak AI NPC-kkel. De közben fundamentalis feltételezéseket kezdtem megkérdőjelezni az AI agentek és rendszerek interakciójáról.
Ez a protokoll, amin most dolgozom, nem elméleti. Valós kényszerekből született, valós architekturális döntésekből, valós leckékből, amiket akkor tanultam, amikor LLMet olyan területre vittem, amire nem lett tervezve.
Te mit építettél már, ami mellékúton megtanított valamire? A legőrültebb projektek vezetnek a legérdekesebb felismerésekhez. Meséld el a sajátodat — kíváncsi vagyok, milyen váratlan utakon jártál.