Code Velocity
Uzņēmumu AI

Amazon Bedrock: Pilnveidotas stāvokļa MCP klienta iespējas AgentCore izpildlaikā

·7 min lasīšana·AWS·Sākotnējais avots
Dalīties
Diagramma, kas ilustrē stāvokļa MCP klienta iespējas Amazon Bedrock AgentCore Runtime ar interaktīvām AI aģentu plūsmām.

AI aģentu uzlabošana: Pāreja uz stāvokļa MCP pakalpojumā Amazon Bedrock

AI aģenti strauji attīstās, taču to pilnu potenciālu bieži ir kavējušas bezstāvokļa implementācijas, īpaši scenārijos, kas prasa reāllaika lietotāja mijiedarbību, dinamiska satura ģenerēšanu vai nepārtrauktus progresa atjauninājumus. Izstrādātāji, kas veido sarežģītus AI aģentus, bieži saskaras ar izaicinājumiem, ja darbplūsmām ir jāapturas, jāapkopo precizējumi vai jāziņo par statusu garu operāciju laikā. Bezstāvokļa izpildes stingrais, vienvirziena raksturs ierobežo patiesi interaktīvu un atsaucīgu AI lietojumprogrammu izstrādi.

Tagad Amazon Bedrock AgentCore Runtime ievieš revolucionāras stāvokļa Modeļa konteksta protokola (MCP) klienta iespējas, pārveidojot veidu, kā AI aģenti mijiedarbojas ar lietotājiem un lielajiem valodu modeļiem (LLM). Šis svarīgais atjauninājums atbrīvo aģentus no bezstāvokļa komunikācijas ierobežojumiem, ļaujot veidot sarežģītas, daudzkārtīgas un ļoti interaktīvas darbplūsmas. Integrējot būtiskas MCP klienta funkcijas – Iegūšanu (Elicitation), Paraugu ņemšanu (Sampling) un Progresa paziņojumus (Progress Notifications) –, Bedrock AgentCore Runtime atvieglo divvirzienu sarunas starp MCP serveriem un klientiem, paverot ceļu inteliģentākiem, uz lietotāju vērstiem AI risinājumiem.

No bezstāvokļa uz stāvokļa: interaktīvu aģentu darbplūsmu atbloķēšana

Iepriekš MCP servera atbalsts pakalpojumā AgentCore darbojās bezstāvokļa režīmā, kur katrs HTTP pieprasījums darbojās neatkarīgi, bez jebkāda kopīga konteksta. Lai gan tas vienkāršoja izvietošanu pamata rīku serveriem, tas nopietni ierobežoja scenārijus, kas prasīja sarunu nepārtrauktību, lietotāja precizējumus darbplūsmas laikā vai reāllaika progresa ziņošanu. Servers vienkārši nevarēja uzturēt sarunu pavedienu starp atsevišķiem pieprasījumiem, kavējot patiesi interaktīvu aģentu izstrādi.

Stāvokļa MCP klienta iespēju parādīšanās fundamentāli maina šo paradigmu. Iestatot stateless_http=False servera palaišanas laikā, AgentCore Runtime nodrošina speciālu microVM katrai lietotāja sesijai. Šī microVM saglabājas sesijas laikā — līdz 8 stundām vai 15 minūtes neaktivitātes saskaņā ar idleRuntimeSessionTimeout iestatījumu —, nodrošinot CPU, atmiņas un failu sistēmas izolāciju starp sesijām. Nepārtrauktība tiek uzturēta, izmantojot Mcp-Session-Id galveni, ko servers nodrošina inicializācijas laikā un klients iekļauj visos turpmākajos pieprasījumos, lai novirzītu atpakaļ uz to pašu sesiju. Šī speciālā, noturīgā vide ļauj aģentiem atcerēties kontekstu, pieprasīt lietotāja ievadi, ģenerēt dinamisku LLM saturu un nodrošināt nepārtrauktus atjauninājumus.

Šī tabula apkopo galvenās atšķirības starp bezstāvokļa un stāvokļa režīmiem:

