Forbedring af AI-agenter: Skiftet til Stateful MCP på Amazon Bedrock
AI-agenter udvikler sig hurtigt, men deres fulde potentiale er ofte blevet hæmmet af stateless implementeringer, især i scenarier, der kræver realtids-brugerinteraktion, dynamisk indholdsgenerering eller løbende statusopdateringer. Udviklere, der bygger sofistikerede AI-agenter, står ofte over for udfordringer, når arbejdsgange skal pauses, indhente afklaring eller rapportere status under langvarige operationer. Den stive, envejs-karakter af stateless udførelse begrænser udviklingen af ægte interaktive og responsive AI-applikationer.
Nu introducerer Amazon Bedrock AgentCore Runtime banebrydende stateful Model Context Protocol (MCP)-klientfunktioner, der transformerer, hvordan AI-agenter interagerer med brugere og store sprogmodeller (LLM'er). Denne afgørende opdatering frigør agenter fra begrænsningerne ved stateless kommunikation, hvilket muliggør komplekse, flertrins- og meget interaktive arbejdsgange. Ved at integrere afgørende MCP-klientfunktioner – Elicitering, Sampling og Fremdriftsmeddelelser – letter Bedrock AgentCore Runtime tovejskommunikation mellem MCP-servere og klienter, hvilket baner vejen for mere intelligente, brugercentrerede AI-løsninger.
Fra Stateless til Stateful: Lås op for interaktive agent-arbejdsgange
Tidligere opererede MCP-serversupport på AgentCore i en stateless tilstand, hvor hver HTTP-anmodning fungerede uafhængigt, blottet for enhver delt kontekst. Selvom dette forenklede implementeringen for grundlæggende værktøjsservere, begrænsede det alvorligt scenarier, der krævede samtalekontinuitet, brugerafklaring midt i arbejdsgangen eller realtidsfremdriftsrapportering. Serveren kunne simpelthen ikke opretholde en samtaletråd på tværs af diskrete anmodninger, hvilket hæmmede udviklingen af ægte interaktive agenter.
Fremkomsten af stateful MCP-klientfunktioner ændrer fundamentalt dette paradigme. Ved at indstille stateless_http=False under serveropstart provisionerer AgentCore Runtime en dedikeret microVM til hver brugersession. Denne microVM varer ved i hele sessionens varighed – op til 8 timer, eller 15 minutter med inaktivitet pr. idleRuntimeSessionTimeout-indstilling – hvilket sikrer CPU-, hukommelses- og filsystemisolation mellem sessioner. Kontinuitet opretholdes via en Mcp-Session-Id header, som serveren leverer under initialisering, og klienten inkluderer i alle efterfølgende anmodninger for at dirigere tilbage til den samme session. Dette dedikerede, vedvarende miljø gør det muligt for agenter at huske kontekst, anmode om brugerinput, generere dynamisk LLM-indhold og levere løbende opdateringer.
Den følgende tabel opsummerer de vigtigste forskelle mellem stateless og stateful tilstande:
| Stateless tilstand | Stateful tilstand | |
|---|---|---|
stateless_http-indstilling | TRUE | FALSE |
| Sessionsisolation | Dedikeret microVM per session | Dedikeret microVM per session |
| Sessionens levetid | Op til 8 timer; 15-min inaktivitetstimeout | Op til 8 timer; 15-min inaktivitetstimeout |
| Klientfunktioner | Ikke understøttet | Elicitering, sampling, fremdriftsmeddelelser |
| Anbefales til | Enkel værktøjsservice | Interaktive flertrins-arbejdsgange |
Når en session udløber, eller serveren genstartes, vil efterfølgende anmodninger med det tidligere sessions-ID returnere en 404. På dette tidspunkt skal klienter geninitialisere forbindelsen for at opnå et nyt sessions-ID og starte en frisk session. Konfigurationsændringen for at aktivere stateful tilstand er et enkelt flag i din serveropstart:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Enable stateful mode)
Ud over dette flag bliver de tre klientfunktioner automatisk tilgængelige, så snart MCP-klienten erklærer support for dem under initialiserings-handshaket.
Dybtgående kig på nye klientfunktioner: Elicitering, Sampling og Fremdrift
Med overgangen til stateful tilstand låser Amazon Bedrock AgentCore Runtime op for tre kraftfulde klientfunktioner fra MCP-specifikationen, hver især designet til at adressere særskilte interaktionsmønstre, der er afgørende for avancerede AI-agenter. Disse funktioner transformerer, hvad der engang var en stiv, envejs kommandoeksekvering, til en flydende tovejsdialog mellem en MCP-server og dens tilsluttede klienter. Det er vigtigt at bemærke, at disse funktioner er opt-in, hvilket betyder, at klienter erklærer deres support under initialisering, og servere må kun udnytte funktioner, som den tilsluttede klient har annonceret.
Elicitering: Aktivering af dynamisk brugerinput i AI-agenter
Elicitering står som en hjørnesten i interaktiv AI, hvilket gør det muligt for en MCP-server intelligent at pause sin udførelse og anmode om specifikt, struktureret input fra brugeren via klienten. Denne funktion giver værktøjet mulighed for at stille præcise spørgsmål på passende tidspunkter inden for dets arbejdsgang, hvad enten det er for at bekræfte en beslutning, indsamle en brugerpræference eller indhente en værdi afledt af forudgående operationer. Serveren initierer dette ved at sende en elicitation/create JSON-RPC-anmodning, som inkluderer en læsbar besked og et valgfrit requestedSchema, der afgrænser den forventede svarstruktur.
MCP-specifikationen giver to robuste tilstande for elicitering:
- Formtilstand: Dette er ideelt til indsamling af strukturerede data direkte via MCP-klienten, såsom konfigurationsparametre, brugerpræferencer eller simple bekræftelser, hvor følsomme data ikke er involveret.
- URL-tilstand: Til interaktioner, der nødvendiggør en sikker, out-of-band proces, som OAuth-flows, betalingsbehandling eller indtastning af følsomme legitimationsoplysninger, dirigerer URL-tilstand brugeren til en ekstern URL. Dette sikrer, at følsom information helt omgår MCP-klienten, hvilket forbedrer sikkerhed og overholdelse.
Ved modtagelse af en elicitationsanmodning gengiver klienten en passende inputgrænseflade. Brugerens efterfølgende handling udløser en svarmodel med tre handlinger tilbage til serveren: accept (brugeren har leveret de anmodede data), decline (brugeren har udtrykkeligt afvist anmodningen), eller cancel (brugeren har afvist prompten uden at træffe et valg). Intelligente servere er designet til at håndtere hvert af disse scenarier elegant, hvilket sikrer en robust og brugervenlig oplevelse. For eksempel kan et add_expense_interactive-værktøj, som demonstreret i kildematerialet, guide en bruger gennem en række spørgsmål – beløb, beskrivelse, kategori og endelig bekræftelse – før data committes til en backend som Amazon DynamoDB. Hvert trin udnytter Pydantic-modeller til at definere det forventede input, som FastMCP problemfrit konverterer til det JSON-skema, der kræves til elicitation/create-anmodningen.
Sampling og fremdriftsmeddelelser: Forbedring af LLM-interaktion og gennemsigtighed
Ud over direkte brugerinteraktion udstyrer Sampling MCP-serveren med muligheden for at anmode om LLM-genereret indhold direkte fra klienten via sampling/createMessage. Dette er en kritisk mekanisme, da den gør det muligt for værktøjslogikken på serveren at udnytte kraftfulde sprogmodel-funktioner uden at skulle håndtere sine egne LLM-legitimationsoplysninger eller direkte API-integrationer. Serveren leverer simpelthen en prompt og valgfri modelpræferencer, og klienten, der fungerer som en mellemmand, videresender anmodningen til sin tilsluttede LLM og returnerer det genererede svar. Dette åbner op for et utal af praktiske applikationer, herunder udarbejdelse af personaliserede resumeer, generering af naturlige sprogforklaringer fra strukturerede data eller produktion af kontekstbevidste anbefalinger baseret på den igangværende samtale.
For operationer, der strækker sig over tid, bliver Fremdriftsmeddelelser uvurderlige. Denne funktion gør det muligt for en MCP-server at rapportere inkrementelle opdateringer under langvarige opgaver. Ved at bruge ctx.report_progress(progress, total) kan serveren udsende løbende opdateringer, som klienter kan omsætte til visuel feedback, såsom en statuslinje eller en statusindikator. Uanset om det er søgning på tværs af store datakilder eller udførelse af komplekse beregningsopgaver, sikrer gennemsigtige fremdriftsopdateringer, at brugere forbliver informerede, forhindrer frustration og forbedrer den samlede brugeroplevelse, i stedet for at lade dem stirre på en tom skærm og undre sig over, om systemet stadig er aktivt.
Fremtidssikring af AI-agentudvikling med Bedrock AgentCore Runtime
Introduktionen af stateful MCP-klientfunktioner på Amazon Bedrock AgentCore Runtime repræsenterer et betydeligt skridt fremad inden for AI-agentudvikling. Ved at omdanne tidligere stateless interaktioner til dynamiske, tovejskommunikationer, giver AWS udviklere mulighed for at bygge mere intelligente, responsive og brugervenlige AI-applikationer. Disse funktioner – Elicitering for guidet brugerinput, Sampling for on-demand LLM-generering og Fremdriftsmeddelelser for realtids-gennemsigtighed – låser samlet op for en ny æra af interaktive agentarbejdsgange. Efterhånden som AI fortsætter med at udvikle sig, vil disse grundlæggende funktioner være afgørende for at skabe sofistikeret operationalisering af agentisk AI, der problemfrit kan integreres i komplekse forretningsprocesser, tilpasse sig brugerbehov og levere exceptionel værdi.
Ofte stillede spørgsmål
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?
Hold dig opdateret
Få de seneste AI-nyheder i din indbakke.
