Code Velocity
AI za preduzeća

Amazon Bedrock: Mogućnosti stanja MCP klijenta na AgentCore Runtime-u

·7 min čitanja·AWS·Originalni izvor
Podeli
Dijagram koji ilustruje mogućnosti stanja MCP klijenta na Amazon Bedrock AgentCore Runtime-u sa interaktivnim tokovima AI agenata.

Unapređenje AI agenata: Prebacivanje na MCP sa stanjem na Amazon Bedrock-u

AI agenti se brzo razvijaju, ali njihov pun potencijal je često bio ometan implementacijama bez stanja, posebno u scenarijima koji zahtevaju interakciju korisnika u realnom vremenu, dinamičko generisanje sadržaja ili stalna ažuriranja napretka. Programeri koji grade sofisticirane AI agente često se suočavaju sa izazovima kada radni tokovi moraju da pauziraju, prikupe pojašnjenja ili prijave status tokom dugotrajnih operacija. Kruta, jednosmerna priroda izvršavanja bez stanja ograničava razvoj istinski interaktivnih i responsivnih AI aplikacija.

Sada, Amazon Bedrock AgentCore Runtime uvodi revolucionarne mogućnosti klijenta Model Context Protocol (MCP) sa stanjem, transformišući način na koji AI agenti komuniciraju sa korisnicima i velikim jezičkim modelima (LLM). Ovo ključno ažuriranje oslobađa agente ograničenja komunikacije bez stanja, omogućavajući složene, višestruke i visoko interaktivne radne tokove. Integracijom ključnih MCP klijentskih funkcija – Elicitacije, Uzorkovanja i Obaveštenja o napretku – Bedrock AgentCore Runtime olakšava dvosmerne razgovore između MCP servera i klijenata, otvarajući put inteligentnijim, korisnički orijentisanim AI rešenjima.

Od bez stanja do sa stanjem: Otključavanje interaktivnih radnih tokova agenata

Prethodno, podrška za MCP server na AgentCore-u je radila u režimu bez stanja, gde je svaki HTTP zahtev funkcionisao nezavisno, lišen bilo kakvog zajedničkog konteksta. Iako je ovo pojednostavilo implementaciju za osnovne serverske alate, to je ozbiljno ograničavalo scenarije koji zahtevaju kontinuitet razgovora, pojašnjenje korisnika tokom radnog toka ili izveštavanje o napretku u realnom vremenu. Server jednostavno nije mogao da održi konverzacijsku nit preko diskretnih zahteva, ometajući razvoj istinski interaktivnih agenata.

Pojava mogućnosti stanja MCP klijenta fundamentalno menja ovu paradigmu. Postavljanjem stateless_http=False tokom pokretanja servera, AgentCore Runtime obezbeđuje namensku mikroVM za svaku korisničku sesiju. Ova mikroVM opstaje tokom trajanja sesije—do 8 sati, ili 15 minuta neaktivnosti po idleRuntimeSessionTimeout podešavanju—osiguravajući izolaciju CPU-a, memorije i sistema datoteka između sesija. Kontinuitet se održava putem Mcp-Session-Id zaglavlja, koje server pruža tokom inicijalizacije i koje klijent uključuje u sve naknadne zahteve kako bi se usmerio nazad na istu sesiju. Ovo namensko, postojano okruženje omogućava agentima da pamte kontekst, traže korisnički unos, generišu dinamički LLM sadržaj i pružaju kontinuirana ažuriranja.

Sledeća tabela sumira ključne razlike između režima bez stanja i režima sa stanjem:

Režim bez stanjaRežim sa stanjem
Podešavanje stateless_httpTRUEFALSE
Izolacija sesijeNamenska mikroVM po sesijiNamenska mikroVM po sesiji
Vek trajanja sesijeDo 8 sati; 15-minutno istekanje neaktivnostiDo 8 sati; 15-minutno istekanje neaktivnosti
Mogućnosti klijentaNije podržanoElicitacija, uzorkovanje, obaveštenja o napretku
Preporučeno zaJednostavno pružanje alataInteraktivni, višestruki radni tokovi

Kada sesija istekne ili se server ponovo pokrene, naknadni zahtevi sa ranijim ID-om sesije će vratiti 404 grešku. U tom trenutku, klijenti moraju ponovo da inicijalizuju vezu kako bi dobili novi ID sesije i započeli novu sesiju. Promena konfiguracije za omogućavanje režima sa stanjem je jedna zastavica pri pokretanju vašeg servera:

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

Pored ove zastavice, tri klijentske mogućnosti postaju automatski dostupne kada MCP klijent izjavi podršku za njih tokom inicijalizacionog rukovanja.

Dublji uvid u nove mogućnosti klijenta: Elicitacija, Uzorkovanje i Napredak

Prelaskom na režim sa stanjem, Amazon Bedrock AgentCore Runtime otključava tri moćne klijentske mogućnosti iz MCP specifikacije, od kojih je svaka dizajnirana da se bavi različitim obrascima interakcije ključnim za napredne AI agente. Ove mogućnosti transformišu ono što je nekada bilo kruto, jednosmerno izvršavanje komandi u fluidan, dvosmerni dijalog između MCP servera i njegovih povezanih klijenata. Važno je napomenuti da su ove funkcije opcione, što znači da klijenti deklarišu svoju podršku tokom inicijalizacije, a serveri moraju koristiti samo one mogućnosti koje je povezani klijent oglasio.

