Fő navigáció

Irányelvek ügynökrendszerek tervezéséhez

Gyakorlati irányelvek segítik a csapatokat annak eldöntésében, hogy mely ügynökviselkedések kerüljenek nyelvi modellbe, és melyek igényelnek explicit szoftvert.

Vezetői összefoglaló

  • Az ügynökalapú rendszer tervezésekor fontos alaposan átgondolni, hogyan és hol születnek a döntések.

  • Ha több döntést bízunk az LLM-re, a rendszer többféle feladatra lehet általánosítható, de ez a sebesség, a megbízhatóság és a robusztusság rovására mehet.

  • Ahol lehetséges, a döntéshozatali folyamat minél nagyobb részét emeljük ki az LLM-ből, és valósítsuk meg explicit programkódban. Ez különösen igaz a magas kockázatú és az éles környezetben futó munkafolyamatokra.

Bevezetés

Egy LLM-alapú ügynökrendszer tervezésekor az egyik legfontosabb döntés, hogy a döntéshozatal mekkora részét bízzuk egy LLM-modellre, és mennyit valósítsunk meg explicit szoftverben.

A könnyebb megértés érdekében ezt a választást a következő megközelítések közötti spektrumként képzelhetjük el:

  • A routeralapú architektúrák a sorrendet és a logikát explicit módon, kódban határozzák meg, így jól tesztelhető, kiszámítható és robusztus működést biztosítanak a szűk területre korlátozódó feladatoknál. Ezeket „munkafolyamat-ügynököknek” is nevezik.

  • Az orchestrator ügynökök nagy nyelvi modellekre (LLM-ekre) támaszkodva, természetes nyelvű promptok alapján dinamikusan határozzák meg a feladatok menetét. Ideálisak a nyitott végű interakciókhoz, amelyeknél az előre meghatározott logika elégtelen vagy kivitelezhetetlen.

A bevezetést szemléltető ábra.

A magas kockázatú, éles környezetben futó munkafolyamatokhoz általában több routeralapú funkció használatát javasoljuk; az orchestratorokat érdemes a rugalmas, általános célú párbeszédet igénylő alkalmazásokra fenntartani.

Router vagy orchestrator: a különbség megértése

Routeralapú architektúrák

A routeralapú ügynökrendszerek:

  • A döntéshozatal menetét explicit módon, kódban vagy szoftverben határozzák meg, az LLM pedig eldönti, melyik útvonalat kövesse a szoftver.

  • Közelebb állnak a hagyományos szoftverrendszerekhez, mivel egyértelmű és kiszámítható útvonalakkal következetesebb eredményeket biztosítanak.

  • Ideálisak a szigorúan meghatározható feladatokhoz.

A következő egyszerű példa egy routeres megközelítést alkalmazó repülőjegy-foglalási chatbotügynököt mutat be. Az LLM három lehetséges kategória egyikébe sorolja a kérdés szándékát, végül azonban a szoftverünk rendeli hozzá ehhez a megfelelő sablonválaszt. Mivel az LLM működése erősen korlátozott, a felhasználó következetesebb viselkedést tapasztal.

A router és az orchestrator közötti különbséget szemléltető ábra.

Orchestrator architektúrák

A routeres rendszerekkel szemben az orchestratoralapú ügynökrendszerek:

  • A logikai folyamatokat szoftver helyett természetes nyelvű promptokkal határozzák meg. Megjegyzés: a programozási nyelvekkel szemben a természetes nyelv eredendően kétértelmű és rugalmas. Ez egyszerre előny és hátrány, ahogy azt később bemutatjuk. Ezt úgy fogalmazzuk meg: „szándék az utasítás helyett”.

  • Több feldolgozási lehetőséget kínálhatnak, amelyek végrehajtási sorrendjét és módszerét az LLM határozza meg.

  • Dinamikusan hozhatnak létre olyan új logikai útvonalakat, amelyeket nehéz lenne explicit módon szoftverben meghatározni.

  • Ez a kétértelműség következetlen kimenetekhez vezethet, de amikor jól működik, szinte „varázslatosnak” tűnhet.

A következő példa ugyanerre az egyszerű légitársasági problémára alkalmazza az orchestratoros megközelítést. Ahelyett, hogy a megfelelő válaszról a szoftver döntene, a döntéshozatalt az LLM-rétegre bízzuk. Ebben a többügynökös rendszerben egy „vezető” orchestrator ügynök osztályozza a felhasználói kérést, majd átadja azt egy kifejezetten járatmódosításra tervezett ügynöknek, amely végül válaszol a felhasználónak.

Ebben a példában az LLM-réteg egyszerre tölti be az osztályozó, a router és a válaszíró szerepét. A routeres példában csak az osztályozó szerepét töltötte be, a többit a szoftver kezelte.

A router és az orchestrator közötti különbséget szemléltető ábra.

A routerarchitektúrák erősségei és kihívásai

