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 stanja | Režim sa stanjem | |
|---|---|---|
Podešavanje stateless_http | TRUE | FALSE |
| Izolacija sesije | Namenska mikroVM po sesiji | Namenska mikroVM po sesiji |
| Vek trajanja sesije | Do 8 sati; 15-minutno istekanje neaktivnosti | Do 8 sati; 15-minutno istekanje neaktivnosti |
| Mogućnosti klijenta | Nije podržano | Elicitacija, uzorkovanje, obaveštenja o napretku |
| Preporučeno za | Jednostavno pružanje alata | Interaktivni, 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.
Originalni izvor
https://aws.amazon.com/blogs/machine-learning/introducing-stateful-mcp-client-capabilities-on-amazon-bedrock-agentcore-runtime/Često postavljana pitanja
What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
How does the transition from stateless to stateful mode work on AgentCore Runtime?
What is Elicitation, and how does it enhance AI agent interactions?
How does Sampling capability benefit AI agents without managing LLM credentials?
Будите у току
Примајте најновије AI вести на имејл.
