Code Velocity
Onderneming AI

Amazon Bedrock: Toestandhouende MCP-kliëntvermoëns op AgentCore Runtime

·7 min lees·AWS·Oorspronklike bron
Deel
Diagram wat toestandhouende MCP-kliëntvermoëns op Amazon Bedrock AgentCore Runtime met interaktiewe KI-agentvloeie illustreer.

Verbetering van KI-agente: Die verskuiwing na toestandhouende MCP op Amazon Bedrock

KI-agente ontwikkel vinnig, tog is hul volle potensiaal dikwels belemmer deur toestandlose implementasies, veral in scenario's wat intydse gebruikersinteraksie, dinamiese inhoudgenerering, of deurlopende vorderingkennisgewings vereis. Ontwikkelaars wat gesofistikeerde KI-agente bou, staan gereeld voor uitdagings wanneer werkvloeie moet onderbreek, verduideliking moet insamel, of status moet rapporteer tydens langdurige operasies. Die rigiede, eenrigting aard van toestandlose uitvoering beperk die ontwikkeling van werklik interaktiewe en responsiewe KI-toepassings.

Nou stel Amazon Bedrock AgentCore Runtime baanbrekende toestandhouende Modelkonteks-protokol (MCP)-kliëntvermoëns bekend, wat transformeer hoe KI-agente met gebruikers en groottaalmodelle (LLM's) skakel. Hierdie deurslaggewende opdatering bevry agente van die beperkings van toestandlose kommunikasie, wat komplekse, veelbeurt- en hoogs interaktiewe werkvloeie moontlik maak. Deur deurslaggewende MCP-kliëntfunksies – Ontlokking, Monsterneming en Vorderingkennisgewings – te integreer, fasiliteer Bedrock AgentCore Runtime tweerigtinggesprekke tussen MCP-bedieners en -kliënte, wat die weg baan vir meer intelligente, gebruikersgesentreerde KI-oplossings.

Van Toestandloos na Toestandhouend: Ontsluiting van Interaktiewe Agent-werkvloeie

Voorheen het MCP-bedienerondersteuning op AgentCore in 'n toestandlose modus gewerk, waar elke HTTP-versoek onafhanklik funksioneer het, sonder enige gedeelde konteks. Hoewel dit ontplooiing vir basiese gereedskapbedieners vereenvoudig het, het dit scenario's wat gesprekskontinuïteit, verduideliking van gebruikers midde-in die werkvloei, of intydse vorderingverslagdoening vereis, ernstig beperk. Die bediener kon eenvoudig nie 'n gespreksdraad oor afsonderlike versoeke handhaaf nie, wat die ontwikkeling van werklik interaktiewe agente belemmer het.

Die koms van toestandhouende MCP-kliëntvermoëns verander hierdie paradigma fundamenteel. Deur stateless_http=False tydens bedieneropstart te stel, voorsien AgentCore Runtime 'n toegewyde mikro-VM vir elke gebruikersessie. Hierdie mikro-VM bestaan vir die duur van die sessie – tot 8 uur, of 15 minute van onaktiwiteit per idleRuntimeSessionTimeout-instelling – wat SVE-, geheue- en lêerstelsel-isolasie tussen sessies verseker. Kontinuïteit word gehandhaaf deur 'n Mcp-Session-Id-kopstuk, wat die bediener tydens inisialisering verskaf en die kliënt in alle daaropvolgende versoeke insluit om terug na dieselfde sessie te lei. Hierdie toegewyde, voortbestaande omgewing stel agente in staat om konteks te onthou, gebruikersinvoer te ontlok, dinamiese LLM-inhoud te genereer, en deurlopende opdaterings te verskaf.

Die volgende tabel som die sleutelverskille tussen toestandlose en toestandhouende modusse op:

Toestandlose modusToestandhouende modus
stateless_http-instellingTRUEFALSE
Sessie-isolasieToegewyde mikro-VM per sessieToegewyde mikro-VM per sessie
SessielewensduurTot 8 uur; 15-min onaktiwiteitstydperkTot 8 uur; 15-min onaktiwiteitstydperk
KliëntvermoënsNie ondersteun nieOntlokking, monsterneming, vorderingkennisgewings
Aanbeveel virEenvoudige gereedskapbedieningInteraktiewe, veelbeurt-werkvloeie

Wanneer 'n sessie verval of die bediener herbegin word, sal daaropvolgende versoeke met die vroeë sessie-ID 'n 404 terugstuur. Op daardie punt moet kliënte die verbinding her-inisialiseer om 'n nuwe sessie-ID te verkry en 'n nuwe sessie te begin. Die konfigurasieverandering om toestandhouende modus te aktiveer, is 'n enkele vlag in jou bedieneropstart:

mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Aktiveer toestandhouende modus)

