Mesterséges intelligencia,  Tartalommarketing

Hogyan oldják meg az AI ügynökök a hosszú távú, összetett feladatok kihívásait?

Az AI ügynökök egyre fejlettebbé válnak, így a fejlesztők egyre gyakrabban bíznak rájuk összetett, akár órákig vagy napokig tartó munkafolyamatokat. Azonban a hosszú távú, folyamatos előrehaladást igénylő feladatok megoldása még mindig komoly kihívást jelent, különösen azért, mert az AI ügynökök munkamenetei diszkrétek, és minden új munkamenet egy előzményektől mentes, „tiszta lappal” indul. Ez nagyjából olyan, mintha egy szoftverfejlesztő csapatban minden műszak új mérnökökkel indulna, akik nem ismerik az előző műszak történéseit.

A probléma gyökere, hogy a legtöbb fejlesztési projekt nem fejezhető be egyetlen „kontekstusablak” (context window) keretében, hiszen ezek az ablakok méretben és időben is korlátozottak. Ezért az AI ügynököknek hatékony módszerekre van szükségük, hogy a munkamenetek közötti szakadékot áthidalják, és biztosítsák a folyamatos, konzisztens fejlődést.

A hosszú távú AI ügynökök alapvető kihívásai

Az Anthropic által fejlesztett Claude Agent SDK egy sokoldalú, erőteljes AI ügynök, amely képes kódolási feladatokat és más, összetett munkákat is ellátni, ahol a modell eszközöket használ kontextusgyűjtésre, tervezésre és végrehajtásra. A rendszer támogatja a „kompaktációt” (compaction), ami lehetővé teszi, hogy az ügynök egy adott feladaton dolgozzon anélkül, hogy kimerítené a kontextusablakot. Elméletben így egy AI ügynök akár korlátlan ideig is dolgozhatna egy projekten. A gyakorlatban azonban ez nem elég.

Egy tipikus probléma, hogy a Claude hajlamos túl sok mindent egyszerre megpróbálni megoldani, mintha egyetlen lépésben akarná elkészíteni az egész alkalmazást. Ez gyakran oda vezet, hogy a munkamenet közepén kifogy a kontextusból, a következő ügynök pedig csak félkész, dokumentálatlan kóddal találkozik. Így rengeteg időt tölt el azon, hogy kitalálja, mi történt az előző munkamenetben, és újra működőképessé tegye az alapokat.

Egy másik gyakori hiba, hogy a projekt előrehaladtával az AI ügynök hamisan azt hiszi, a munka kész van, és idő előtt lezárja a feladatot.

Megoldás: kétlépcsős megközelítés a folyamatos munkához

Az említett problémák miatt az Anthropic két különböző ügynököt fejlesztett ki, amelyeket egymás után használnak a Claude Agent SDK-ban:

1. **Initializer agent (kezdeti ügynök):** Ez az ügynök az első munkamenetben létrehozza a fejlesztési környezet alapjait. Elkészíti az init.sh scriptet, amely elindítja a fejlesztői szervert, létrehozza a claude-progress.txt állományt, ami naplózza az eddigi munkákat, valamint elvégzi az első git commitot, amelyben rögzíti a hozzáadott fájlokat.

2. **Coding agent (kódoló ügynök):** Minden további munkamenetben ez az ügynök egy-egy kis lépést halad előre a fejlesztésben. Minden alkalommal csak egyetlen funkción dolgozik, és a munkája végén mindig rendezetten, dokumentáltan, hibamentesen hagyja maga után a kódot, hogy a következő munkamenet könnyen folytatható legyen.

Ez a megoldás biztosítja, hogy az AI ügynökök mindig tisztában legyenek az aktuális állapottal és az elvégzendő feladatokkal, és ne kelljen újra kitalálniuk a korábbi munkát. Ehhez kulcsfontosságú a claude-progress.txt fájl használata, amely lépésről lépésre nyomon követi a haladást, valamint a git commitok, amelyek visszakereshetővé teszik a változtatásokat.

Funkciólista és inkrementális fejlesztés

Az egyik legnagyobb eredmény az volt, hogy az initializer ügynök egy részletes, akár több száz funkciót tartalmazó JSON formátumú funkciólistát hoz létre. Ez a lista pontosan leírja, hogy az alkalmazásnak milyen funkciókat kell tudnia megvalósítani, és mindegyiket kezdetben „hibásnak” vagy „nem teljesítettnek” jelöli, így a kódoló ügynökök világosan látják, mi a teendő.

Ez a megközelítés megakadályozza, hogy az AI túl korán lezárja a projektet. Mindemellett az ügynökök csak egy-egy funkción dolgoznak egyszerre, így elkerülhető a túlterheltség és a kontextusablak kimerülése.

Ezen felül minden munkamenet végén az AI leíró git commit üzenetekkel rögzíti a változtatásokat és frissíti a haladási naplót, így könnyen vissza lehet térni a korábbi állapotokhoz, ha valami nem működik.

Automatizált tesztelés és minőségbiztosítás

Egy jelentős probléma az volt, hogy az AI hajlamos volt hibásan vagy hiányosan értékelni egy funkció készültségét. Bár a kódot és az egységteszteket többször lefuttatta, nem mindig tudta biztosítani, hogy a funkció valóban működjön a teljes felhasználói élmény szintjén.

Ennek orvoslására a fejlesztők beépítettek böngésző-automatizációs eszközöket (például Puppeteer MCP), amelyek a felhasználó szemszögéből tesztelik le a funkciókat, például új csevegés indítását, üzenetküldést és válasz fogadását. Ez jelentősen javította a hibaazonosítást és -javítást.

Természetesen maradtak korlátok, mint például a böngésző natív modális ablakainak felismerése, így bizonyos hibák továbbra is előfordulhatnak.

Következtetések és jövőbeli irányok

Az Anthropic megoldása példaértékű arra, hogyan lehet hosszú távú, több munkameneten átívelő AI ágens munkát hatékonyan menedzselni. Az initializer és a kódoló ügynökök kombinációja, a funkciólista, a haladási napló és a git-alapú verziókezelés mind hozzájárulnak ahhoz, hogy az AI képes legyen lépésről lépésre haladni, átláthatóan és megbízhatóan.

A további kutatások egyik izgalmas kérdése, hogy jobb teljesítményt érhetünk-e el egyetlen általános célú ügynök helyett több specializált AI ágens – például tesztelő, minőségbiztosító vagy kódkarbantartó – együttműködésével.

Emellett a módszerek sikeresen alkalmazhatók lehetnek más területeken is, például tudományos kutatásban vagy pénzügyi modellezésben, ahol szintén hosszú futamidejű, összetett feladatokat kell kezelni.

Ez az innovatív megközelítés új távlatokat nyithat az AI-alapú szoftverfejlesztés és más, hosszú távú automatizált folyamatok előtt, megkönnyítve a fejlesztők munkáját és növelve a hatékonyságot.

Forrás: az eredeti angol cikk itt olvasható