Ahol lehetséges, routeralapú megközelítést javaslunk, mert az a következő előnyöket kínálja:

  • Sebesség és hatékonyság: A helyi számítások gyorsabbak a külső API-kra támaszkodó orchestratoroknál. Az „IF/ELSE” logikát Pythonban feldolgozni is sokkal olcsóbb, mint kifizetni egy LLM-szolgáltatónak, hogy átfuttassa a 400 milliárd paraméteres modelljén.

  • Tesztelhetőség és kiszámíthatóság: A bevett szoftverfejlesztési gyakorlatokkal lényegesen egyszerűbb a hibakeresés, a tesztelés és a karbantartás.

  • Átláthatóság és megbízhatóság: A viselkedés kisebb változatossága megkönnyíti a hibaelhárítást. Az alkalmazás működésének nagyobb része jelenik meg átlátható, verziókövetett szoftverben, nem pedig egy LLM átláthatatlan, értelmezhetetlen súlyaiban.

A routeres megközelítés hátránya, hogy merev és rugalmatlan lehet, illetve nehezen kezelheti a nyitottabb problémákat. A felhasználók unalmasnak vagy egyhangúnak tarthatják azt a chatbotot, amely mindig pontosan ugyanazokat a válaszokat adja.

Az orchestrator architektúrák erősségei és kihívásai

Az orchestratoralapú megoldások sokoldalú képességekkel rendelkeznek:

  1. Tervezés: Dinamikusan megtervezhetik a válaszokat.

  2. Eszközválasztás és feladatátadás ügynökök között: Kiválaszthatják a megfelelő eszközöket, vagy más ügynökökre bízhatják a feladatokat.

  3. A kimenetek iteratív kombinálása: Kreatívan finomíthatják és újrakombinálhatják a kimeneteket.

  4. A befejezettség megállapítása: Eldönthetik, mikor gyűlt össze elegendő információ a válasz véglegesítéséhez.

A Pydantic-AI-hoz vagy az OpenAI Agents SDK-jához hasonló keretrendszerekkel az orchestráció egyszerűen és gyorsan megvalósítható. Ezért kiválóan alkalmas bemutatókhoz és megvalósíthatósági prototípusokhoz.

A megközelítés hátrányai a következők:

  • Semmi sem garantálja, hogy az LLM tervezési lépései és az azokat követő műveletek helyesek vagy megfelelőek lesznek. A routeres rendszernek ugyanez a problémája, de a szigorúbb korlátozások miatt kiszámíthatóbb a viselkedése.

  • Egyszerű, jól meghatározott feladatokhoz valószínűleg nincs szükség egy többügynökös rendszer minden képességére. A légitársasági ügynökről szóló példánkban egy légitársaság ügyfélszolgálati rendszerének felhasználói valószínűleg csak korlátozott számú kéréstípussal fordulnak a rendszerhez.

  • Mivel több logika található az LLM-ben, a rosszindulatú szereplők sokkal könnyebben hajthatnak végre jailbreakeket vagy használhatják ki a rendszert.

  • A döntéshozatalt az LLM-be rejti, így nehezebbé teszi a rendszer megértését, bár az olyan megfigyelőeszközök, mint a Langfuse vagy a Braintrust, részben segíthetnek ezen.

Irányelveink az ügynökrendszerek tervezéséhez

Megjegyzés az olvasónak: bár a modellek képességei gyorsan fejlődnek, az alábbiak valószínűleg nem változnak a közeljövőben.

Az alkalmazásban szükséges döntések megértése

Határozza meg a probléma hatókörét.

  • Könnyen ábrázolható diagramon a kívánt döntési logika?

  • Elfogadhatatlan a meghibásodás vagy a váratlan viselkedés az alkalmazásban?

Ha a fenti kérdések bármelyikére „igen” a válasz, valószínűleg a routeralapú funkciók a megfelelőbbek.

Először router, majd hibrid megközelítések

Ahol és ameddig lehetséges, routeres megközelítést javaslunk. Általános elvként: ha a rendszer valamely része kódban is kifejezhető, akkor valósítsuk meg kódban, vagyis ne használjunk szükségtelenül LLM-eket.

Amikor elérjük e megoldások korlátait, az orchestratorok nyitott működésének egyes előnyei korlátozott formában is megvalósíthatók. Például:

  1. Eszközválasztás és feladatátadás ügynökök között: Feltételes elágazásokkal vagy LLM-osztályozókkal könnyen megvalósítható.

  2. A befejezettség megállapítása: Egyszerű LLM-osztályozók ellenőrizhetik a válasz teljességét, mielőtt azt visszaadnánk a felhasználónak.

A „tervezés” és „a kimenetek iteratív kombinálása” azonban kétségtelenül sokkal nehezebben valósítható meg egy merev routeres rendszerben. Ha tehát egy feladat megköveteli ezeket – amit egy LLM-osztályozó vagy más logika állapít meg –, egy kevésbé korlátozott orchestratorág létrehozását javasoljuk a rendszerben.

Összegzés és jövőbeli kilátások

A router- és orchestrator architektúrák közötti választásnak tükröznie kell az alkalmazás egyértelműségét, összetettségét és interakciós stílusát. A routeralapú megközelítések jelenleg megbízhatóságot, hatékonyságot és könnyű tesztelhetőséget kínálnak a világosan meghatározott feladatokhoz. Az orchestratorok nagyobb rugalmasságot kínálnak a szélesebb körű, párbeszédalapú interakciókhoz.

Az LLM-ek további fejlődésével változhat a két megközelítés közötti egyensúly. Éles környezetben futó munkafolyamatokhoz inkább routeralapú vagy hibrid architektúrákat választunk, az orchestratorokat pedig a dinamikus, emberi jellegű interakciót igénylő, nyitott végű problémákra tartjuk fenn.

Szerző

Andrew Liubinas