Code Velocity
Enterprise AI

Amazon Bedrock: Mga Kakayahan ng Stateful MCP Client sa AgentCore Runtime

·7 min basahin·AWS·Orihinal na pinagmulan
I-share
Diagram na naglalarawan ng mga kakayahan ng stateful MCP client sa Amazon Bedrock AgentCore Runtime na may interactive na daloy ng AI agent.

Pagpapahusay ng mga AI Agent: Ang Paglipat sa Stateful MCP sa Amazon Bedrock

Mabilis na umuunlad ang mga AI agent, ngunit ang kanilang buong potensyal ay madalas na nahahadlangan ng mga stateless na implementasyon, partikular sa mga sitwasyon na nangangailangan ng real-time na interaksyon ng user, dynamic na pagbuo ng nilalaman, o patuloy na mga update sa pag-unlad. Ang mga developer na bumubuo ng mga sopistikadong AI agent ay madalas na nakakaranas ng mga hamon kapag ang mga workflow ay kailangang huminto, mangalap ng paglilinaw, o mag-ulat ng status sa panahon ng mahabang operasyon. Ang matibay, one-way na katangian ng stateless execution ay naglilimita sa pagbuo ng tunay na interactive at tumutugon na mga aplikasyon ng AI.

Ngayon, ipinakilala ng Amazon Bedrock AgentCore Runtime ang groundbreaking na mga kakayahan ng stateful Model Context Protocol (MCP) client, na nagbabago kung paano nakikipag-ugnayan ang mga AI agent sa mga user at large language models (LLMs). Ang mahalagang update na ito ay nagpapalaya sa mga agent mula sa mga limitasyon ng stateless na komunikasyon, na nagpapagana ng kumplikado, multi-turn, at lubos na interactive na mga workflow. Sa pamamagitan ng pagsasama ng mahahalagang feature ng MCP client – Elicitation, Sampling, at Progress Notifications – pinapadali ng Bedrock AgentCore Runtime ang bidirectional na pag-uusap sa pagitan ng mga MCP server at client, na nagbibigay daan para sa mas matalino, user-centric na mga solusyon ng AI.

Mula Stateless tungo Stateful: Pagbubukas ng mga Interactive na Workflow ng Agent

Dati, ang suporta sa MCP server sa AgentCore ay gumana sa isang stateless mode, kung saan ang bawat HTTP request ay gumagana nang independiyente, walang anumang shared context. Bagaman pinadali nito ang deployment para sa mga simpleng tool server, lubos nitong nililimitahan ang mga sitwasyon na nangangailangan ng conversational continuity, paglilinaw ng user sa kalagitnaan ng workflow, o real-time na pag-uulat ng pag-unlad. Hindi kayang panatilihin ng server ang isang thread ng pag-uusap sa mga discrete na kahilingan, na humahadlang sa pagbuo ng tunay na interactive na mga agent.

Ang pagdating ng stateful MCP client capabilities ay pundamental na nagbabago sa paradigm na ito. Sa pamamagitan ng pagtatakda ng stateless_http=False sa panahon ng pagsisimula ng server, ang AgentCore Runtime ay nagbibigay ng nakalaang microVM para sa bawat session ng user. Nagpapatuloy ang microVM na ito para sa tagal ng session—hanggang 8 oras, o 15 minuto ng kawalan ng aktibidad bawat idleRuntimeSessionTimeout setting—na tinitiyak ang paghihiwalay ng CPU, memory, at filesystem sa pagitan ng mga session. Ang pagpapatuloy ay pinananatili sa pamamagitan ng isang Mcp-Session-Id header, na ibinibigay ng server sa panahon ng inisyalisasyon at isinasama ng client sa lahat ng kasunod na kahilingan upang bumalik sa parehong session. Ang nakalaang, persistent na kapaligiran na ito ay nagbibigay-daan sa mga agent na alalahanin ang konteksto, humingi ng input ng user, bumuo ng dynamic na nilalaman ng LLM, at magbigay ng patuloy na mga update.

Ang sumusunod na talahanayan ay nagbubuod ng mga pangunahing pagkakaiba sa pagitan ng stateless at stateful na mga mode:

