Code Velocity
Корпоративна вештачка интелигенција

Amazon Bedrock: Можности за MCP клиент со состојба на AgentCore Runtime

·7 мин читање·AWS·Оригинален извор
Сподели
Дијаграм кој ги илустрира можностите за MCP клиент со состојба на Amazon Bedrock AgentCore Runtime со интерактивни текови на агенти со вештачка интелигенција.

Подобрување на AI агентите: Премин кон MCP со состојба на Amazon Bedrock

Агентите со вештачка интелигенција брзо се развиваат, но нивниот целосен потенцијал честопати е попречен од имплементации без состојба, особено во сценарија кои бараат интеракција со корисници во реално време, динамично генерирање содржина или тековни ажурирања за напредокот. Програмерите кои градат софистицирани агенти со вештачка интелигенција често се соочуваат со предизвици кога работните текови треба да паузираат, да добијат појаснување или да известат за статусот за време на долготрајни операции. Ригидната, еднонасочна природа на извршување без состојба го ограничува развојот на навистина интерактивни и одговорни апликации со вештачка интелигенција.

Сега, Amazon Bedrock AgentCore Runtime воведува револуционерни можности за клиент со состојба на Model Context Protocol (MCP), трансформирајќи го начинот на кој агентите со вештачка интелигенција комуницираат со корисниците и големите јазични модели (LLM). Ова клучно ажурирање ги ослободува агентите од ограничувањата на комуникацијата без состојба, овозможувајќи комплексни, повеќекратни и високо интерактивни работни текови. Со интегрирање на клучни клиентски функции на MCP – Извлекување информации, Земање примероци и Известувања за напредок – Bedrock AgentCore Runtime овозможува двонасочни разговори помеѓу MCP сервери и клиенти, отворајќи го патот за поинтелигентни, кориснички ориентирани AI решенија.

Од без состојба до со состојба: Отклучување на интерактивни работни текови на агенти

Претходно, поддршката за MCP сервер на AgentCore работеше во режим без состојба, каде што секое HTTP барање функционираше независно, лишено од каков било споделен контекст. Иако ова го поедностави распоредувањето за основни сервери со алатки, тоа сериозно ги ограничи сценаријата кои бараат континуитет на разговор, појаснување од корисникот во средина на работен тек или известување за напредок во реално време. Серверот едноставно не можеше да одржува нишка на разговор преку дискретни барања, попречувајќи го развојот на навистина интерактивни агенти.

Појавата на можностите за MCP клиент со состојба фундаментално ја менува оваа парадигма. Со поставување stateless_http=False за време на стартувањето на серверот, AgentCore Runtime обезбедува посветена microVM за секоја корисничка сесија. Оваа microVM опстојува во текот на траењето на сесијата — до 8 часа, или 15 минути неактивност според поставката idleRuntimeSessionTimeout — осигурувајќи изолација на процесор, меморија и датотечен систем помеѓу сесиите. Континуитетот се одржува преку заглавие Mcp-Session-Id, кое серверот го обезбедува за време на иницијализацијата, а клиентот го вклучува во сите последователни барања за насочување назад кон истата сесија. Ова посветено, перзистентно опкружување им овозможува на агентите да го паметат контекстот, да бараат влез од корисникот, да генерираат динамична LLM содржина и да обезбедуваат континуирани ажурирања.

Следната табела ги сумира клучните разлики помеѓу режимите без состојба и со состојба:

Режим без состојбаРежим со состојба
Поставка stateless_httpTRUEFALSE
Изолација на сесијаПосветена microVM по сесијаПосветена microVM по сесија
Времетраење на сесијаДо 8 часа; 15-мин истек на неактивностДо 8 часа; 15-мин истек на неактивност
Можност за клиентНе е поддржаноИзвлекување информации, земање примероци, известувања за напредок
Препорачано заЕдноставно опслужување алаткиИнтерактивни, повеќекратни работни текови

Кога сесијата ќе истече или серверот ќе се рестартира, последователните барања со претходното ID на сесија ќе вратат 404. Во тој момент, клиентите мора повторно да ја иницијализираат конекцијата за да добијат ново ID на сесија и да започнат нова сесија. Промената на конфигурацијата за овозможување режим со состојба е едно знаменце при стартувањето на вашиот сервер:

mcp.run(
    transport="streamable-http",
    host="0.0.0.0",
    port=8000,
    stateless_http=False # Овозможи режим со состојба
)

Освен ова знаменце, трите можности на клиентот стануваат достапни автоматски откако MCP клиентот ќе ја декларира својата поддршка за нив за време на почетното ракување.

Детален преглед на новите можности на клиентот: Извлекување информации, земање примероци и напредок

Со транзицијата кон режим со состојба, Amazon Bedrock AgentCore Runtime отклучува три моќни можности на клиентот од спецификацијата на MCP, секоја дизајнирана да адресира различни интерактивни обрасци клучни за напредни агенти со вештачка интелигенција. Овие можности го трансформираат она што некогаш беше ригидно, еднонасочно извршување на команди во течен, двонасочен дијалог помеѓу MCP сервер и неговите поврзани клиенти. Важно е да се напомене дека овие функции се изборни, што значи дека клиентите ја декларираат својата поддршка за време на иницијализацијата, а серверите мора да ги користат само оние можности што поврзаниот клиент ги објавил.

