Code Velocity
Podniková AI

Amazon Bedrock: Schopnosti stavového klienta MCP na runtime AgentCore

·7 min čítania·AWS·Pôvodný zdroj
Zdieľať
Diagram ilustrujúci schopnosti stavového klienta MCP na runtime Amazon Bedrock AgentCore s interaktívnymi tokmi AI agentov.

Zlepšenie AI agentov: Prechod na stavový MCP na Amazon Bedrock

AI agenti sa rýchlo vyvíjajú, no ich plný potenciál bol často brzdený bezstavovými implementáciami, najmä v scenároch vyžadujúcich interakciu s používateľom v reálnom čase, dynamické generovanie obsahu alebo neustále aktualizácie priebehu. Vývojári vytvárajúci sofistikovaných AI agentov sa často stretávajú s problémami, keď pracovné postupy musia byť pozastavené, zhromažďovať objasnenia alebo hlásiť stav počas dlhotrvajúcich operácií. Rigidná, jednosmerná povaha bezstavového vykonávania obmedzuje vývoj skutočne interaktívnych a responzívnych AI aplikácií.

Teraz Amazon Bedrock AgentCore Runtime predstavuje prelomové schopnosti stavového klienta protokolu kontextu modelu (MCP), ktoré transformujú spôsob, akým AI agenti komunikujú s používateľmi a veľkými jazykovými modelmi (LLM). Táto kľúčová aktualizácia oslobodzuje agentov od obmedzení bezstavovej komunikácie, čo umožňuje komplexné, viacfázové a vysoko interaktívne pracovné postupy. Integráciou kľúčových klientskych funkcií MCP – elicitácie, vzorkovania a notifikácií o priebehu – Bedrock AgentCore Runtime uľahčuje obojsmerné konverzácie medzi MCP servermi a klientmi, čím otvára cestu pre inteligentnejšie a na používateľa zamerané AI riešenia.

Z bezstavového do stavového: Odomykanie interaktívnych pracovných postupov agentov

Predtým podpora MCP servera na AgentCore fungovala v bezstavovom režime, kde každá HTTP požiadavka fungovala nezávisle, bez akéhokoľvek zdieľaného kontextu. Hoci to zjednodušilo nasadenie pre základné serverové nástroje, vážne to obmedzilo scenáre vyžadujúce konverzačnú kontinuitu, objasnenie od používateľa uprostred pracovného postupu alebo hlásenie priebehu v reálnom čase. Server jednoducho nemohol udržiavať konverzačné vlákno naprieč diskrétnymi požiadavkami, čo bránilo vývoju skutočne interaktívnych agentov.

Príchod schopností stavového klienta MCP zásadne mení túto paradigmu. Nastavením stateless_http=False počas spustenia servera AgentCore Runtime poskytne pre každú používateľskú reláciu vyhradený microVM. Tento microVM pretrváva počas trvania relácie – až 8 hodín, alebo 15 minút nečinnosti podľa nastavenia idleRuntimeSessionTimeout – čím sa zabezpečuje izolácia CPU, pamäte a súborového systému medzi reláciami. Kontinuita sa udržiava prostredníctvom hlavičky Mcp-Session-Id, ktorú server poskytne počas inicializácie a klient ju zahrnie do všetkých následných požiadaviek na presmerovanie späť do tej istej relácie. Toto vyhradené, perzistentné prostredie umožňuje agentom pamätať si kontext, vyžiadať si vstup od používateľa, generovať dynamický obsah LLM a poskytovať nepretržité aktualizácie.

Nasledujúca tabuľka sumarizuje kľúčové rozdiely medzi bezstavovým a stavovým režimom:

Bezstavový režimStavový režim
Nastavenie stateless_httpTRUEFALSE
Izolácia relácieVyhradený microVM pre každú reláciuVyhradený microVM pre každú reláciu
Životnosť relácieAž 8 hodín; 15-minútový časový limit nečinnostiAž 8 hodín; 15-minútový časový limit nečinnosti
Schopnosti klientaNepodporovanéElicitácia, vzorkovanie, notifikácie o priebehu
Odporúčané prePre jednoduché nástrojeInteraktívne, viacfázové pracovné postupy

Keď relácia vyprší alebo sa server reštartuje, následné požiadavky s predčasným ID relácie vrátia 404. V tom okamihu musia klienti znova inicializovať pripojenie, aby získali nové ID relácie a začali novú reláciu. Zmena konfigurácie na povolenie stavového režimu je jeden príznak pri spustení servera:

mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Enable stateful mode)

Okrem tohto príznaku sa tri klientske schopnosti stanú automaticky dostupnými, akonáhle klient MCP deklaruje ich podporu počas počiatočného handshake.

Podrobný pohľad na nové schopnosti klienta: Elicitácia, vzorkovanie a priebeh

S prechodom na stavový režim Amazon Bedrock AgentCore Runtime odomyká tri výkonné klientske schopnosti zo špecifikácie MCP, z ktorých každá je navrhnutá tak, aby riešila odlišné interakčné vzory kľúčové pre pokročilých AI agentov. Tieto schopnosti transformujú to, čo bolo kedysi rigidné, jednosmerné vykonávanie príkazov, na plynulý, obojsmerný dialóg medzi MCP serverom a jeho pripojenými klientmi. Je dôležité poznamenať, že tieto funkcie sú voliteľné, čo znamená, že klienti deklarujú svoju podporu počas inicializácie a servery musia používať iba schopnosti, ktoré pripojený klient inzeroval.

Elicitácia: Umožnenie dynamického vstupu používateľa v AI agentoch