Stateless modeStateful mode
Pagtatakda ng stateless_httpTRUEFALSE
Paghihiwalay ng sessionNakalaang microVM bawat sessionNakalaang microVM bawat session
Tagal ng sessionHanggang 8 oras; 15-min idle timeoutHanggang 8 oras; 15-min idle timeout
Mga kakayahan ng clientHindi suportadoElicitation, sampling, progress notifications
Inirerekomenda para saSimpleng paglilingkod sa toolInteractive, multi-turn na mga workflow

Kapag nag-expire ang isang session o nagsimulang muli ang server, ang mga kasunod na kahilingan na may maagang session ID ay magbabalik ng 404. Sa puntong iyon, dapat muling simulan ng mga client ang koneksyon upang makakuha ng bagong session ID at magsimula ng sariwang session. Ang pagbabago ng configuration upang paganahin ang stateful mode ay isang solong flag sa iyong pagsisimula ng server:

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

Maliban sa flag na ito, ang tatlong kakayahan ng client ay awtomatikong magagamit kapag idineklara ng MCP client ang suporta para sa mga ito sa panahon ng initialization handshake.

Malalimang Pagsisid sa mga Bagong Kakayahan ng Client: Elicitation, Sampling, at Progress

Sa paglipat sa stateful mode, binubuksan ng Amazon Bedrock AgentCore Runtime ang tatlong makapangyarihang kakayahan ng client mula sa MCP specification, bawat isa ay idinisenyo upang tugunan ang iba't ibang pattern ng interaksyon na mahalaga para sa mga advanced na AI agent. Ang mga kakayahang ito ay nagpapabago sa kung ano ang dating matibay, one-way na pagpapatupad ng command sa isang likido, two-way na diyalogo sa pagitan ng isang MCP server at ng mga konektadong client nito. Mahalagang tandaan na ang mga feature na ito ay opt-in, ibig sabihin, idinedeklara ng mga client ang kanilang suporta sa panahon ng inisyalisasyon, at dapat lamang gamitin ng mga server ang mga kakayahan na na-advertise ng konektadong client.

Elicitation: Pagpapagana ng Dynamic na Input ng User sa mga AI Agent

Ang Elicitation ay nakatayo bilang isang pundasyon ng interactive AI, na nagbibigay-daan sa isang MCP server na maingat na i-pause ang pagpapatupad nito at humiling ng partikular, structured na input nang direkta mula sa user sa pamamagitan ng client. Ang kakayahang ito ay nagbibigay ng kapangyarihan sa tool na magtanong ng mga tumpak na tanong sa tamang sandali sa loob ng workflow nito, maging ito man ay upang kumpirmahin ang isang desisyon, mangalap ng kagustuhan ng user, o mangolekta ng isang halaga na nagmula sa mga naunang operasyon. Sinisimulan ito ng server sa pamamagitan ng pagpapadala ng elicitation/create JSON-RPC request, na naglalaman ng isang nababasang mensahe at isang opsyonal na requestedSchema na naglalarawan ng inaasahang istraktura ng tugon.

Ang MCP specification ay nagbibigay ng dalawang matibay na mode para sa elicitation:

  • Form mode: Ito ay perpekto para sa pagkolekta ng structured na data nang direkta sa pamamagitan ng MCP client, tulad ng mga parameter ng configuration, kagustuhan ng user, o simpleng kumpirmasyon kung saan walang sensitibong data na kasama.
  • URL mode: Para sa mga interaksyon na nangangailangan ng isang secure, out-of-band na proseso, tulad ng mga daloy ng OAuth, pagproseso ng bayad, o ang pagpasok ng mga sensitibong kredensyal, idinidirekta ng URL mode ang user sa isang panlabas na URL. Tinitiyak nito na ang sensitibong impormasyon ay lampas sa MCP client, na nagpapahusay sa seguridad at pagsunod.

