Code Velocity
Bedrifts-AI

Amazon Bedrock: Tilstandsbevarende MCP-klientfunksjonalitet på AgentCore Runtime

·7 min lesing·AWS·Opprinnelig kilde
Del
Diagram som illustrerer tilstandsbevarende MCP-klientfunksjonalitet på Amazon Bedrock AgentCore Runtime med interaktive AI-agentflyter.

Utover dette flagget blir de tre klientfunksjonalitetene automatisk tilgjengelige når MCP-klienten erklærer støtte for dem under initialiseringshåndtrykket.

Dybdeanalyse av nye klientfunksjonaliteter: Elicitering, sampling og fremdrift

Med overgangen til tilstandsbevarende modus låser Amazon Bedrock AgentCore Runtime opp tre kraftige klientfunksjonaliteter fra MCP-spesifikasjonen, hver designet for å adressere distinkte interaksjonsmønstre som er avgjørende for avanserte AI-agenter. Disse funksjonalitetene transformerer det som tidligere var en rigid, enveis kommandoutførelse til en flytende, toveis dialog mellom en MCP-server og dens tilkoblede klienter. Det er viktig å merke seg at disse funksjonene er 'opt-in', noe som betyr at klienter erklærer sin støtte under initialisering, og servere må bare utnytte funksjonalitet som den tilkoblede klienten har annonsert.

Elicitering: Muliggjør dynamisk brukerinnspill i AI-agenter

Elicitering står som en hjørnestein i interaktiv AI, som lar en MCP-server klokt pause sin utførelse og be om spesifikt, strukturert innspill fra brukeren via klienten. Denne funksjonaliteten gir verktøyet mulighet til å stille presise spørsmål på passende tidspunkter innenfor sin arbeidsflyt, enten det er for å bekrefte en beslutning, samle en brukerpreferanse eller hente en verdi avledet fra tidligere operasjoner. Serveren initierer dette ved å sende en elicitation/create JSON-RPC-forespørsel, som inkluderer en menneskelig lesbar melding og et valgfritt requestedSchema som beskriver den forventede responsstrukturen.

MCP-spesifikasjonen tilbyr to robuste moduser for elicitering:

  • Skjemamodus: Dette er ideelt for å samle inn strukturerte data direkte gjennom MCP-klienten, slik som konfigurasjonsparametere, brukerpreferanser eller enkle bekreftelser der sensitive data ikke er involvert.
  • URL-modus: For interaksjoner som krever en sikker, ekstern prosess, som OAuth-flyter, betalingsbehandling eller inntasting av sensitiv legitimasjon, dirigerer URL-modus brukeren til en ekstern URL. Dette sikrer at sensitiv informasjon omgår MCP-klienten fullstendig, noe som forbedrer sikkerhet og overholdelse.

Ved mottak av en eliciteringsforespørsel, gjengir klienten et passende inndatagrensesnitt. Brukerens påfølgende handling utløser en responsmodell med tre handlinger tilbake til serveren: accept (brukeren ga de forespurte dataene), decline (brukeren avviste eksplisitt forespørselen), eller cancel (brukeren avviste ledeteksten uten å gjøre et valg). Intelligente servere er designet for å håndtere hvert av disse scenariene elegant, og sikrer en robust og brukervennlig opplevelse. For eksempel kan et add_expense_interactive-verktøy, som demonstrert i kildematerialet, veilede en bruker gjennom en serie spørsmål – beløp, beskrivelse, kategori og endelig bekreftelse – før data lagres i en backend som Amazon DynamoDB. Hvert trinn utnytter Pydantic-modeller for å definere forventet innspill, som FastMCP sømløst konverterer til JSON Schema som kreves for elicitation/create-forespørselen.

Sampling og fremdriftsvarsler: Øker LLM-interaksjon og åpenhet

Utover direkte brukerinteraksjon, utstyrer Sampling MCP-serveren med muligheten til å be om LLM-generert innhold direkte fra klienten via sampling/createMessage. Dette er en kritisk mekanisme da den lar verktøy-logikken på serveren utnytte kraftige språkmodellfunksjoner uten å måtte administrere egne LLM-legitimasjoner eller direkte API-integrasjoner. Serveren gir ganske enkelt en melding og valgfrie modellpreferanser, og klienten, som fungerer som en mellommann, videresender forespørselen til sin tilkoblede LLM og returnerer den genererte responsen. Dette åpner for et utall praktiske applikasjoner, inkludert å lage personaliserte sammendrag, generere naturlig språkforklaringer fra strukturerte data, eller produsere kontekstbevisste anbefalinger basert på den pågående samtalen.

For operasjoner som strekker seg over tid, blir fremdriftsvarsler uvurderlige. Denne funksjonaliteten gjør det mulig for en MCP-server å rapportere inkrementelle oppdateringer under langvarige oppgaver. Ved å benytte ctx.report_progress(progress, total), kan serveren sende ut kontinuerlige oppdateringer som klienter kan oversette til visuell tilbakemelding, for eksempel en fremdriftslinje eller en statusindikator. Enten det er å søke på tvers av enorme datakilder eller utføre komplekse beregningsoppgaver, sikrer transparente fremdriftsvarsler at brukerne holdes informert, forhindrer frustrasjon og forbedrer den totale brukeropplevelsen, i stedet for å la dem stirre på en tom skjerm og lure på om systemet fortsatt er aktivt.

Fremtidssikrer AI-agentutvikling med Bedrock AgentCore Runtime

Introduksjonen av tilstandsbevarende MCP-klientfunksjonalitet på Amazon Bedrock AgentCore Runtime representerer et betydelig fremskritt innen AI-agentutvikling. Ved å transformere tidligere tilstandsløse interaksjoner til dynamiske, toveis samtaler, styrker AWS utviklere til å bygge mer intelligente, responsive og brukervennlige AI-applikasjoner. Disse funksjonalitetene – elicitering for veiledet brukerinnspill, sampling for on-demand LLM-generering, og fremdriftsvarsler for sanntids åpenhet – låser kollektivt opp en ny æra med interaktive agentarbeidsflyter. Ettersom AI fortsetter å utvikle seg, vil disse grunnleggende funksjonalitetene være avgjørende for å skape sofistikert operasjonell agentisk AI som sømløst kan integreres i komplekse forretningsprosesser, tilpasse seg brukerbehov og levere eksepsjonell verdi.

Ofte stilte spørsmål

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.

Hold deg oppdatert

Få de siste AI-nyhetene i innboksen din.

Del