Code Velocity
هوش مصنوعی سازمانی

Amazon Bedrock: قابلیت‌های کلاینت Stateful MCP در AgentCore Runtime

·7 دقیقه مطالعه·AWS·منبع اصلی
اشتراک‌گذاری
نموداری که قابلیت‌های کلاینت stateful MCP را در Amazon Bedrock AgentCore Runtime با جریان‌های عامل هوش مصنوعی تعاملی نشان می‌دهد.

فراتر از این پرچم، سه قابلیت کلاینت به محض اینکه کلاینت MCP پشتیبانی خود را برای آنها در طول دست‌دهی اولیه اعلام کند، به طور خودکار در دسترس قرار می‌گیرند.

بررسی عمیق قابلیت‌های جدید کلاینت: استخراج اطلاعات (Elicitation)، نمونه‌برداری (Sampling) و پیشرفت (Progress)

با گذار به حالت باحالت، Amazon Bedrock AgentCore Runtime سه قابلیت قدرتمند کلاینت را از مشخصات MCP فعال می‌کند که هر یک برای پرداختن به الگوهای تعاملی متمایز و حیاتی برای عوامل هوش مصنوعی پیشرفته طراحی شده‌اند. این قابلیت‌ها چیزی را که زمانی یک اجرای فرمان سفت و سخت و یک‌طرفه بود، به یک دیالوگ روان و دوطرفه بین یک سرور MCP و کلاینت‌های متصل به آن تبدیل می‌کنند. مهم است توجه داشته باشید که این ویژگی‌ها انتخابی (opt-in) هستند، به این معنی که کلاینت‌ها پشتیبانی خود را در طول مقداردهی اولیه اعلام می‌کنند و سرورها فقط باید از قابلیت‌هایی استفاده کنند که کلاینت متصل آنها را تبلیغ کرده است.

استخراج اطلاعات (Elicitation): فعال کردن ورودی پویا کاربر در عوامل هوش مصنوعی

استخراج اطلاعات (Elicitation) به عنوان سنگ بنای هوش مصنوعی تعاملی عمل می‌کند و به سرور MCP اجازه می‌دهد تا با هوشمندی اجرای خود را متوقف کرده و ورودی ساختاریافته و مشخصی را از کاربر از طریق کلاینت درخواست کند. این قابلیت به ابزار امکان می‌دهد در لحظات مناسب در گردش کار خود، سؤالات دقیقی بپرسد، چه برای تأیید یک تصمیم باشد، چه برای جمع‌آوری یک ترجیح کاربر، یا جمع‌آوری یک مقدار که از عملیات‌های قبلی مشتق شده است. سرور این کار را با ارسال یک درخواست JSON-RPC elicitation/create آغاز می‌کند که شامل یک پیام قابل خواندن توسط انسان و یک requestedSchema اختیاری است که ساختار پاسخ مورد انتظار را مشخص می‌کند.

مشخصات MCP دو حالت قوی برای استخراج اطلاعات فراهم می‌کند:

  • حالت فرم (Form mode): این حالت برای جمع‌آوری مستقیم داده‌های ساختاریافته از طریق کلاینت MCP ایده‌آل است، مانند پارامترهای پیکربندی، ترجیحات کاربر، یا تأییدیه‌های ساده که داده‌های حساس در آنها دخیل نیست.
  • حالت URL (URL mode): برای تعاملاتی که نیازمند یک فرآیند ایمن و خارج از باند هستند، مانند جریان‌های OAuth، پردازش پرداخت، یا ورود اعتبارنامه‌های حساس، حالت URL کاربر را به یک URL خارجی هدایت می‌کند. این امر تضمین می‌کند که اطلاعات حساس به طور کامل از کلاینت MCP عبور نکنند، و امنیت و انطباق را افزایش می‌دهد.

پس از دریافت درخواست استخراج اطلاعات، کلاینت یک رابط ورودی مناسب را ارائه می‌دهد. اقدام بعدی کاربر یک مدل پاسخ سه عملی را به سرور بازمی‌گرداند: accept (کاربر داده‌های درخواستی را ارائه کرده است)، decline (کاربر صریحاً درخواست را رد کرده است)، یا cancel (کاربر پیام را بدون انتخاب رد کرده است). سرورهای هوشمند طراحی شده‌اند تا هر یک از این سناریوها را با ظرافت مدیریت کنند و تجربه‌ای قوی و کاربرپسند را تضمین نمایند. به عنوان مثال، یک ابزار add_expense_interactive، همانطور که در ماده منبع نشان داده شده است، می‌تواند کاربر را از طریق مجموعه‌ای از سؤالات – مبلغ، توضیحات، دسته و تأیید نهایی – قبل از ثبت داده‌ها در یک بک‌اند مانند Amazon DynamoDB راهنمایی کند. هر مرحله از مدل‌های Pydantic برای تعریف ورودی مورد انتظار استفاده می‌کند، که FastMCP به طور یکپارچه آن را به JSON Schema مورد نیاز برای درخواست elicitation/create تبدیل می‌کند.