Pagkatapos makatanggap ng elicitation request, nirere-render ng client ang isang angkop na input interface. Ang kasunod na aksyon ng user ay nagti-trigger ng isang three-action na modelo ng tugon pabalik sa server: accept (nagbigay ang user ng hiniling na data), decline (malinaw na tinanggihan ng user ang kahilingan), o cancel (itinapon ng user ang prompt nang hindi gumagawa ng pagpili). Ang mga matatalinong server ay idinisenyo upang hawakan ang bawat isa sa mga sitwasyong ito nang maayos, tinitiyak ang isang matibay at madaling gamitin na karanasan. Halimbawa, ang isang add_expense_interactive na tool, tulad ng ipinapakita sa source material, ay maaaring gabayan ang isang user sa isang serye ng mga tanong—halaga, paglalarawan, kategorya, at huling kumpirmasyon—bago ilagay ang data sa isang backend tulad ng Amazon DynamoDB. Bawat hakbang ay gumagamit ng mga modelo ng Pydantic upang tukuyin ang inaasahang input, na walang putol na kino-convert ng FastMCP sa JSON Schema na kinakailangan para sa elicitation/create request.

Sampling at Progress Notifications: Pagpapalakas ng Interaksyon at Transparence ng LLM

Higit pa sa direktang interaksyon ng user, binibigyan ng Sampling ang MCP server ng kakayahang humiling ng nilalamang nabuo ng LLM nang direkta mula sa client sa pamamagitan ng sampling/createMessage. Ito ay isang kritikal na mekanismo dahil nagbibigay-daan ito sa logic ng tool sa server na gamitin ang malalakas na kakayahan ng language model nang hindi kinakailangang pamahalaan ang sarili nitong mga kredensyal ng LLM o direktang integrasyon ng API. Ang server ay nagbibigay lamang ng isang maayos na prompt at opsyonal na mga kagustuhan ng modelo, at ang client, na kumikilos bilang isang intermediary, ay ipinapasa ang kahilingan sa konektado nitong LLM at ibinabalik ang nabuong tugon. Nagbubukas ito ng isang libong praktikal na aplikasyon, kabilang ang paggawa ng personalized na mga buod, pagbuo ng natural-language na mga paliwanag mula sa structured data, o paggawa ng mga rekomendasyong batay sa konteksto batay sa patuloy na pag-uusap.

Para sa mga operasyon na tumatagal, nagiging napakahalaga ang Progress Notifications. Ang kakayahang ito ay nagbibigay-daan sa isang MCP server na mag-ulat ng mga incremental na update sa panahon ng mahabang gawain. Sa pamamagitan ng paggamit ng ctx.report_progress(progress, total), ang server ay maaaring maglabas ng patuloy na mga update na maaaring isalin ng mga client sa visual na feedback, tulad ng isang progress bar o isang status indicator. Maging ito man ay paghahanap sa malalaking pinagmulan ng data o pagpapatupad ng kumplikadong mga gawain sa komputasyon, tinitiyak ng transparent na mga update sa pag-unlad na nananatiling may alam ang mga user, pinipigilan ang pagkadismaya at pinapahusay ang pangkalahatang karanasan ng user, sa halip na iwanan silang nakatitig sa isang blangko na screen na nagtataka kung aktibo pa rin ang sistema.

Future-Proofing sa Pagbuo ng AI Agent gamit ang Bedrock AgentCore Runtime

Ang pagpapakilala ng mga kakayahan ng stateful MCP client sa Amazon Bedrock AgentCore Runtime ay kumakatawan sa isang makabuluhang hakbang pasulong sa pagbuo ng AI agent. Sa pamamagitan ng pagbabago ng mga dating stateless na interaksyon sa dynamic, bidirectional na pag-uusap, binibigyan ng kapangyarihan ng AWS ang mga developer na bumuo ng mas matalino, tumutugon, at madaling gamitin na mga aplikasyon ng AI. Ang mga kakayahang ito – Elicitation para sa ginabayang input ng user, Sampling para sa on-demand na pagbuo ng LLM, at Progress Notifications para sa real-time na transparency – ay sama-samang nagbubukas ng isang bagong panahon ng interactive na mga workflow ng agent. Habang patuloy na umuunlad ang AI, ang mga pundasyong kakayahan na ito ay magiging mahalaga para sa paglikha ng sopistikadong operationalizing agentic AI na maaaring walang putol na sumama sa kumplikadong mga proseso ng negosyo, umangkop sa mga pangangailangan ng user, at maghatid ng pambihirang halaga.

Mga Karaniwang Tanong

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.

Manatiling Updated

Kunin ang pinakabagong AI news sa iyong inbox.

I-share