Ezt az AI agentekről mindenki rosszul tudja
Az AI agentek rejtett architektúrája: amit mindenki rosszul ért
Ha már kísérleteztél AI agentekkel, valószínűleg te is észrevetted ezt a furcsaságot: néha hibátlanul követik az összetett utasításokat, néha meg a legegyszerűbb szabályokat sem veszik figyelembe, amit éppen most írtál le.
Nem a képzeleted játszik veled. Minden AI agent mélyén van egy alapvető architektúra, ami pontosan megmagyarázza, miért történik ez – és amint megérted, minden a helyére kerül.
Nem más, mint egy végtelen ciklus
Íme egy titok, ami szinte túl egyszerűnek hangzik: az AI agent alapvetően egy végtelen ciklus, ami hozzáfűz egy tömbhöz.
while True:
user_input = get_input()
response = llm.complete(user_input)
if response.wants_tool:
result = execute_tool(response.tool_call)
response = llm.complete(result)
print(response)
Ennyi az egész. Ez a mag architektúra. Minden más – a tool definíciók, a system promptok, a context management – csak ez a hurok köré tekert burkolat.
A tömb, amiről beszélünk, nem más, mint a context window. Minden API hívás elküldi a teljes felhalmozott beszélgetést. Minden forduló hozzáad valamit. A modell maga teljesen állapot nélküli a hívások között.
A context window tartalmazza: a system promptot, a tool definíciókat, a felhasználói üzenetet, az assistant válaszait, a tool eredményeket, és mindent, amit beleraktál. Ez a tömb minden egyes váltásnál nő.
Az okos zóna problémája
Itt kezdődik az érdekes rész. A legtöbb fejlesztő feltételezi, hogy a context window egységes – bedobálod az információt, és a modell egyformán dolgozza fel.
De nem így van.
Az első nagyjából 40 százaléka az a hely, ahol a modell tisztán gondolkodik. Ez az "okos zóna." Ezen a küszöbön túl az attention szétszóródik. A tool választások elnagyoltak lesznek. Az instrukciók elkopnak. A cél el kezd kószálni.
Ez magyarázza, miért ronthatja a teljesítményt, ha több kontextust adsz hozzá. A legújabb gondolkodó modellek megbízhatóan körülbelül 150-200 utasításig követnek mindent, aztán elkezdenek szétesni. Ezen a ponton túl még a prompt tetején lévő explicit szabályok is elvesznek.
Gondolkodj el ezen: ha rendszerpromptokat, több tool definíciót, beszélgetési előzményeket és referenciadokumentumokat pakolsz egymásra, lehet, hogy a hasznos utasításaidat már túl tolod azon a ponton, ahol a modell megbízhatóan követni tudja őket.
Az elosztási probléma, amiről senki nem beszél
A statikus tartalmak a csendes gyilkosai az agent teljesítményének.
Mielőtt még egyáltalán elkezdődne a beszélgetés, valószínűleg már tele van a context windowod dolgokkal, amik szükségesnek tűnnek: átfogó system promptok, terjedelmes tool definíciók, memóriabankok, MCP konfigurációk, dokumentációs hivatkozások.
Mindez a statikus tartalom elfogyasztja az okos zónát, még mielőtt az első felhasználói üzenet megérkezne.
Az eredmény? A legfontosabb utasításaid – amik meghatározzák az agent viselkedését ehhez a konkrét feladathoz – versenyeznek a helyért egy zsugorodó okos zónában.
Ez az oka, amiért a legjobb agentek nulláról indulnak. Egy új munkamenet üres context window-t jelent. Nincs felhalmozott kosz. Nincs versengő utasítás az előző feladatokból. Csak ami kell a munkához.
Context rot: a csendes hibajelenség
Íme, ami ravasz a context managementben: semmi nem hibázik.
A hagyományos szoftverfejlesztésben hibákat kapnál. Kivételeket. Olyan baklövéseket, amiket érzékelhetsz és kezelhetsz. De a context windowoknál minden hívás sikerül. A modell válaszol. Csak... egyre rosszabb lesz.
Ugyanaz az ablak. Ugyanaz a modell. Csak megtelik.
Ez a "context rot" – az agent teljesítményének fokozatos romlása, ahogy a context window megtelik felhalmozott beszélgetési előzményekkel, tool eredményekkel és dokumentációs hivatkozásokkal. Nem fogsz hibaüzenetet látni. Egyszerűen csak azt veszed észre, hogy az agented egyre megbízhatatlanabb, egyre szétszórtabb, egyre kevésbé igazodik az utasításaidhoz.
Ez alapvetően különbözik a tipikus szoftverhibáktól. Nem hiba – kapacitás probléma. És észrevétlenül közelít.
Az okos zóna munkára fogása
Ezeknek az elveknek a megértése gyakorlati stratégiákhoz vezet:
Indíts nulláról minden feladathoz. Ne használd újra egy előző projekt fáradt ablakát. Új feladatok, új munkamenetek. Tiszta lap, teljes okos zóna.
Csak azt add hozzá, amire a feladathoz szükség van. Az a MCP integráció, ami más munkához hasznos? Hagyd ki. Azok a jegyzetek egy másik projektről? Csak helyet foglalnak. Könyörtelenül szűrd, mi kerül a context windowba.
Tárolj lemezre. Nagy fájlok maradjanak a lemezen. Összefoglalók kerüljenek be az ablakba. Mindig beolvashatod a fájlt, ha kell – miután már összefoglaltad a context window számára.
Használj sub-agenteket a kitérőkhoz. Amikor az agentednek valami mellékes dolgot kell kutatnia, indíts egy sub-agentet. Hadd vizsgálódjon és térjen vissza egy bekezdéssel. Ne engedd, hogy a felfedezés telezsúfolja a fő contextot.
Hagyj helyet a vonal alatt. Amikor az agent befejezi a fő munkát, még mindig vannak lezáró teendők – tesztek írása, kód commitolása, linterek futtatása. Ha a context tele van, nincs hely a kritikus utolsó lépésnek.
Oszd szét a nagy munkát több munkamenetre. Amikor egy feladat nem fér egy ablakba, először tervezd meg. Írd a specifikációt lemezre. Több agent is átveheti, ahol az előző abbahagyta.
A valódi tanulság
Minden munkamenet nulláról indul. A context nem magától rendeződik.
Valakinek kell kezelnie a context elosztást, rotációt, tömörítést és helyreállítást. Valakinek kell eldöntenie, mi éri meg bent hagyni az okos zónában, és mi kerüljön lemezre.
Az Anthropic szállítja az agent harnesst – a végtelen ciklust, a tool végrehajtást, az alap LLM integrációt. Te szállítod köré a réteget. A context managementet. A feladat keretezését. A system prompt tervezést.
Ennek az architektúrának a megértése nem fog egyik napról a másikra AI szakértővé tenni. De keretrendszert ad a hibák diagnosztizálásához és szókincset a context management rendszerezett átgondolásához.
Legközelebb, amikor az agented elkezd figyelmen kívül hagyni utasításokat, pontosan tudni fogod, mit ellenőrizz: mennyi az okos zónád még elérhető része, és mi tölti meg.
Ez a rejtett architektúra. Most kezdj el építeni valamit.