Code Velocity
Podniková AI

Amazon Bedrock: Možnosti stavového MCP klienta v AgentCore Runtime

·7 min čtení·AWS·Původní zdroj
Sdílet
Diagram ilustrující možnosti stavového MCP klienta v Amazon Bedrock AgentCore Runtime s interaktivními toky AI agentů.

Kromě tohoto příznaku se tři klientské funkce automaticky zpřístupní, jakmile klient MCP deklaruje svou podporu pro ně během inicializačního handshake.

Hloubkový pohled na nové možnosti klienta: Elice, Vzorkování a Průběh

S přechodem na stavový režim Amazon Bedrock AgentCore Runtime odemyká tři výkonné klientské funkce ze specifikace MCP, z nichž každá je navržena tak, aby řešila odlišné interakční vzorce klíčové pro pokročilé AI agenty. Tyto funkce transformují to, co bylo kdysi pevné, jednosměrné provádění příkazů, na plynulý, obousměrný dialog mezi MCP serverem a jeho připojenými klienty. Je důležité si uvědomit, že tyto funkce jsou opt-in, což znamená, že klienti deklarují svou podporu během inicializace a servery musí využívat pouze ty funkce, které připojený klient inzeroval.

Elice: Povolení dynamického uživatelského vstupu u AI agentů

Elice je základním kamenem interaktivní AI, která umožňuje MCP serveru uvážlivě pozastavit své provádění a vyžádat si specifický, strukturovaný vstup od uživatele prostřednictvím klienta. Tato schopnost umožňuje nástroji klást přesné otázky ve vhodných okamžicích v rámci jeho pracovního postupu, ať už jde o potvrzení rozhodnutí, shromáždění uživatelské preference nebo získání hodnoty odvozené z předchozích operací. Server to iniciuje odesláním JSON-RPC požadavku elicitation/create, který obsahuje lidsky čitelnou zprávu a volitelnou requestedSchema vymezující očekávanou strukturu odpovědi.

Specifikace MCP poskytuje dva robustní režimy pro elici:

  • Formulářový režim: Tento režim je ideální pro sběr strukturovaných dat přímo prostřednictvím MCP klienta, jako jsou konfigurační parametry, uživatelské preference nebo jednoduchá potvrzení, kde nejsou zapojena citlivá data.
  • URL režim: Pro interakce, které vyžadují bezpečný, mimopásmový proces, jako jsou toky OAuth, zpracování plateb nebo zadávání citlivých pověření, URL režim přesměruje uživatele na externí URL. Tím se zajistí, že citlivé informace zcela obejdou MCP klienta, což zvyšuje bezpečnost a dodržování předpisů.

Po obdržení požadavku na elici klient vykreslí příslušné vstupní rozhraní. Následná akce uživatele spustí tříakční model odpovědi zpět na server: accept (uživatel poskytl požadovaná data), decline (uživatel explicitně odmítl požadavek) nebo cancel (uživatel zrušil výzvu, aniž by provedl volbu). Inteligentní servery jsou navrženy tak, aby elegantně zvládly každý z těchto scénářů, což zajišťuje robustní a uživatelsky přívětivé prostředí. Například nástroj add_expense_interactive, jak je demonstrováno ve zdrojovém materiálu, může uživatele provést řadou otázek – částka, popis, kategorie a konečné potvrzení – před odesláním dat do backendu, jako je Amazon DynamoDB. Každý krok využívá Pydantic modely k definování očekávaného vstupu, který FastMCP bezproblémově převede do JSON Schema požadovaného pro požadavek elicitation/create.

Vzorkování a oznámení o průběhu: Zlepšení interakce a transparentnosti LLM

Kromě přímé uživatelské interakce, Vzorkování vybavuje MCP server schopností vyžádat si obsah generovaný LLM přímo od klienta pomocí sampling/createMessage. Toto je kritický mechanismus, protože umožňuje logice nástroje na serveru využívat výkonné schopnosti jazykového modelu, aniž by musel spravovat vlastní pověření LLM nebo přímé integrace API. Server jednoduše poskytne výzvu a volitelné preference modelu a klient, jednající jako prostředník, předá požadavek svému připojenému LLM a vrátí vygenerovanou odpověď. To otevírá nespočet praktických aplikací, včetně vytváření personalizovaných souhrnů, generování vysvětlení v přirozeném jazyce ze strukturovaných dat nebo vytváření kontextově relevantních doporučení na základě probíhající konverzace.

Pro operace, které trvají delší dobu, se Oznámení o průběhu stávají neocenitelnými. Tato schopnost umožňuje MCP serveru hlásit inkrementální aktualizace během dlouhotrvajících úloh. Využitím ctx.report_progress(progress, total) může server vysílat průběžné aktualizace, které klienti mohou převést na vizuální zpětnou vazbu, jako je ukazatel průběhu nebo indikátor stavu. Ať už jde o vyhledávání napříč rozsáhlými datovými zdroji nebo provádění složitých výpočetních úloh, transparentní aktualizace průběhu zajišťují, že uživatelé zůstanou informováni, čímž se předchází frustraci a zlepšuje celkový uživatelský zážitek, namísto toho, aby zírali na prázdnou obrazovku a přemýšleli, zda systém stále funguje.

Zajištění budoucnosti vývoje AI agentů s Bedrock AgentCore Runtime

Zavedení možností stavového MCP klienta v Amazon Bedrock AgentCore Runtime představuje významný krok vpřed ve vývoji AI agentů. Transformací dříve bezstavových interakcí na dynamické, obousměrné konverzace AWS umožňuje vývojářům vytvářet inteligentnější, responzivnější a uživatelsky přívětivější AI aplikace. Tyto možnosti – Elice pro řízený uživatelský vstup, Vzorkování pro generování LLM na vyžádání a Oznámení o průběhu pro transparentnost v reálném čase – společně otevírají novou éru interaktivních pracovních postupů agentů. Jak se AI neustále vyvíjí, tyto základní schopnosti budou klíčové pro vytváření sofistikovaných provozování agentní AI, které se mohou bezproblémově integrovat do komplexních obchodních procesů, přizpůsobit se potřebám uživatelů a poskytovat výjimečnou hodnotu.

Často kladené dotazy

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 v obraze

Dostávejte nejnovější AI zprávy do schránky.

Sdílet