نمونه‌برداری (Sampling) و اعلان‌های پیشرفت (Progress Notifications): افزایش تعامل LLM و شفافیت

فراتر از تعامل مستقیم کاربر، نمونه‌برداری (Sampling) سرور MCP را با قابلیت درخواست محتوای تولید شده توسط مدل زبان بزرگ (LLM) به صورت مستقیم از کلاینت از طریق sampling/createMessage مجهز می‌کند. این یک مکانیزم حیاتی است زیرا به منطق ابزار در سرور اجازه می‌دهد تا از قابلیت‌های قدرتمند مدل زبان بدون نیاز به مدیریت اعتبارنامه‌های LLM خود یا ادغام‌های مستقیم API استفاده کند. سرور به سادگی یک پرامپت و ترجیحات مدل اختیاری را ارائه می‌دهد، و کلاینت، به عنوان یک واسطه عمل کرده، درخواست را به LLM متصل خود ارسال می‌کند و پاسخ تولید شده را بازمی‌گرداند. این امر مجموعه‌ای از کاربردهای عملی را باز می‌کند، از جمله ایجاد خلاصه‌های شخصی‌سازی‌شده، تولید توضیحات به زبان طبیعی از داده‌های ساختاریافته پیچیده، یا ارائه توصیه‌های آگاه به زمینه بر اساس مکالمه در حال انجام.

برای عملیاتی که در طول زمان گسترش می‌یابند، اعلان‌های پیشرفت (Progress Notifications) بسیار ارزشمند می‌شوند. این قابلیت به سرور MCP اجازه می‌دهد تا به‌روزرسانی‌های افزایشی را در طول کارهای طولانی‌مدت گزارش دهد. با استفاده از ctx.report_progress(progress, total)، سرور می‌تواند به‌روزرسانی‌های مداومی را ارسال کند که کلاینت‌ها می‌توانند آنها را به بازخورد بصری، مانند نوار پیشرفت یا نشانگر وضعیت، ترجمه کنند. چه در حال جستجو در میان منابع داده وسیع باشد یا اجرای کارهای محاسباتی پیچیده، به‌روزرسانی‌های پیشرفت شفاف تضمین می‌کند که کاربران مطلع باقی می‌مانند، از ناامیدی جلوگیری کرده و تجربه کلی کاربر را بهبود می‌بخشند، به جای اینکه آنها را در حال خیره شدن به یک صفحه خالی و تعجب از فعال بودن سیستم رها کند.

آینده‌نگری در توسعه عوامل هوش مصنوعی با Bedrock AgentCore Runtime

معرفی قابلیت‌های کلاینت stateful MCP در Amazon Bedrock AgentCore Runtime یک جهش قابل توجه در توسعه عوامل هوش مصنوعی را نشان می‌دهد. با تبدیل تعاملات بی‌حالت قبلی به مکالمات پویا و دوطرفه، AWS توسعه‌دهندگان را قادر می‌سازد تا برنامه‌های هوش مصنوعی هوشمندتر، پاسخگوتر و کاربرپسندتر بسازند. این قابلیت‌ها – استخراج اطلاعات (Elicitation) برای ورودی کاربر هدایت‌شده، نمونه‌برداری (Sampling) برای تولید LLM در صورت تقاضا، و اعلان‌های پیشرفت (Progress Notifications) برای شفافیت در لحظه – به طور جمعی عصر جدیدی از گردش کارهای عامل تعاملی را گشوده‌اند. همانطور که هوش مصنوعی به تکامل خود ادامه می‌دهد، این قابلیت‌های بنیادی برای ایجاد هوش مصنوعی عاملی عملیاتی شده پیچیده که می‌تواند به طور یکپارچه در فرآیندهای تجاری پیچیده ادغام شود، با نیازهای کاربر سازگار شود و ارزش فوق‌العاده‌ای ارائه دهد، حیاتی خواهند بود.

سوالات متداول

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.

به‌روز بمانید

آخرین اخبار هوش مصنوعی را در ایمیل خود دریافت کنید.

اشتراک‌گذاری