Elicitacija: Omogućavanje dinamičkog korisničkog unosa u AI agentima

Elicitacija predstavlja kamen temeljac interaktivne veštačke inteligencije, omogućavajući MCP serveru da promišljeno pauzira svoje izvršavanje i zatraži specifičan, strukturiran unos od korisnika putem klijenta. Ova sposobnost omogućava alatu da postavlja precizna pitanja u pogodnim trenucima unutar svog radnog toka, bilo da je u pitanju potvrda odluke, prikupljanje korisničkih preferencija ili sakupljanje vrednosti izvedene iz prethodnih operacija. Server ovo inicira slanjem elicitation/create JSON-RPC zahteva, koji uključuje ljudski čitljivu poruku i opcioni requestedSchema koji opisuje očekivanu strukturu odgovora.

MCP specifikacija pruža dva robusna režima za elicitaciju:

  • Formularski režim: Ovo je idealno za prikupljanje strukturiranih podataka direktno putem MCP klijenta, kao što su parametri konfiguracije, korisničke preferencije ili jednostavne potvrde gde osetljivi podaci nisu uključeni.
  • URL režim: Za interakcije koje zahtevaju siguran, van-pojasni proces, poput OAuth tokova, obrade plaćanja ili unosa osetljivih akreditiva, URL režim usmerava korisnika na spoljni URL. Ovo osigurava da osetljive informacije u potpunosti zaobiđu MCP klijent, poboljšavajući sigurnost i usklađenost.

Nakon prijema zahteva za elicitaciju, klijent prikazuje odgovarajući ulazni interfejs. Korisnikova naknadna akcija pokreće model odgovora sa tri akcije nazad serveru: accept (korisnik je pružio tražene podatke), decline (korisnik je eksplicitno odbio zahtev) ili cancel (korisnik je odbacio prompt bez donošenja odluke). Inteligentni serveri su dizajnirani da graciozno rukuju svakim od ovih scenarija, obezbeđujući robusno i korisnički prijateljsko iskustvo. Na primer, alat add_expense_interactive, kao što je demonstrirano u izvornom materijalu, može voditi korisnika kroz niz pitanja—iznos, opis, kategorija i konačna potvrda—pre nego što se podaci proslede pozadinskom sistemu poput Amazon DynamoDB. Svaki korak koristi Pydantic modele za definisanje očekivanog unosa, koje FastMCP besprekorno pretvara u JSON šemu potrebnu za elicitation/create zahtev.

Uzorkovanje i obaveštenja o napretku: Jačanje interakcije LLM-a i transparentnosti

Pored direktne korisničke interakcije, Uzorkovanje (Sampling) oprema MCP server mogućnošću da zahteva sadržaj generisan od strane LLM-a direktno od klijenta putem sampling/createMessage. Ovo je kritičan mehanizam jer omogućava logici alata na serveru da koristi moćne mogućnosti jezičkih modela bez potrebe za upravljanjem sopstvenim LLM akreditivima ili direktnim API integracijama. Server jednostavno pruža prompt i opcione preferencije modela, a klijent, delujući kao posrednik, prosleđuje zahtev svom povezanom LLM-u i vraća generisani odgovor. Ovo otvara mnoštvo praktičnih primena, uključujući kreiranje personalizovanih sažetaka, generisanje objašnjenja na prirodnom jeziku iz strukturiranih podataka ili proizvodnju preporuka svesnih konteksta na osnovu tekućeg razgovora.

Za operacije koje se protežu tokom vremena, Obaveštenja o napretku postaju neprocenjiva. Ova mogućnost omogućava MCP serveru da prijavljuje inkrementalna ažuriranja tokom dugotrajnih zadataka. Korišćenjem ctx.report_progress(progress, total), server može emitovati kontinuirana ažuriranja koja klijenti mogu prevesti u vizuelne povratne informacije, kao što su traka napretka ili indikator statusa. Bilo da se radi o pretraživanju ogromnih izvora podataka ili izvršavanju složenih računarskih zadataka, transparentna ažuriranja napretka osiguravaju da korisnici ostanu informisani, sprečavajući frustraciju i poboljšavajući celokupno korisničko iskustvo, umesto da ih ostave da zure u prazan ekran pitajući se da li je sistem i dalje aktivan.

Obezbeđivanje budućnosti razvoja AI agenata sa Bedrock AgentCore Runtime-om

Uvođenje mogućnosti stanja MCP klijenta na Amazon Bedrock AgentCore Runtime-u predstavlja značajan iskorak u razvoju AI agenata. Transformisanjem prethodno bezstanja interakcija u dinamične, dvosmerne razgovore, AWS osnažuje programere da grade inteligentnije, responsivnije i korisnički prijateljskije AI aplikacije. Ove mogućnosti – Elicitacija za vođeni korisnički unos, Uzorkovanje za LLM generisanje na zahtev, i Obaveštenja o napretku za transparentnost u realnom vremenu – zajedno otključavaju novu eru interaktivnih radnih tokova agenata. Kako se AI nastavlja razvijati, ove temeljne mogućnosti biće ključne za stvaranje sofisticiranog operacionalizujućeg agentskog AI koji se može neprimetno integrisati u složene poslovne procese, prilagoditi se potrebama korisnika i pružiti izuzetnu vrednost.

Često postavljana pitanja

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.

Будите у току

Примајте најновије AI вести на имејл.

Podeli