Elicitácia je základným kameňom interaktívnej AI, ktorá umožňuje MCP serveru uvážlivo pozastaviť svoje vykonávanie a vyžiadať si špecifický, štruktúrovaný vstup priamo od používateľa prostredníctvom klienta. Táto schopnosť umožňuje nástroju klásť presné otázky vo vhodných momentoch v rámci svojho pracovného postupu, či už ide o potvrdenie rozhodnutia, zhromaždenie preferencií používateľa alebo zber hodnoty odvodenej z predchádzajúcich operácií. Server to iniciuje odoslaním JSON-RPC požiadavky elicitation/create, ktorá obsahuje ľudsky čitateľnú správu a voliteľnú requestedSchema vymedzujúcu očakávanú štruktúru odpovede.

Špecifikácia MCP poskytuje dva robustné režimy pre elicitáciu:

  • Formulárový režim: Je ideálny na zhromažďovanie štruktúrovaných údajov priamo prostredníctvom klienta MCP, ako sú konfiguračné parametre, preferencie používateľa alebo jednoduché potvrdenia, kde nie sú zahrnuté citlivé údaje.
  • URL režim: Pre interakcie, ktoré vyžadujú bezpečný, mimopásmový proces, ako sú toky OAuth, spracovanie platieb alebo zadávanie citlivých poverení, URL režim nasmeruje používateľa na externú URL. Tým sa zabezpečí, že citlivé informácie obídu klienta MCP úplne, čím sa zvýši bezpečnosť a súlad.

Po prijatí požiadavky na elicitáciu klient zobrazí vhodné vstupné rozhranie. Následná akcia používateľa spustí trojaký model odpovede späť na server: accept (používateľ poskytol požadované údaje), decline (používateľ výslovne odmietol požiadavku) alebo cancel (používateľ zamietol výzvu bez výberu). Inteligentné servery sú navrhnuté tak, aby elegantne zvládali každý z týchto scenárov, čím zabezpečujú robustný a užívateľsky prívetivý zážitok. Napríklad nástroj add_expense_interactive, ako je demonštrované v zdrojovom materiáli, môže viesť používateľa cez sériu otázok – suma, popis, kategória a konečné potvrdenie – predtým, ako potvrdí údaje do backendu, ako je Amazon DynamoDB. Každý krok využíva modely Pydantic na definovanie očakávaného vstupu, ktorý FastMCP bezproblémovo konvertuje na JSON Schema potrebné pre požiadavku elicitation/create.

Vzorkovanie a notifikácie o priebehu: Zlepšenie interakcie a transparentnosti LLM

Okrem priamej interakcie s používateľom, vzorkovanie vybavuje MCP server schopnosťou vyžiadať si obsah generovaný LLM priamo od klienta prostredníctvom sampling/createMessage. Toto je kritický mechanizmus, pretože umožňuje logike nástroja na serveri využívať výkonné schopnosti jazykového modelu bez toho, aby musel spravovať vlastné poverenia LLM alebo priame integrácie API. Server jednoducho poskytne výzvu a voliteľné preferencie modelu a klient, ktorý funguje ako sprostredkovateľ, prepošle požiadavku svojmu pripojenému LLM a vráti vygenerovanú odpoveď. To otvára nespočetné množstvo praktických aplikácií, vrátane vytvárania personalizovaných súhrnov, generovania vysvetlení v prirodzenom jazyku zo štruktúrovaných údajov alebo vytvárania kontextovo uvedomelých odporúčaní založených na prebiehajúcej konverzácii.

Pre operácie, ktoré sa tiahnu v čase, sa stávajú neoceniteľnými notifikácie o priebehu. Táto schopnosť umožňuje MCP serveru hlásiť postupné aktualizácie počas dlhotrvajúcich úloh. Použitím ctx.report_progress(progress, total) môže server vysielať nepretržité aktualizácie, ktoré klienti môžu premeniť na vizuálnu spätnú väzbu, ako je indikátor priebehu alebo stavový indikátor. Či už ide o vyhľadávanie vo rozsiahlych zdrojoch údajov alebo vykonávanie komplexných výpočtových úloh, transparentné aktualizácie priebehu zabezpečujú, že používatelia zostanú informovaní, predchádzajú frustrácii a zlepšujú celkový užívateľský zážitok, namiesto toho, aby hľadeli na prázdnu obrazovku a premýšľali, či je systém stále aktívny.

Zabezpečenie budúcnosti vývoja AI agentov s runtime Bedrock AgentCore

Zavedenie schopností stavového klienta MCP na Amazon Bedrock AgentCore Runtime predstavuje významný skok vpred vo vývoji AI agentov. Transformovaním predtým bezstavových interakcií na dynamické, obojsmerné konverzácie AWS umožňuje vývojárom vytvárať inteligentnejšie, responzívnejšie a užívateľsky prívetivejšie AI aplikácie. Tieto schopnosti – elicitácia pre riadený vstup používateľa, vzorkovanie pre generovanie LLM na požiadanie a notifikácie o priebehu pre transparentnosť v reálnom čase – spoločne odomykajú novú éru interaktívnych pracovných postupov agentov. Keďže sa AI neustále vyvíja, tieto základné schopnosti budú kľúčové pre vytváranie sofistikovanej operačnej agentickej AI, ktorá sa dokáže bezproblémovo integrovať do komplexných obchodných procesov, prispôsobiť sa potrebám používateľov a priniesť výnimočnú hodnotu.

Často kladené otázky

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.

Buďte informovaní

Dostávajte najnovšie AI správy do schránky.

Zdieľať