Behalwe vir hierdie vlag, word die drie kliëntvermoëns outomaties beskikbaar sodra die MCP-kliënt tydens die inisialiseringshanddruk sy ondersteuning daarvoor verklaar.

Diepgaande Kyk na Nuwe Kliëntvermoëns: Ontlokking, Monsterneming en Vordering

Met die oorgang na toestandhouende modus, ontsluit Amazon Bedrock AgentCore Runtime drie kragtige kliëntvermoëns uit die MCP-spesifikasie, elk ontwerp om onderskeie interaksiepatrone aan te spreek wat deurslaggewend is vir gevorderde KI-agente. Hierdie vermoëns transformeer wat eens 'n rigiede, eenrigting-opdraguitvoering was in 'n vloeiende, tweerigting-dialoog tussen 'n MCP-bediener en sy gekoppelde kliënte. Dit is belangrik om daarop te let dat hierdie funksies opt-in is, wat beteken dat kliënte hul ondersteuning tydens inisialisering verklaar, en bedieners moet slegs vermoëns gebruik wat die gekoppelde kliënt geadverteer het.

Ontlokking: Aktivering van Dinamiese Gebruikersinvoer in KI-agente

Ontlokking staan as 'n hoeksteen van interaktiewe KI, wat 'n MCP-bediener toelaat om sy uitvoering oordeelkundig te onderbreek en spesifieke, gestruktureerde invoer van die gebruiker via die kliënt aan te vra. Hierdie vermoë bemagtig die instrument om presiese vrae op geleë oomblikke binne sy werkvloei te stel, hetsy om 'n besluit te bevestig, 'n gebruikersvoorkeur in te samel, of 'n waarde wat uit voorafgaande operasies afgelei is, te versamel. Die bediener inisieer dit deur 'n elicitation/create JSON-RPC-versoek te stuur, wat 'n mensleesbare boodskap en 'n opsionele requestedSchema insluit wat die verwagte responsstruktuur afbaken.

Die MCP-spesifikasie bied twee robuuste modusse vir ontlokking:

  • Vormmodus: Dit is ideaal vir die insameling van gestruktureerde data direk deur die MCP-kliënt, soos konfigurasieparameters, gebruikersvoorkeure, of eenvoudige bevestigings waar sensitiewe data nie betrokke is nie.
  • URL-modus: Vir interaksies wat 'n veilige, buite-band-proses vereis, soos OAuth-vloeie, betalingverwerking, of die invoer van sensitiewe geloofsbriewe, lei URL-modus die gebruiker na 'n eksterne URL. Dit verseker dat sensitiewe inligting die MCP-kliënt heeltemal omseil, wat sekuriteit en nakoming verbeter.

