Code Velocity
Vállalati AI

Amazon Bedrock: Állapottartó MCP Kliensfunkciók az AgentCore Futtatókörnyezetben

·7 perc olvasás·AWS·Eredeti forrás
Megosztás
Diagram, amely az állapottartó MCP kliensfunkciókat illusztrálja az Amazon Bedrock AgentCore futtatókörnyezetben interaktív AI ügynökfolyamatokkal.

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ásTRUEFALSE
Munkamenet izolációDedikált microVM munkamenetenkéntDedikált microVM munkamenetenként
Munkamenet élettartamaAkár 8 óra; 15 perc inaktivitás utáni időtúllépésAkár 8 óra; 15 perc inaktivitás utáni időtúllépés
KliensfunkciókNem támogatottElicitáció, mintavételezés, folyamatjelzések
AjánlottEgyszerű eszközszolgáltatásInteraktí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?
Stateful Model Context Protocol (MCP) client capabilities on Amazon Bedrock AgentCore Runtime address the critical limitations of previous stateless AI agent implementations. Stateless agents struggled with interactive, multi-turn workflows, as they couldn't pause mid-execution to solicit user input for clarification, request dynamic large language model (LLM)-generated content, or provide real-time progress updates during lengthy operations. Each request was independent, lacking shared context. This new feature fundamentally transforms agent interactions by enabling bidirectional conversations, allowing agents to maintain conversational threads, gather necessary input precisely when needed, generate dynamic content on the fly, and transparently inform users about ongoing processes. This leads to the development of significantly more responsive, intelligent, and user-centric AI applications capable of complex, adaptive workflows.
How does the transition from stateless to stateful mode work on AgentCore Runtime?
The transition to stateful mode within Amazon Bedrock AgentCore Runtime is initiated by a simple configuration adjustment: setting `stateless_http=False` when starting your MCP server. Once enabled, AgentCore Runtime provisions a dedicated microVM for each individual user session. This microVM is designed for persistence throughout the session's duration, which can last up to 8 hours or expire after 15 minutes of inactivity, ensuring isolated CPU, memory, and filesystem resources for each session. Continuity across interactions is maintained through a unique `Mcp-Session-Id` header. This ID is established during the initial handshake and subsequently included by the client in all follow-up requests, ensuring they are accurately routed back to the correct, persistent session, thereby preserving context and enabling complex, interactive dialogues.
What is Elicitation, and how does it enhance AI agent interactions?
Elicitation is a powerful stateful MCP capability that allows an AI agent (acting as the MCP server) to intelligently pause its ongoing execution and request specific, structured input directly from the user via the client. This significantly enhances interactive agent workflows by enabling agents to ask targeted questions at precise, opportune moments within their operational flow. For example, an agent might use elicitation to confirm a decision, gather user preferences, or collect particular data values that are contingent on preceding steps. The feature supports two robust modes: 'Form mode' for direct structured data collection through the MCP client, and 'URL mode' for secure, out-of-band interactions that require directing the user to an external URL (e.g., for OAuth or sensitive credential entry). The user's response – whether accepting, declining, or canceling the request – is then returned to the server, allowing the agent to dynamically adapt its workflow based on real-time human feedback.
How does Sampling capability benefit AI agents without managing LLM credentials?
Sampling equips the MCP server with the ability to request sophisticated large language model (LLM)-generated content directly from the client using the `sampling/createMessage` mechanism. A key benefit is that the MCP server itself does not need to manage its own LLM credentials, API keys, or direct integrations with various LLM providers. Instead, the server simply provides a well-formed prompt and any optional model preferences to the client. The client then acts as an intelligent intermediary, forwarding this request to its connected LLM and returning the generated response back to the server. This abstraction allows AI agents to seamlessly leverage powerful language model capabilities for tasks such as crafting personalized summaries, generating natural-language explanations from complex structured data, or producing context-aware recommendations, all while simplifying the operational overhead and security concerns associated with LLM management on the server side.

Maradjon naprakész

Kapja meg a legfrissebb AI híreket e-mailben.

Megosztás