Bezstāvokļa režīmsStāvokļa režīms
stateless_http iestatījumsTRUEFALSE
Sesijas izolācijaSpeciāla microVM katrai sesijaiSpeciāla microVM katrai sesijai
Sesijas ilgumsLīdz 8 stundām; 15 minūšu dīkstāves taimautsLīdz 8 stundām; 15 minūšu dīkstāves taimauts
Klienta iespējasNetiek atbalstītasIeguve, paraugu ņemšana, progresa paziņojumi
IeteicamsVienkāršiem rīku serveriemInteraktīvām, daudzkārtīgām darbplūsmām

Kad sesija beidzas vai serveris tiek restartēts, turpmākie pieprasījumi ar veco sesijas ID atgriezīs 404. Tādā gadījumā klientiem ir jāreinizializē savienojums, lai iegūtu jaunu sesijas ID un sāktu jaunu sesiju. Konfigurācijas izmaiņas, lai iespējotu stāvokļa režīmu, ir viens karodziņš jūsu servera palaišanas laikā:

mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Iespējot stāvokļa režīmu)

Papildus šim karodziņam trīs klienta iespējas automātiski kļūst pieejamas, tiklīdz MCP klients inicializācijas rokasgrāmatas laikā deklarē to atbalstu.

Padziļināta izpēte par jaunajām klienta iespējām: Ieguve, Paraugu ņemšana un Progress

Pārejot uz stāvokļa režīmu, Amazon Bedrock AgentCore Runtime atbloķē trīs jaudīgas klienta iespējas no MCP specifikācijas, katra paredzēta, lai risinātu atšķirīgus mijiedarbības modeļus, kas ir būtiski progresīviem AI aģentiem. Šīs iespējas pārveido to, kas kādreiz bija stingra, vienvirziena komandu izpilde, par plūstošu, divvirzienu dialogu starp MCP serveri un tā pievienotajiem klientiem. Ir svarīgi atzīmēt, ka šīs funkcijas ir jāizvēlas, kas nozīmē, ka klienti deklarē savu atbalstu inicializācijas laikā, un serveriem ir jāizmanto tikai tās iespējas, kuras pievienotais klients ir reklamējis.

Ieguve: dinamiskas lietotāja ievades iespējošana AI aģentos

Ieguve ir interaktīvā AI stūrakmens, kas ļauj MCP serverim apdomīgi apturēt tā izpildi un pieprasīt specifisku, strukturētu ievadi tieši no lietotāja, izmantojot klientu. Šī iespēja dod rīkam iespēju uzdot precīzus jautājumus piemērotos brīžos tā darbplūsmā, vai tas būtu, lai apstiprinātu lēmumu, apkopotu lietotāja preferences vai savāktu vērtību, kas izriet no iepriekšējām darbībām. Servers to uzsāk, nosūtot elicitation/create JSON-RPC pieprasījumu, kas ietver cilvēkiem saprotamu ziņojumu un izvēles requestedSchema, kas nosaka sagaidāmo atbildes struktūru.

MCP specifikācija nodrošina divus robustus režīmus iegūšanai:

  • Formas režīms: Tas ir ideāli piemērots strukturētu datu vākšanai tieši caur MCP klientu, piemēram, konfigurācijas parametriem, lietotāja preferencēm vai vienkāršiem apstiprinājumiem, ja netiek iesaistīti sensitīvi dati.
  • URL režīms: Mijiedarbībai, kas prasa drošu, ārpuskanāla procesu, piemēram, OAuth plūsmām, maksājumu apstrādei vai sensitīvu akreditācijas datu ievadei, URL režīms novirza lietotāju uz ārēju URL. Tas nodrošina, ka sensitīvā informācija apiet MCP klientu pavisam, uzlabojot drošību un atbilstību.

