A LangChain kétféle kontextusmódot ad a Deep Agents alügynökeinek

A LangChain új kontextusmódokat vezetett be a Deep Agents keretrendszerben, hogy a többügynökös rendszerekben pontosabban lehessen meghatározni, milyen előzményeket kapjon egy alügynök. Az „isolated” mód tiszta munkamenetet indít, a „fork” mód pedig átadja a felügyelő ügynök teljes beszélgetési állapotát.
- A Deep Agents két kontextusmódot támogat: isolated és fork.
- Az isolated alügynök új kontextusablakban, csak a feladattal indul.
- A fork átadja a felügyelő teljes beszélgetési állapotát.
- A fork a LangChain szerint csökkentheti az ismételt kontextusgyűjtést.
- Független ellenőrzéshez és önálló kutatáshoz az isolated módot ajánlják.
Kétféleképpen kaphatnak előzményeket az alügynökök
A LangChain szeptember 8-i bejegyzése szerint a legtöbb ügynöki keretrendszer támogatja, hogy egy felügyelő ügynök részfeladatokat adjon át alügynököknek. Ez lehetővé teszi a feladatok párhuzamos feldolgozását és a kontextus elkülönítését. A felügyelő rendszerint csak az alügynök végeredményét kapja meg, annak köztes gondolatmenete nem kerül be a saját kontextusablakába.
Az elkülönítés azonban ismételt munkához vezethet. Ha például a felügyelő már beolvasott fájlokat vagy összegyűjtött egy hibakereséshez szükséges kontextust, az új, üres kontextussal induló alügynöknek ezt újra meg kell tennie.
A Deep Agents új kontextusmódjai ezt a különbséget teszik beállíthatóvá. Az isolated az alapértelmezett, korábbi működés: az alügynök új kontextusablakot kap, benne csak a felügyelő által megadott feladattal. A fork mód ezzel szemben a felügyelő aktuális állapotából indítja az alügynököt.
A fork mód folytatja a már megkezdett munkát
Fork módban az alügynök megkapja a teljes beszélgetési előzményt. A LangChain leírása szerint a felügyelő egy, az alügynököt meghívó eszközhasználatot indít, az alügynök pedig megkapja a felügyelő teljes állapotát. Az eredeti eszközhívást eltávolítják, a hozzá tartozó feladatleírást pedig egy, az alügynök szerepét tisztázó bevezetővel együtt felhasználói üzenetként formázzák át. A befejezés után a felügyelő az alügynök végső üzenetét kapja meg az eredeti eszközhívás válaszaként.
A megoldás olyan munkafolyamatokra illik, amelyekben a felügyelő már összegyűjtötte a szükséges információt vagy döntést hozott. A LangChain példája szerint a felügyelő egy időtúllépési hibát egy adott függvényig követhet, majd az alügynökre bízhatja a javítás megvalósítását és egy regressziós teszt hozzáadását. Ilyenkor az izolált indulás arra kényszerítené az alügynököt, hogy újra felderítse a problémát.
A vállalat szerint a fork mód használja a promptgyorsítótárazást, így az alügynökök elkerülhetik az ismételt kontextusgyűjtést. Ez gyorsabb és olcsóbb lehet az elkülönített alügynököknél azokban az esetekben, amikor a részfeladat elvégzéséhez részletes előzményekre van szükség.
A független ellenőrzéshez továbbra is az izolált mód illik
A megfelelő mód kiválasztása attól függ, milyen kapcsolatban áll az alügynök a feladattal. A LangChain munkásként hivatkozik arra az alügynökre, amely a felügyelő által már megkezdett munkát folytatja. Ilyen esetben a fork mód átadhatja a vizsgálat előzményeit.
Az ellenőrző alügynök feladata ezzel szemben egy elkészült munka önálló értékelése. A felügyelő korábbi következtetései ilyenkor befolyásolhatják az ellenőrzést, ezért az isolated mód csak a feladatot és a releváns ellenőrzési anyagokat adja át.
A LangChain külön kutató- és memóriaügynököket is bemutat. Egy önálló kutatási kérdéshez az isolated módot javasolja, különösen akkor, ha több kutató dolgozik párhuzamosan. A memóriaügynök viszont a teljes beszélgetést elemezheti fork módban, hogy azonosítsa a később is fontos döntéseket, tényeket és beállításokat. A fejlesztők a kontextusmódokat a deepagents Python-csomag uv add deepagents parancsával, illetve TypeScriptben a pnpm i deepagents paranccsal próbálhatják ki.
LangChain: Organizing Context in a Multi-Agent Harness