Met die ontvangs van 'n ontlokkingversoek, lewer die kliënt 'n toepaslike invoerkoppelvlak. Die gebruiker se daaropvolgende aksie aktiveer 'n drie-aksie-responsmodel terug na die bediener: accept (gebruiker het die aangevraagde data verskaf), decline (gebruiker het die versoek uitdruklik geweier), of cancel (gebruiker het die boodskap afgekeur sonder om 'n keuse te maak). Intelligente bedieners is ontwerp om elk van hierdie scenario's grasieus te hanteer, en sodoende 'n robuuste en gebruikersvriendelike ervaring te verseker. Byvoorbeeld, 'n add_expense_interactive-instrument, soos gedemonstreer in die bronmateriaal, kan 'n gebruiker deur 'n reeks vrae lei—bedrag, beskrywing, kategorie, en finale bevestiging—voordat data aan 'n agterkant soos Amazon DynamoDB verbind word. Elke stap benut Pydantic-modelle om die verwagte invoer te definieer, wat FastMCP naatloos omskakel na die JSON-skema wat vir die elicitation/create-versoek benodig word.

Monsterneming en Vorderingkennisgewings: Stimulering van LLM-interaksie en Deursigtigheid

Benewens direkte gebruikersinteraksie, rus Monsterneming die MCP-bediener toe met die vermoë om LLM-gegenereerde inhoud direk van die kliënt aan te vra via sampling/createMessage. Dit is 'n kritieke meganisme aangesien dit gereedskaplogika op die bediener toelaat om kragtige taalmodelvermoëns te benut sonder om sy eie LLM-geloofsbriewe of direkte API-integrasies te bestuur. Die bediener verskaf bloot 'n opdrag en opsionele modelvoorkeure, en die kliënt, wat as 'n tussenganger optree, stuur die versoek aan sy gekoppelde LLM en stuur die gegenereerde respons terug. Dit open 'n magdom praktiese toepassings, insluitend die opstel van gepersonaliseerde opsommings, die generering van natuurliketaal-verduidelikings uit gestruktureerde data, of die produksie van konteksbewuste aanbevelings gebaseer op die deurlopende gesprek.

Vir operasies wat oor tyd strek, word Vorderingkennisgewings van onskatbare waarde. Hierdie vermoë stel 'n MCP-bediener in staat om inkrementele opdaterings tydens langdurige take te rapporteer. Deur ctx.report_progress(progress, total) te gebruik, kan die bediener deurlopende opdaterings uitstuur wat kliënte in visuele terugvoer kan omskakel, soos 'n vorderingsbalk of 'n statusaanwyser. Hetsy dit soek oor groot databronne of komplekse berekeningstake uitvoer, deursigtige vorderingkennisgewings verseker dat gebruikers ingelig bly, wat frustrasie voorkom en die algehele gebruikerservaring verbeter, eerder as om hulle na 'n leë skerm te laat staar en te wonder of die stelsel nog aktief is.

Toekomsvasstelling van KI-agentontwikkeling met Bedrock AgentCore Runtime

Die bekendstelling van toestandhouende MCP-kliëntvermoëns op Amazon Bedrock AgentCore Runtime verteenwoordig 'n beduidende sprong vorentoe in KI-agentontwikkeling. Deur voorheen toestandlose interaksies in dinamiese, tweerigtinggesprekke te omskep, bemagtig AWS ontwikkelaars om meer intelligente, responsiewe en gebruikersvriendelike KI-toepassings te bou. Hierdie vermoëns – Ontlokking vir geleide gebruikersinvoer, Monsterneming vir op-aanvraag LLM-generering, en Vorderingkennisgewings vir intydse deursigtigheid – ontsluit gesamentlik 'n nuwe era van interaktiewe agentwerkvloeie. Soos KI aanhou ontwikkel, sal hierdie fundamentele vermoëns deurslaggewend wees vir die skep van gesofistikeerde operasionalisering van agentiese KI wat naatloos in komplekse besigheidsprosesse kan integreer, aanpas by gebruikersbehoeftes, en uitsonderlike waarde kan lewer.

Gereelde Vrae

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.

Bly op hoogte

Kry die nuutste KI-nuus in jou inkassie.

Deel