Saņemot iegūšanas pieprasījumu, klients atveido atbilstošu ievades interfeisu. Lietotāja turpmākā darbība izraisa trīs darbību atbildes modeli atpakaļ serverim: accept (lietotājs sniedza pieprasītos datus), decline (lietotājs nepārprotami noraidīja pieprasījumu) vai cancel (lietotājs atcēla uzvedni, neizdarot izvēli). Inteliģenti serveri ir izstrādāti, lai graciozi apstrādātu katru no šiem scenārijiem, nodrošinot robustu un lietotājam draudzīgu pieredzi. Piemēram, add_expense_interactive rīks, kā parādīts avota materiālā, var vadīt lietotāju cauri virknei jautājumu — summai, aprakstam, kategorijai un galīgajam apstiprinājumam — pirms datu nodošanas aizmugursistēmai, piemēram, Amazon DynamoDB. Katrs solis izmanto Pydantic modeļus, lai definētu sagaidāmo ievadi, ko FastMCP nemanāmi pārveido par JSON Schema, kas nepieciešama elicitation/create pieprasījumam.

Paraugu ņemšana un Progresa paziņojumi: LLM mijiedarbības un pārredzamības uzlabošana

Papildus tiešai lietotāja mijiedarbībai, Paraugu ņemšana nodrošina MCP serverim iespēju pieprasīt LLM ģenerētu saturu tieši no klienta, izmantojot sampling/createMessage. Tas ir kritisks mehānisms, jo tas ļauj servera rīka loģikai izmantot jaudīgas valodu modeļa iespējas, nepārvaldot savus LLM akreditācijas datus vai tiešās API integrācijas. Servers vienkārši nodrošina uzvedni un izvēles modeļa preferences, un klients, darbodamies kā starpnieks, pārsūta pieprasījumu savam pievienotajam LLM un atgriež ģenerēto atbildi. Tas paver daudzas praktiskas lietojumprogrammas, tostarp personalizētu kopsavilkumu veidošanu, dabisko valodu paskaidrojumu ģenerēšanu no strukturētiem datiem vai kontekstam atbilstošu ieteikumu veidošanu, pamatojoties uz notiekošo sarunu.

Operācijām, kas ilgst ilgu laiku, Progresa paziņojumi kļūst nenovērtējami. Šī iespēja ļauj MCP serverim ziņot par pakāpeniskiem atjauninājumiem garu uzdevumu laikā. Izmantojot ctx.report_progress(progress, total), serveris var izdot nepārtrauktus atjauninājumus, ko klienti var pārvērst vizuālā atgriezeniskajā saitē, piemēram, progresa joslā vai statusa indikatorā. Neatkarīgi no tā, vai tiek meklēts plašās datu bāzēs vai izpildīti sarežģīti aprēķinu uzdevumi, pārredzami progresa atjauninājumi nodrošina, ka lietotāji tiek informēti, novēršot vilšanos un uzlabojot vispārējo lietotāja pieredzi, nevis liekot viņiem skatīties tukšā ekrānā, brīnoties, vai sistēma joprojām ir aktīva.

AI aģentu izstrādes sagatavošana nākotnei ar Bedrock AgentCore Runtime

Stāvokļa MCP klienta iespēju ieviešana Amazon Bedrock AgentCore Runtime ir ievērojams solis uz priekšu AI aģentu izstrādē. Pārveidojot iepriekš bezstāvokļa mijiedarbību par dinamiskām, divvirzienu sarunām, AWS dod izstrādātājiem iespēju veidot inteliģentākas, atsaucīgākas un lietotājam draudzīgākas AI lietojumprogrammas. Šīs iespējas – Ieguve vadītai lietotāja ievadei, Paraugu ņemšana pēc pieprasījuma LLM ģenerēšanai un Progresa paziņojumi reāllaika pārredzamībai – kopīgi paver jaunu interaktīvu aģentu darbplūsmu ēru. Tā kā AI turpina attīstīties, šīs pamatfunkcijas būs izšķirošas, lai radītu sarežģītu aģentu AI operacionalizāciju, kas var nemanāmi integrēties sarežģītos biznesa procesos, pielāgoties lietotāju vajadzībām un nodrošināt izcilu vērtību.

Bieži uzdotie jautājumi

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.

Esiet informēti

Saņemiet jaunākās AI ziņas savā e-pastā.

Dalīties