Hosszú távú AI fejlesztőügynökök: új megoldások a többórás, többnapos projektekhez
Az AI alapú fejlesztőügynökök képességei folyamatosan fejlődnek, ezért egyre gyakrabban bízzák rájuk az összetett, akár több órán vagy napon át tartó munkafolyamatokat is. Azonban az egyik legnagyobb kihívás továbbra is az, hogy ezek az ügynökök hogyan tudnak következetesen haladni több, egymástól elkülönült munkamenet során, amikor minden új szakasz egy „üres lappal” indul, memóriájuk nincs a korábbi tevékenységekről. Ez gyakorlatilag olyan, mintha egy szoftverfejlesztő csapatban a műszakváltáskor az új fejlesztő semmilyen információval nem rendelkezne az előző műszak eredményeiről.
Az AI rendszerek kontextusablakának mérete korlátozott, így a legtöbb komplex fejlesztési feladat nem zárható le egyetlen munkamenet alatt. Ezért kulcsfontosságúvá vált egy olyan megoldás kifejlesztése, amely hidat képez a különböző munkamenetek között. Az Anthropic mérnökei erre a problémára kétlépcsős megközelítést dolgoztak ki a Claude Agent SDK keretében: egy inicializáló ügynököt, amely az első munkamenetben létrehozza a fejlesztési környezetet, valamint egy kódoló ügynököt, amely minden további szakaszban fokozatosan halad előre, miközben érthető és átlátható nyomokat hagy maga után a következő munkamenet részére.
Mi okozza a hosszú távú AI fejlesztőügynökök legnagyobb nehézségét?
A Claude Agent SDK egy sokoldalú, általános célú AI fejlesztőügynök, amely képes kódolásra, tervezésre és eszközhasználatra egyaránt, és rendelkezik olyan kontextuskezelési funkciókkal, mint a kontextus tömörítés (compaction), amely lehetővé teszi a folyamatos munkát anélkül, hogy a kontextusablak betelne. Elméletben így egy ügynök képes lenne végtelen hosszúságú feladatokat is megoldani.
A gyakorlatban azonban ez nem ilyen egyszerű. A fejlesztőügynök egyik jellemző hibája az, hogy túl sokat próbál egyszerre megoldani, azaz egyetlen munkamenetben szeretné elkészíteni a teljes alkalmazást. Ez gyakran oda vezet, hogy a kontextusablak közepén kifogy a memóriából, a következő munkamenet pedig egy félig kész, dokumentálatlan funkcióval indul, aminek megértése időigényes és hibákhoz vezet. Még a kontextus tömörítés sem mindig képes tökéletesen átadni az információkat a következő ügynöknek.
A másik gyakori probléma, hogy a fejlesztőügynök korán, még a teljes funkcionalitás elkészülte előtt bejelenti a projekt végét, mert nem tudja megfelelően felmérni a hátralévő feladatokat.
Kétlépcsős megoldás az AI fejlesztőügynökök hatékonyabb működéséért
A problémák megoldására az Anthropic csapata egy inicializáló ügynököt és egy folyamatosan haladó kódoló ügynököt vezetett be. Az inicializáló ügynök első feladata, hogy létrehozza a fejlesztési környezet alapjait: elkészít egy init.sh szkriptet, amely elindítja a fejlesztői szervert, létrehoz egy claude-progress.txt nevű naplófájlt, ami rögzíti az eddigi haladást, valamint egy kezdeti git commitot, amely mutatja az alapvető fájlokat.
A kódoló ügynök minden egyes munkamenetben csak egy funkción dolgozik egyszerre, és csak akkor jelöli azt késznek, ha alaposan tesztelte. Emellett mindig gondoskodik arról, hogy a környezet „tiszta” állapotban maradjon, azaz a kód rendezett, dokumentált és hibamentes legyen, így a következő munkamenet simán folytatható, anélkül, hogy előző hibákat kellene javítani.
Funkciólista és tesztelés: a minőségbiztosítás kulcsa
Az inicializáló ügynök még egy részletes funkciólistát is generál JSON formátumban, amely több száz konkrét követelményt tartalmaz, például hogy a felhasználó új chatet indíthasson, üzenetet küldhessen és AI választ kapjon. Minden funkciót kezdetben „hibásnak” jelölnek, így a kódoló ügynöknek pontos útmutatása van, mely funkciókat kell még elkészítenie.
A tesztelés különösen fontos szempont. Claude ügynök egyes esetekben képes egységteszteket vagy curl parancsokat futtatni, de gyakran nem ismeri fel, ha egy funkció nem működik végig. Ezért explicit módon úgy irányítják, hogy böngésző-automatizálási eszközökkel, például Puppeteerrel végezzen végponti teszteket, mintha egy emberi felhasználó próbálná ki az alkalmazást. Ez jelentősen javítja a hibák felismerését és javítását.
A jövő kihívásai és továbbfejlesztési lehetőségek
Bár a bemutatott megoldás jelentős előrelépést jelent a hosszú távú AI fejlesztőügynökök hatékonyságában, még mindig nyitott kérdések maradtak. Például nem világos, hogy egyetlen, általános célú ügynök vagy egy speciális, többügynökös architektúra hoz-e jobb eredményeket.
A jövőben elképzelhető, hogy külön tesztelő, minőségbiztosítási vagy kódkarbantartó ügynökök dolgoznak majd együtt, hogy tovább növeljék a fejlesztési folyamat hatékonyságát és megbízhatóságát. Emellett a módszertan általánosítható lehet más területekre is, például tudományos kutatásra vagy pénzügyi modellezésre, ahol szintén többnapos, összetett feladatok megoldására van szükség.
—
Az Anthropic szakemberei által írt megoldások és fejlesztések új távlatokat nyitnak az AI alapú szoftverfejlesztésben, és várhatóan a közeljövőben még több innovációt fogunk látni ezen a területen. Az érdeklődő fejlesztők és kutatók számára lehetőség nyílik csatlakozni a csapathoz az anthropic.com/careers oldalon.