Hosszú távon is hatékony AI ügynökök fejlesztése a Claude Agent SDK-val
Az AI ügynökök képességei folyamatosan fejlődnek, és egyre több fejlesztő bízza rájuk az összetett, akár órákig vagy napokig tartó feladatokat. Ugyanakkor az ilyen hosszú távú munkavégzés egyik legnagyobb kihívása, hogy az AI-ügynökök csak elkülönült munkamenetekben dolgoznak, és minden új munkamenet egy tiszta lappal indul, az előzőek emléke nélkül. Ez hasonló ahhoz, mintha egy szoftverfejlesztő csapatban minden műszakot új mérnök kezdene, anélkül, hogy tudná, mi történt az előző műszakban. A jelenlegi technológiák, például a Claude Agent SDK esetén a kontextus ablakok mérete korlátozott, így egy összetett projekt nem valósítható meg egyetlen munkamenet alatt, ezért szükség van arra, hogy az AI-ügynök képes legyen hidat képezni az egyes munkamenetek között.
A hosszú távú AI-ügynökök problémája
A Claude Agent SDK egy rendkívül fejlett, általános célú AI-használati keretrendszer, amely nemcsak kódolásra, hanem más olyan feladatokra is alkalmas, ahol a modellnek eszközöket kell használnia a kontextus begyűjtéséhez, tervezéshez és végrehajtáshoz. A rendszer rendelkezik olyan kontextuskezelő képességekkel, mint a „kompaktálás”, amely lehetővé teszi, hogy az ügynök egy feladaton dolgozzon anélkül, hogy kimerítené a kontextus ablakot. Elméletileg így az ügynök akár végtelen ideig is képes lehet hasznos munkát végezni. A gyakorlat azonban azt mutatja, hogy ez mégsem elegendő.
Például, ha az AI-t egy magas szintű utasítással bízzuk meg, mint például egy teljes webalkalmazás klónjának elkészítése („építs egy claude.ai klónt”), az ügynök gyakran próbál túl sok mindent egyszerre megoldani. Ez oda vezethet, hogy a munkamenet közepén kifogy a kontextus, a félkész funkciók pedig dokumentálatlanul maradnak, így a következő munkamenet elkezdésekor az AI-nak csak találgatnia marad, ami jelentős időveszteséggel és hibákkal jár. Továbbá előfordul, hogy egy későbbi munkamenetben az AI tévesen úgy ítéli meg, hogy a projekt kész, holott számos funkció még hiányzik vagy nem működik megfelelően.
Megoldások a folyamatos munkavégzés támogatására
A hosszú távú ügynökök sikeres működéséhez két fő megoldást dolgoztak ki a Claude Agent SDK fejlesztői. Az első egy „initializer agent”, vagyis egy inicializáló ügynök, amely az első munkamenetben felállítja a projekt alapjait és környezetét. Ez magában foglalja például egy init.sh szkript létrehozását, amely a fejlesztési szervert indítja el, egy claude-progress.txt fájlt, amely nyomon követi a munkamenetek során végzett tevékenységeket, valamint egy kezdeti git commitot, amely dokumentálja a hozzáadott fájlokat.
A második megoldás egy „coding agent”, vagyis kódoló ügynök, amely minden további munkamenetben csak egyetlen funkción dolgozik egyszerre, és mindig tiszta, dokumentált állapotban hagyja maga után a kódot. Ez a megközelítés megakadályozza, hogy az AI túl sok mindent próbáljon egyszerre megoldani, és csökkenti a hibák előfordulását.
Az incremental (lépcsőzetes) munkavégzés további előnye, hogy a kód minden változtatása után az AI részletes git commit üzenetet ír, valamint frissíti a haladási naplót. Így a rendszer könnyen vissza tud térni egy működő állapothoz, ha valami nem sikerül, és nem kell hosszasan kitalálni, mi történt az előző munkamenetben.
Funkciólista és tesztelés
Az egyik legfontosabb újítás, hogy az inicializáló ügynök egy részletes, JSON formátumú funkciólistát készít, amely több száz, részletesen meghatározott funkciót tartalmaz. Ezek kezdetben „nem teljesített” státuszban vannak, így a későbbi kódoló ügynökök pontosan tudják, mely funkciókat kell még kidolgozniuk.
A tesztelés terén a Claude Agent SDK képes böngésző automatizálási eszközöket használni, például a Puppeteer MCP szervert, hogy az AI úgy tesztelje a webalkalmazást, mintha egy emberi felhasználó lenne. Ez jelentősen javítja a hibák felderítését, hiszen az AI képes észrevenni és kijavítani olyan problémákat, amelyek a kódban nem voltak nyilvánvalóak. Ugyanakkor még vannak korlátok, például a böngésző natív figyelmeztető ablakainak felismerése, ami néhány funkció megbízhatóságát befolyásolja.
Hogyan kezd egy munkamenet?
Minden új munkamenet azzal kezdődik, hogy az AI megismeri a projekt aktuális állapotát: megnézi, melyik könyvtárban dolgozik, átolvassa a haladási naplót és a git logokat, valamint megnyitja a funkciólistát, hogy kiválassza a következő elvégzendő feladatot. Ezt követően elindítja a fejlesztési szervert az init.sh segítségével, és lefuttat egy alapvető tesztet, hogy megbizonyosodjon arról, hogy az előző munkamenet után a projekt nem maradt hibás állapotban. Csak ezután kezd hozzá az új funkció fejlesztéséhez.
Jövőbeli irányok és kihívások
Bár a jelenlegi megoldások már jelentős előrelépést jelentenek a hosszú távú AI-ügynökök fejlesztésében, továbbra is nyitott kérdések maradtak. Nem világos például, hogy egyetlen, általános célú kódoló ügynök vagy több specializált ügynök (például tesztelő, minőségbiztosító vagy kód-tisztító ügynökök) együttműködése hozza-e a legjobb eredményt. A jelenlegi rendszer elsősorban webalkalmazások fejlesztésére optimalizált, de várhatóan a tapasztalatok más területeken, például tudományos kutatásban vagy pénzügyi modellezésben is hasznosíthatók lesznek.
A Claude Agent SDK fejlesztői folyamatosan dolgoznak ezen technológiák tökéletesítésén, és várják az új tehetségeket, akik szívesen csatlakoznának a projekthez.
—
Ez a cikk a Claude Agent SDK kutatásának és fejlesztésének legújabb eredményeit mutatja be, amelyek lehetővé teszik, hogy az AI-ügynökök hosszabb időn át, több munkameneten keresztül is következetesen és hatékonyan dolgozzanak komplex szoftverfejlesztési feladatokon.