DI agentų tobulinimas: perėjimas prie būseną palaikančio MCP Amazon Bedrock aplinkoje
DI agentai sparčiai tobulėja, tačiau jų visas potencialas dažnai būdavo ribojamas be būsenos veikiančių diegimų, ypač scenarijuose, reikalaujančiuose realaus laiko vartotojo sąveikos, dinamiško turinio generavimo ar nuolatinių eigos atnaujinimų. Kuriant sudėtingus DI agentus, kūrėjai dažnai susiduria su iššūkiais, kai darbo eigas reikia sustabdyti, surinkti patikslinimus arba pranešti apie būseną ilgai trunkančių operacijų metu. Griežtas, vienpusis be būsenos vykdymo pobūdis riboja iš tiesų interaktyvių ir reaguojančių DI programų kūrimą.
Dabar, Amazon Bedrock AgentCore Runtime pristato novatoriškas būseną palaikančias Modelio konteksto protokolo (MCP) kliento galimybes, keičiančias DI agentų sąveiką su vartotojais ir dideliais kalbos modeliais (LLM). Šis esminis atnaujinimas išlaisvina agentus nuo bendravimo be būsenos apribojimų, įgalindamas sudėtingas, daugiapakopes ir labai interaktyvias darbo eigas. Integruodamas esmines MCP kliento funkcijas – informacijos išsiaiškinimą, atrankos funkciją ir eigos pranešimus – Bedrock AgentCore Runtime palengvina dvipusius pokalbius tarp MCP serverių ir klientų, atverdamas kelią išmanesniems, į vartotoją orientuotiems DI sprendimams.
Nuo be būsenos iki būseną palaikančio: interaktyvių agentų darbo eigų atrakinimas
Anksčiau MCP serverio palaikymas AgentCore veikė be būsenos režimu, kai kiekviena HTTP užklausa veikė nepriklausomai, be jokio bendro konteksto. Nors tai supaprastino diegimą pagrindiniams įrankių serveriams, tai smarkiai apribojo scenarijus, reikalaujančius pokalbio tęstinumo, vartotojo patikslinimų darbo eigos viduryje arba realaus laiko eigos ataskaitų. Serveris tiesiog negalėjo palaikyti pokalbio gijos tarp atskirų užklausų, stabdydamas tikrai interaktyvių agentų kūrimą.
Atsiradus būseną palaikančioms MCP kliento galimybėms, iš esmės pasikeičia ši paradigma. Nustačius stateless_http=False serverio paleidimo metu, AgentCore Runtime kiekvienai vartotojo sesijai numato dedikuotą mikroVM. Ši mikroVM išlieka visą sesijos trukmę – iki 8 valandų arba 15 minučių neveiklumo pagal idleRuntimeSessionTimeout nustatymą – užtikrindama procesoriaus, atminties ir failų sistemos izoliaciją tarp sesijų. Tęstinumas palaikomas per Mcp-Session-Id antraštės lauką, kurį serveris pateikia inicijavimo metu, o klientas įtraukia į visas tolesnes užklausas, kad būtų nukreiptas atgal į tą pačią sesiją. Ši dedikuota, nuolatinė aplinka leidžia agentams prisiminti kontekstą, rinkti vartotojo informaciją, generuoti dinamišką LLM turinį ir teikti nuolatinius atnaujinimus.
Toliau pateiktoje lentelėje apibendrinami pagrindiniai skirtumai tarp be būsenos ir būseną palaikančio režimų:
| Be būsenos režimas | Būseną palaikantis režimas | |
|---|---|---|
stateless_http nustatymas | TRUE | FALSE |
| Sesijos izoliavimas | Dedikuota mikroVM kiekvienai sesijai | Dedikuota mikroVM kiekvienai sesijai |
| Sesijos trukmė | Iki 8 valandų; 15 min. neveiklumo laikas | Iki 8 valandų; 15 min. neveiklumo laikas |
| Kliento galimybės | Nepalaikoma | Informacijos išsiaiškinimas, atrankos funkcija, eigos pranešimai |
| Rekomenduojama | Paprastiems įrankių serveriams | Interaktyvioms, daugiapakopėms darbo eigoms |
Kai sesija baigiasi arba serveris iš naujo paleidžiamas, tolesnės užklausos su ankstesniu sesijos ID grąžins 404 klaidą. Tuomet klientai privalo iš naujo inicijuoti ryšį, kad gautų naują sesijos ID ir pradėtų naują sesiją. Konfigūracijos pakeitimas, leidžiantis įjungti būseną palaikantį režimą, yra vienas žymeklis jūsų serverio paleidimo metu:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Enable stateful mode)
Be šio žymeklio, trys kliento galimybės tampa automatiškai prieinamos, kai MCP klientas deklaruoja jų palaikymą inicijavimo rankos paspaudimo metu.
Gilus naujų kliento galimybių nagrinėjimas: informacijos išsiaiškinimas, atrankos funkcija ir eiga
Perėjus į būseną palaikantį režimą, Amazon Bedrock AgentCore Runtime atrakina tris galingas MCP specifikacijos kliento galimybes, kurių kiekviena skirta atskiriems sąveikos modeliams, kritiškai svarbiems pažangiems DI agentams. Šios galimybės paverčia kadaise standų, vienpusį komandų vykdymą į lankstų, dvipusį dialogą tarp MCP serverio ir jo prijungtų klientų. Svarbu pažymėti, kad šios funkcijos yra pasirenkamos, o tai reiškia, kad klientai deklaruoja savo palaikymą inicijavimo metu, o serveriai turi naudoti tik tas galimybes, kurias prijungtas klientas yra paskelbęs.
Informacijos išsiaiškinimas: dinaminio vartotojo duomenų įvedimo įgalinimas DI agentuose
Informacijos išsiaiškinimas yra interaktyvaus DI pagrindas, leidžiantis MCP serveriui protingai sustabdyti savo vykdymą ir per klientą paprašyti konkrečios, struktūrizuotos informacijos iš vartotojo. Ši galimybė suteikia įrankiui galimybę užduoti tikslius klausimus tinkamais momentais jo darbo eigoje, ar tai būtų sprendimo patvirtinimas, vartotojo nuostatos surinkimas ar vertės, gautos iš ankstesnių operacijų, rinkimas. Serveris tai inicijuoja siųsdamas elicitation/create JSON-RPC užklausą, kurioje yra žmogui suprantamas pranešimas ir pasirinktinis requestedSchema, apibrėžiantis laukiamą atsakymo struktūrą.
MCP specifikacija numato du patikimus informacijos išsiaiškinimo režimus:
- Formos režimas: Tai idealiai tinka struktūrizuotiems duomenims tiesiogiai rinkti per MCP klientą, pvz., konfigūracijos parametrams, vartotojo nuostatoms ar paprastiems patvirtinimams, kai nėra jautrių duomenų.
- URL režimas: Sąveikoms, kurioms reikalingas saugus, išorinis procesas, pvz., OAuth srautai, mokėjimų apdorojimas ar jautrių prisijungimo duomenų įvedimas, URL režimas nukreipia vartotoją į išorinį URL. Tai užtikrina, kad jautri informacija visiškai apeina MCP klientą, didindama saugumą ir atitiktį.
Gavęs informacijos išsiaiškinimo užklausą, klientas atvaizduoja tinkamą įvesties sąsają. Vėlesnis vartotojo veiksmas sukelia trijų veiksmų atsakymo modelį atgal į serverį: accept (vartotojas pateikė prašomus duomenis), decline (vartotojas aiškiai atmetė užklausą) arba cancel (vartotojas atmetė raginimą nepasirinkęs). Išmanieji serveriai yra sukurti taip, kad elegantiškai tvarkytų kiekvieną iš šių scenarijų, užtikrindami patikimą ir patogią vartotojo patirtį. Pavyzdžiui, add_expense_interactive įrankis, kaip parodyta pirminėje medžiagoje, gali nukreipti vartotoją per klausimų seriją – sumą, aprašymą, kategoriją ir galutinį patvirtinimą – prieš įsipareigojant duomenis į galinę sistemą, pvz., Amazon DynamoDB. Kiekviename žingsnyje naudojami Pydantic modeliai, apibrėžiantys laukiamą įvestį, kurią FastMCP sklandžiai paverčia JSON Schema, reikalinga elicitation/create užklausai.
Atrankos funkcija ir eigos pranešimai: LLM sąveikos ir skaidrumo didinimas
Be tiesioginės vartotojo sąveikos, atrankos funkcija suteikia MCP serveriui galimybę prašyti LLM sugeneruoto turinio tiesiogiai iš kliento, naudojant sampling/createMessage. Tai yra kritiškai svarbus mechanizmas, nes jis leidžia įrankio logikai serveryje išnaudoti galingas kalbos modelio galimybes, nereikalaujant valdyti savo LLM prisijungimo duomenų ar tiesioginių API integracijų. Serveris tiesiog pateikia užklausą ir pasirinktines modelio nuostatas klientui, o klientas, veikdamas kaip tarpininkas, persiunčia šią užklausą savo prijungtam LLM ir grąžina sugeneruotą atsakymą. Tai atveria daugybę praktinių pritaikymų, įskaitant suasmenintų santraukų kūrimą, natūralios kalbos paaiškinimų generavimą iš sudėtingų struktūrizuotų duomenų arba konteksto atžvilgiu tinkamų rekomendacijų teikimą, atsižvelgiant į vykstantį pokalbį.
Operacijoms, kurios trunka ilgiau, eigos pranešimai tampa neįkainojami. Ši galimybė leidžia MCP serveriui pranešti apie laipsniškus atnaujinimus ilgai trunkančių užduočių metu. Naudodamas ctx.report_progress(progress, total), serveris gali nuolat teikti atnaujinimus, kuriuos klientai gali paversti vizualiniu grįžtamuoju ryšiu, pvz., eigos juosta arba būsenos indikatoriumi. Ar tai būtų paieška didelėse duomenų bazėse, ar sudėtingų skaičiavimo užduočių vykdymas, skaidrūs eigos atnaujinimai užtikrina, kad vartotojai būtų informuoti, užkertant kelią nusivylimui ir gerinant bendrą vartotojo patirtį, užuot palikus juos spoksoti į tuščią ekraną, galvojant, ar sistema vis dar veikia.
DI agentų kūrimo ateities užtikrinimas su Bedrock AgentCore Runtime
Būseną palaikančių MCP kliento galimybių pristatymas Amazon Bedrock AgentCore Runtime aplinkoje žymi didelį šuolį DI agentų kūrimo srityje. Paversdama anksčiau be būsenos veikiančias sąveikas į dinamiškus, dvipusius pokalbius, AWS suteikia kūrėjams galimybę kurti išmanesnes, labiau reaguojančias ir patogesnes vartotojui DI programas. Šios galimybės – informacijos išsiaiškinimas vadovaujamam vartotojo įvedimui, atrankos funkcija LLM generavimui pagal poreikį ir eigos pranešimai realaus laiko skaidrumui – kartu atveria naują interaktyvių agentų darbo eigų erą. DI toliau tobulėjant, šios pagrindinės galimybės bus itin svarbios kuriant sudėtingą agentinį DI diegimą, kuris galės sklandžiai integruotis į sudėtingus verslo procesus, prisitaikyti prie vartotojo poreikių ir teikti išskirtinę vertę.
Originalus šaltinis
https://aws.amazon.com/blogs/machine-learning/introducing-stateful-mcp-client-capabilities-on-amazon-bedrock-agentcore-runtime/Dažniausiai užduodami klausimai
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?
Būkite informuoti
Gaukite naujausias AI naujienas el. paštu.