Извлекување информации: Овозможување динамичен кориснички влез кај AI агентите

Извлекувањето информации (Elicitation) е камен-темелник на интерактивната вештачка интелигенција, овозможувајќи му на MCP серверот претпазливо да ја паузира својата извршност и да побара специфичен, структуриран влез од корисникот преку клиентот. Оваа способност му овозможува на алатката да поставува прецизни прашања во соодветни моменти во рамките на нејзиниот работен тек, без разлика дали станува збор за потврда на одлука, собирање кориснички преференци или прибирање вредност добиена од претходни операции. Серверот го иницира ова со испраќање elicitation/create JSON-RPC барање, кое вклучува порака читлива за човек и опционална requestedSchema која ја дефинира очекуваната структура на одговорот.

MCP спецификацијата обезбедува два робусни режими за извлекување информации:

  • Режим на форма: Ова е идеално за собирање структурирани податоци директно преку MCP клиентот, како што се параметри за конфигурација, кориснички преференции или едноставни потврди каде што не се вклучени чувствителни податоци.
  • Режим на URL: За интеракции кои бараат безбеден, надворешен процес, како што се OAuth текови, обработка на плаќања или внесување чувствителни акредитиви, URL режимот го насочува корисникот кон надворешен URL. Ова осигурува дека чувствителните информации целосно го заобиколуваат MCP клиентот, подобрувајќи ја безбедноста и усогласеноста.

По примањето на барање за извлекување информации, клиентот прикажува соодветен влезен интерфејс. Последователното дејство на корисникот предизвикува модел на одговор со три дејства назад до серверот: accept (корисникот ги обезбедил бараните податоци), decline (корисникот експлицитно го одбил барањето) или cancel (корисникот го отфрлил прозорецот без да направи избор). Интелигентните сервери се дизајнирани да се справат со секое од овие сценарија елегантно, обезбедувајќи робусно и корисничко искуство. На пример, алатката add_expense_interactive, како што е демонстрирано во изворниот материјал, може да го води корисникот низ серија прашања – износ, опис, категорија и конечна потврда – пред да ги пренесе податоците во заднинска база како Amazon DynamoDB. Секој чекор користи Pydantic модели за да го дефинира очекуваниот влез, кој FastMCP беспрекорно го конвертира во JSON шемата потребна за elicitation/create барањето.

Земање примероци и известувања за напредок: Подобрување на интеракцијата и транспарентноста на LLM

Освен директната интеракција со корисникот, Земањето примероци (Sampling) го опремува MCP серверот со способност да побара содржина генерирана од LLM директно од клиентот преку sampling/createMessage. Ова е клучен механизам бидејќи овозможува логиката на алатката на серверот да ги искористи моќните способности на јазичниот модел без потреба да управува со сопствени LLM акредитиви или директни API интеграции. Серверот едноставно обезбедува повик и опционални преференции за моделот, а клиентот, дејствувајќи како посредник, го препраќа барањето до неговиот поврзан LLM и го враќа генерираниот одговор. Ова отвора безброј практични примени, вклучувајќи креирање персонализирани резимеа, генерирање објаснувања на природен јазик од структурирани податоци или продуцирање препораки свесни за контекстот врз основа на тековниот разговор.

За операции кои траат подолго, Известувањата за напредок стануваат бесценети. Оваа способност му овозможува на MCP серверот да известува за инкрементални ажурирања за време на долготрајни задачи. Со користење на ctx.report_progress(progress, total), серверот може да емитува континуирани ажурирања кои клиентите можат да ги преведат во визуелни повратни информации, како што е лента за напредок или индикатор за статус. Без разлика дали станува збор за пребарување низ огромни извори на податоци или извршување сложени компјутерски задачи, транспарентните ажурирања за напредокот осигуруваат дека корисниците остануваат информирани, спречувајќи фрустрација и подобрувајќи го целокупното корисничко искуство, наместо да ги остави да гледаат во празен екран прашувајќи се дали системот е сè уште активен.

Обезбедување на иднината на развојот на AI агенти со Bedrock AgentCore Runtime

Воведувањето на можностите за MCP клиент со состојба на Amazon Bedrock AgentCore Runtime претставува значаен исчекор напред во развојот на AI агенти. Со трансформирање на претходно безсостојбените интеракции во динамични, двонасочни разговори, AWS им овозможува на програмерите да градат поинтелигентни, поодговорни и попријателски настроени AI апликации. Овие способности – Извлекување информации за насочен кориснички влез, Земање примероци за генерирање LLM на барање и Известувања за напредок за транспарентност во реално време – колективно отклучуваат нова ера на интерактивни работни текови на агенти. Како што вештачката интелигенција продолжува да се развива, овие основни способности ќе бидат клучни за создавање софистицирани операционализација на агентска вештачка интелигенција која може беспрекорно да се интегрира во сложени деловни процеси, да се прилагоди на потребите на корисниците и да испорача исклучителна вредност.

Често поставувани прашања

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 вести на е-пошта.

Сподели