AI ügynökök fejlesztése: Átállás az állapottartó MCP-re az Amazon Bedrockon
Az AI ügynökök rohamosan fejlődnek, de teljes potenciáljukat gyakran gátolták az állapotmentes implementációk, különösen olyan forgatókönyvekben, amelyek valós idejű felhasználói interakciót, dinamikus tartalomgenerálást vagy folyamatos előrehaladási értesítéseket igényelnek. A kifinomult AI ügynököket építő fejlesztők gyakran szembesülnek kihívásokkal, amikor a munkafolyamatoknak szünetelniük kell, pontosításokat kell gyűjteniük, vagy állapotot kell jelenteniük hosszadalmas műveletek során. Az állapotmentes végrehajtás merev, egyirányú jellege korlátozza az igazán interaktív és reszponzív AI alkalmazások fejlesztését.
Most az Amazon Bedrock AgentCore futtatókörnyezet úttörő állapottartó Model Context Protocol (MCP) kliensfunkciókat vezet be, átalakítva azt, ahogyan az AI ügynökök kapcsolatba lépnek a felhasználókkal és a nagyméretű nyelvi modellekkel (LLM-ekkel). Ez a kulcsfontosságú frissítés megszabadítja az ügynököket az állapotmentes kommunikáció korlátaitól, lehetővé téve komplex, többlépéses és rendkívül interaktív munkafolyamatokat. Az alapvető MCP kliensfunkciók – Elicitáció, Mintavételezés és Folyamatjelzések – integrálásával a Bedrock AgentCore futtatókörnyezet kétirányú beszélgetéseket tesz lehetővé az MCP szerverek és kliensek között, megnyitva az utat az intelligensebb, felhasználó-központú AI megoldások előtt.
Állapotmentesről állapottartóra: Interaktív ügynök munkafolyamatok felszabadítása
Korábban az AgentCore-on az MCP szerver támogatás állapotmentes módban működött, ahol minden HTTP kérés önállóan, bármilyen megosztott kontextus nélkül funkcionált. Bár ez egyszerűsítette az alapvető eszközszerverek telepítését, súlyosan korlátozta azokat a forgatókönyveket, amelyek beszélgetési folytonosságot, munkafolyamat közbeni felhasználói pontosítást vagy valós idejű folyamatjelentést igényeltek. A szerver egyszerűen nem tudott beszélgetési szálat fenntartani diszkrét kérések között, gátolva az igazán interaktív ügynökök fejlesztését.
Az állapottartó MCP kliensfunkciók megjelenése alapvetően megváltoztatja ezt a paradigmát. A stateless_http=False beállításával a szerver indításakor az AgentCore futtatókörnyezet minden felhasználói munkamenethez egy dedikált microVM-et biztosít. Ez a microVM a munkamenet teljes időtartama alatt fennmarad – akár 8 óráig, vagy 15 perc inaktivitás után, a idleRuntimeSessionTimeout beállításnak megfelelően –, biztosítva a CPU, memória és fájlrendszer izolációt a munkamenetek között. A folytonosságot egy Mcp-Session-Id fejlécen keresztül tartják fenn, amelyet a szerver az inicializálás során biztosít, és a kliens minden további kérésben feltüntet, hogy azonos munkamenetbe irányítsa. Ez a dedikált, perzisztens környezet lehetővé teszi az ügynökök számára, hogy emlékezzenek a kontextusra, felhasználói bemenetet kérjenek, dinamikus LLM tartalmat generáljanak és folyamatos frissítéseket biztosítsanak.
A következő táblázat összefoglalja az állapotmentes és állapottartó módok közötti főbb különbségeket:
| Állapotmentes mód | Állapottartó mód | |
|---|---|---|
stateless_http beállítás | TRUE | FALSE |
| Munkamenet izoláció | Dedikált microVM munkamenetenként | Dedikált microVM munkamenetenként |
| Munkamenet élettartama | Akár 8 óra; 15 perc inaktivitás utáni időtúllépés | Akár 8 óra; 15 perc inaktivitás utáni időtúllépés |
| Kliensfunkciók | Nem támogatott | Elicitáció, mintavételezés, folyamatjelzések |
| Ajánlott | Egyszerű eszközszolgáltatás | Interaktív, többlépéses munkafolyamatok |
Amikor egy munkamenet lejár, vagy a szervert újraindítják, a korábbi munkamenet-azonosítóval érkező későbbi kérések 404-es hibát adnak vissza. Ezen a ponton a klienseknek újra kell inicializálniuk a kapcsolatot, hogy új munkamenet-azonosítót szerezzenek, és új munkamenetet indítsanak. Az állapottartó mód engedélyezéséhez szükséges konfigurációs változtatás egyetlen jelző a szerver indításakor:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Állapottartó mód engedélyezése)
Ezen a jelzőn túl a három kliensfunkció automatikusan elérhetővé válik, amint az MCP kliens a támogatását deklarálja az inicializálási kézfogás során.
Mélyreható betekintés az új kliensfunkciókba: Elicitáció, Mintavételezés és Folyamatjelzések
Az állapottartó módra való átállással az Amazon Bedrock AgentCore futtatókörnyezet három erőteljes kliensfunkciót szabadít fel az MCP specifikációból, amelyek mindegyike arra készült, hogy az AI ügynökök számára kulcsfontosságú, különálló interakciós mintákat kezeljen. Ezek a képességek azt, ami korábban merev, egyirányú parancsvégrehajtás volt, folyékony, kétirányú párbeszéddé alakítják át egy MCP szerver és a hozzá csatlakoztatott kliensek között. Fontos megjegyezni, hogy ezek a funkciók opt-in jellegűek, ami azt jelenti, hogy a kliensek az inicializálás során deklarálják a támogatásukat, és a szervereknek csak azokat a képességeket szabad használniuk, amelyeket a csatlakoztatott kliens hirdetett.
Elicitáció: Dinamikus felhasználói bevitel engedélyezése az AI ügynökökben
Az Elicitáció az interaktív AI sarokköve, amely lehetővé teszi egy MCP szerver számára, hogy megfontoltan szüneteltesse a végrehajtását, és specifikus, strukturált bemenetet kérjen a felhasználótól a kliensen keresztül. Ez a képesség felhatalmazza az eszközt, hogy pontos kérdéseket tegyen fel a munkafolyamat megfelelő pillanataiban, legyen szó döntés megerősítéséről, felhasználói preferenciák gyűjtéséről vagy korábbi műveletekből származó érték gyűjtéséről. A szerver ezt egy elicitation/create JSON-RPC kérés küldésével kezdeményezi, amely tartalmaz egy ember által olvasható üzenetet és egy opcionális requestedSchema-t, amely felvázolja a várható válaszstruktúrát.
Az MCP specifikáció két robusztus módot biztosít az elicitációhoz:
- Űrlap mód: Ez ideális strukturált adatok gyűjtésére közvetlenül az MCP kliensen keresztül, például konfigurációs paraméterek, felhasználói preferenciák vagy egyszerű megerősítések esetén, ahol nem szerepelnek érzékeny adatok.
- URL mód: Olyan interakciókhoz, amelyek biztonságos, out-of-band folyamatot igényelnek, mint például OAuth folyamatok, fizetésfeldolgozás vagy érzékeny hitelesítő adatok bevitele, az URL mód a felhasználót egy külső URL-re irányítja. Ez biztosítja, hogy az érzékeny információk teljesen kikerüljék az MCP klienst, növelve a biztonságot és a megfelelőséget.
Egy elicitációs kérés beérkezésekor a kliens megjelenít egy megfelelő beviteli felületet. A felhasználó további műveletei három akcióból álló válaszmodellt váltanak ki a szerver felé: accept (a felhasználó megadta a kért adatokat), decline (a felhasználó kifejezetten elutasította a kérést), vagy cancel (a felhasználó elvetette a promptot anélkül, hogy döntést hozott volna). Az intelligens szervereket úgy tervezték, hogy mindezen forgatókönyveket kecsesen kezeljék, biztosítva a robusztus és felhasználóbarát élményt. Például egy add_expense_interactive eszköz, ahogy a forrásanyagban is bemutatásra kerül, végigvezethet egy felhasználót egy sor kérdésen – összeg, leírás, kategória és végső megerősítés – mielőtt adatokat rögzítene egy háttérrendszerbe, például az Amazon DynamoDB-be. Minden lépés Pydantic modelleket használ a várható bemenet definiálásához, amelyet a FastMCP zökkenőmentesen alakít át az elicitation/create kéréshez szükséges JSON Schema-vá.
Mintavételezés és Folyamatjelzések: LLM interakció és átláthatóság növelése
A közvetlen felhasználói interakción túl a Mintavételezés képessé teszi az MCP szervert arra, hogy LLM által generált tartalmat kérjen közvetlenül a klienstől a sampling/createMessage segítségével. Ez egy kritikus mechanizmus, mivel lehetővé teszi az eszközlogikának a szerveren, hogy kihasználja a hatékony nyelvi modell képességeit anélkül, hogy saját LLM hitelesítő adatokat vagy közvetlen API integrációkat kellene kezelnie. A szerver egyszerűen egy parancssort és opcionális modellpreferenciákat biztosít, és a kliens, közvetítőként működve, továbbítja a kérést a csatlakoztatott LLM-jének, és visszaküldi a generált választ. Ez számtalan gyakorlati alkalmazásra nyit utat, beleértve a személyre szabott összefoglalók készítését, természetes nyelvi magyarázatok generálását strukturált adatokból, vagy kontextustudatos ajánlások előállítását a folyamatban lévő beszélgetés alapján.
Az idővel elnyúló műveletek esetén a Folyamatjelzések felbecsülhetetlenné válnak. Ez a képesség lehetővé teszi egy MCP szerver számára, hogy inkrementális frissítéseket jelentsen hosszú ideig tartó feladatok során. A ctx.report_progress(progress, total) használatával a szerver folyamatos frissítéseket bocsáthat ki, amelyeket a kliensek vizuális visszajelzéssé alakíthatnak, például folyamatjelző sávvá vagy állapotjelzővé. Legyen szó hatalmas adatforrások kereséséről vagy komplex számítási feladatok végrehajtásáról, az átlátható folyamatfrissítések biztosítják, hogy a felhasználók tájékozottak maradjanak, megelőzve a frusztrációt és javítva az általános felhasználói élményt, ahelyett, hogy üres képernyőre bámulnának, azon gondolkodva, hogy a rendszer még aktív-e.
Az AI ügynök fejlesztés jövőbiztosítása a Bedrock AgentCore futtatókörnyezettel
Az állapottartó MCP kliensfunkciók bevezetése az Amazon Bedrock AgentCore futtatókörnyezetben jelentős előrelépést jelent az AI ügynök fejlesztésében. Azáltal, hogy a korábban állapotmentes interakciókat dinamikus, kétirányú beszélgetésekké alakítja, az AWS képessé teszi a fejlesztőket intelligensebb, reszponzívabb és felhasználóbarátabb AI alkalmazások építésére. Ezek a képességek – az Elicitáció a irányított felhasználói bevitelhez, a Mintavételezés az igény szerinti LLM generáláshoz és a Folyamatjelzések a valós idejű átláthatóságért – együttesen nyitnak meg egy új korszakot az interaktív ügynök munkafolyamatokban. Ahogy az AI tovább fejlődik, ezek az alapvető képességek kulcsfontosságúak lesznek a kifinomult ügynökszerű AI operacionalizálásához, amely zökkenőmentesen integrálódhat komplex üzleti folyamatokba, alkalmazkodhat a felhasználói igényekhez és kivételes értéket nyújthat.
Gyakran ismételt kérdések
What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
How does the transition from stateless to stateful mode work on AgentCore Runtime?
What is Elicitation, and how does it enhance AI agent interactions?
How does Sampling capability benefit AI agents without managing LLM credentials?
Maradjon naprakész
Kapja meg a legfrissebb AI híreket e-mailben.
