Code Velocity
Επιχειρηματική Τεχνητή Νοημοσύνη

Amazon Bedrock: Δυνατότητες Πελάτη MCP με Κατάσταση στην Εκτέλεση AgentCore

·7 λεπτά ανάγνωσης·AWS·Αρχική πηγή
Κοινοποίηση
Διάγραμμα που απεικονίζει τις δυνατότητες πελάτη MCP με κατάσταση στο Amazon Bedrock AgentCore Runtime με διαδραστικές ροές πρακτόρων ΤΝ.

Βελτίωση των πρακτόρων ΤΝ: Η μετάβαση σε Stateful MCP στο Amazon Bedrock

Οι πράκτορες ΤΝ εξελίσσονται ταχύτατα, ωστόσο το πλήρες δυναμικό τους έχει συχνά παρεμποδιστεί από υλοποιήσεις χωρίς κατάσταση, ιδιαίτερα σε σενάρια που απαιτούν αλληλεπίδραση χρήστη σε πραγματικό χρόνο, δυναμική δημιουργία περιεχομένου ή συνεχή ενημέρωση προόδου. Οι προγραμματιστές που δημιουργούν εξελιγμένους πράκτορες ΤΝ αντιμετωπίζουν συχνά προκλήσεις όταν οι ροές εργασίας πρέπει να διακοπούν, να συλλέξουν διευκρινίσεις ή να αναφέρουν την κατάσταση κατά τη διάρκεια χρονοβόρων λειτουργιών. Η άκαμπτη, μονόδρομη φύση της εκτέλεσης χωρίς κατάσταση περιορίζει την ανάπτυξη πραγματικά διαδραστικών και ανταποκρινόμενων εφαρμογών ΤΝ.

Τώρα, το Amazon Bedrock AgentCore Runtime εισάγει πρωτοποριακές δυνατότητες πελάτη Model Context Protocol (MCP) με κατάσταση, μεταμορφώνοντας τον τρόπο με τον οποίο οι πράκτορες ΤΝ αλληλεπιδρούν με τους χρήστες και τα μεγάλα γλωσσικά μοντέλα (LLM). Αυτή η κομβική ενημέρωση απελευθερώνει τους πράκτορες από τους περιορισμούς της επικοινωνίας χωρίς κατάσταση, επιτρέποντας σύνθετες, πολλαπλών βημάτων και ιδιαίτερα διαδραστικές ροές εργασίας. Με την ενσωμάτωση κρίσιμων λειτουργιών πελάτη MCP – Διερεύνηση, Δειγματοληψία και Ειδοποιήσεις Προόδου – το Bedrock AgentCore Runtime διευκολύνει τις αμφίδρομες συνομιλίες μεταξύ διακομιστών και πελατών MCP, ανοίγοντας τον δρόμο για πιο έξυπνες, ανθρωποκεντρικές λύσεις ΤΝ.

Από χωρίς Κατάσταση σε με Κατάσταση: Ξεκλειδώνοντας τις Διαδραστικές Ροές Εργασίας Πρακτόρων

Προηγουμένως, η υποστήριξη διακομιστή MCP στο AgentCore λειτουργούσε σε λειτουργία χωρίς κατάσταση, όπου κάθε αίτημα HTTP λειτουργούσε ανεξάρτητα, χωρίς κανένα κοινό πλαίσιο. Ενώ αυτό απλοποιούσε την ανάπτυξη για βασικούς διακομιστές εργαλείων, περιόριζε σοβαρά σενάρια που απαιτούσαν συνέχεια συνομιλίας, διευκρίνιση χρήστη εν μέσω ροής εργασίας ή αναφορά προόδου σε πραγματικό χρόνο. Ο διακομιστής απλά δεν μπορούσε να διατηρήσει ένα νήμα συνομιλίας σε διακριτά αιτήματα, εμποδίζοντας την ανάπτυξη πραγματικά διαδραστικών πρακτόρων.

Η έλευση των δυνατοτήτων πελάτη MCP με κατάσταση αλλάζει θεμελιωδώς αυτό το παράδειγμα. Με τον ορισμό του stateless_http=False κατά την εκκίνηση του διακομιστή, το AgentCore Runtime παρέχει ένα αποκλειστικό microVM για κάθε περίοδο λειτουργίας χρήστη. Αυτό το microVM παραμένει καθ' όλη τη διάρκεια της περιόδου λειτουργίας – έως και 8 ώρες, ή 15 λεπτά αδράνειας ανά ρύθμιση idleRuntimeSessionTimeout – διασφαλίζοντας την απομόνωση CPU, μνήμης και συστήματος αρχείων μεταξύ των περιόδων λειτουργίας. Η συνέχεια διατηρείται μέσω μιας κεφαλίδας Mcp-Session-Id, την οποία παρέχει ο διακομιστής κατά την αρχικοποίηση και ο πελάτης συμπεριλαμβάνει σε όλα τα επακόλουθα αιτήματα για να δρομολογηθούν πίσω στην ίδια περίοδο λειτουργίας. Αυτό το αποκλειστικό, επίμονο περιβάλλον επιτρέπει στους πράκτορες να θυμούνται το πλαίσιο, να ζητούν είσοδο χρήστη, να δημιουργούν δυναμικό περιεχόμενο LLM και να παρέχουν συνεχείς ενημερώσεις.

Ο παρακάτω πίνακας συνοψίζει τις βασικές διαφορές μεταξύ των λειτουργιών χωρίς κατάσταση και με κατάσταση:

Λειτουργία χωρίς κατάστασηΛειτουργία με κατάσταση
Ρύθμιση stateless_httpTRUEFALSE
Απομόνωση περιόδου λειτουργίαςΑποκλειστικό microVM ανά περίοδο λειτουργίαςΑποκλειστικό microVM ανά περίοδο λειτουργίας
Διάρκεια περιόδου λειτουργίαςΈως 8 ώρες· 15 λεπτά αδράνειαςΈως 8 ώρες· 15 λεπτά αδράνειας
Δυνατότητες πελάτηΔεν υποστηρίζεταιΔιερεύνηση, δειγματοληψία, ειδοποιήσεις προόδου
Συνιστάται γιαΑπλή εξυπηρέτηση εργαλείωνΔιαδραστικές ροές εργασίας πολλαπλών βημάτων

Όταν μια περίοδος λειτουργίας λήξει ή ο διακομιστής επανεκκινηθεί, τα επακόλουθα αιτήματα με το παλιό αναγνωριστικό περιόδου λειτουργίας θα επιστρέψουν ένα 404. Σε εκείνο το σημείο, οι πελάτες πρέπει να επανεκκινήσουν τη σύνδεση για να λάβουν ένα νέο αναγνωριστικό περιόδου λειτουργίας και να ξεκινήσουν μια νέα περίοδο λειτουργίας. Η αλλαγή παραμέτρων για την ενεργοποίηση της λειτουργίας με κατάσταση είναι μια απλή σημαία στην εκκίνηση του διακομιστή σας:

mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Enable stateful mode)

Πέρα από αυτή τη σημαία, οι τρεις δυνατότητες πελάτη γίνονται διαθέσιμες αυτόματα μόλις ο πελάτης MCP δηλώσει την υποστήριξή του για αυτές κατά την αρχική επικοινωνία.

Σε βάθος ανάλυση των Νέων Δυνατοτήτων Πελάτη: Διερεύνηση, Δειγματοληψία και Πρόοδος

Με τη μετάβαση στη λειτουργία με κατάσταση, το Amazon Bedrock AgentCore Runtime ξεκλειδώνει τρεις ισχυρές δυνατότητες πελάτη από την προδιαγραφή MCP, καθεμία σχεδιασμένη να αντιμετωπίζει διακριτά πρότυπα αλληλεπίδρασης κρίσιμα για προηγμένους πράκτορες ΤΝ. Αυτές οι δυνατότητες μετατρέπουν αυτό που ήταν κάποτε μια άκαμπτη, μονόδρομη εκτέλεση εντολών σε έναν ρευστό, αμφίδρομο διάλογο μεταξύ ενός διακομιστή MCP και των συνδεδεμένων πελατών του. Είναι σημαντικό να σημειωθεί ότι αυτές οι λειτουργίες είναι προαιρετικές (opt-in), πράγμα που σημαίνει ότι οι πελάτες δηλώνουν την υποστήριξή τους κατά την αρχικοποίηση, και οι διακομιστές πρέπει να χρησιμοποιούν μόνο δυνατότητες που έχει διαφημίσει ο συνδεδεμένος πελάτης.

Διερεύνηση: Ενεργοποίηση Δυναμικής Εισόδου Χρήστη σε Πράκτορες ΤΝ

Η Διερεύνηση αποτελεί ακρογωνιαίο λίθο της διαδραστικής ΤΝ, επιτρέποντας σε έναν διακομιστή MCP να διακόπτει συνετά την εκτέλεσή του και να ζητά συγκεκριμένη, δομημένη είσοδο απευθείας από τον χρήστη μέσω του πελάτη. Αυτή η δυνατότητα δίνει στο εργαλείο τη δυνατότητα να θέτει ακριβείς ερωτήσεις σε κατάλληλες στιγμές εντός της ροής εργασίας του, είτε πρόκειται για επιβεβαίωση μιας απόφασης, συλλογή προτίμησης χρήστη ή συλλογή μιας τιμής που προκύπτει από προηγούμενες λειτουργίες. Ο διακομιστής το ξεκινά στέλνοντας ένα αίτημα JSON-RPC elicitation/create, το οποίο περιλαμβάνει ένα αναγνώσιμο από τον άνθρωπο μήνυμα και ένα προαιρετικό requestedSchema που οριοθετεί την αναμενόμενη δομή απάντησης.

Η προδιαγραφή MCP παρέχει δύο ισχυρές λειτουργίες για διερεύνηση:

  • Λειτουργία Φόρμας (Form mode): Αυτή είναι ιδανική για τη συλλογή δομημένων δεδομένων απευθείας μέσω του πελάτη MCP, όπως παραμέτρους διαμόρφωσης, προτιμήσεις χρήστη ή απλές επιβεβαιώσεις όπου δεν εμπλέκονται ευαίσθητα δεδομένα.
  • Λειτουργία URL (URL mode): Για αλληλεπιδράσεις που απαιτούν μια ασφαλή, εκτός-ταινίας διαδικασία, όπως ροές OAuth, επεξεργασία πληρωμών ή εισαγωγή ευαίσθητων διαπιστευτηρίων, η λειτουργία URL κατευθύνει τον χρήστη σε μια εξωτερική διεύθυνση URL. Αυτό διασφαλίζει ότι οι ευαίσθητες πληροφορίες παρακάμπτουν εντελώς τον πελάτη MCP, βελτιώνοντας την ασφάλεια και τη συμμόρφωση.

Με τη λήψη ενός αιτήματος διερεύνησης, ο πελάτης εμφανίζει μια κατάλληλη διεπαφή εισόδου. Η επακόλουθη ενέργεια του χρήστη ενεργοποιεί ένα μοντέλο απάντησης τριών ενεργειών πίσω στον διακομιστή: accept (ο χρήστης παρείχε τα ζητούμενα δεδομένα), decline (ο χρήστης απέρριψε ρητά το αίτημα) ή cancel (ο χρήστης απέρριψε το μήνυμα χωρίς να κάνει επιλογή). Οι έξυπνοι διακομιστές έχουν σχεδιαστεί για να χειρίζονται καθένα από αυτά τα σενάρια με χάρη, διασφαλίζοντας μια ισχυρή και φιλική προς τον χρήστη εμπειρία. Για παράδειγμα, ένα εργαλείο add_expense_interactive, όπως παρουσιάζεται στο πρωτότυπο υλικό, μπορεί να καθοδηγήσει έναν χρήστη μέσω μιας σειράς ερωτήσεων — ποσό, περιγραφή, κατηγορία και τελική επιβεβαίωση — πριν δεσμεύσει δεδομένα σε ένα backend όπως το Amazon DynamoDB. Κάθε βήμα αξιοποιεί μοντέλα Pydantic για τον καθορισμό της αναμενόμενης εισόδου, την οποία το FastMCP μετατρέπει απρόσκοπτα στο JSON Schema που απαιτείται για το αίτημα elicitation/create.

Δειγματοληψία και Ειδοποιήσεις Προόδου: Ενισχύοντας την Αλληλεπίδραση και τη Διαφάνεια των LLM

Πέρα από την άμεση αλληλεπίδραση χρήστη, η Δειγματοληψία εξοπλίζει τον διακομιστή MCP με τη δυνατότητα να ζητά εξελιγμένο περιεχόμενο που δημιουργείται από μεγάλα γλωσσικά μοντέλα (LLM) απευθείας από τον πελάτη μέσω του sampling/createMessage. Αυτός είναι ένας κρίσιμος μηχανισμός, καθώς επιτρέπει στη λογική του εργαλείου στον διακομιστή να αξιοποιεί ισχυρές δυνατότητες γλωσσικών μοντέλων χωρίς να χρειάζεται να διαχειρίζεται τα δικά του διαπιστευτήρια LLM ή άμεσες ενσωματώσεις API. Ο διακομιστής παρέχει απλώς ένα μήνυμα (prompt) και προαιρετικές προτιμήσεις μοντέλου στον πελάτη, και ο πελάτης, λειτουργώντας ως ενδιάμεσος, προωθεί το αίτημα στο συνδεδεμένο LLM του και επιστρέφει την παραγόμενη απάντηση στον διακομιστή. Αυτό ανοίγει μια πληθώρα πρακτικών εφαρμογών, συμπεριλαμβανομένης της δημιουργίας εξατομικευμένων περιλήψεων, της παραγωγής επεξηγήσεων φυσικής γλώσσας από σύνθετα δομημένα δεδομένα ή της παραγωγής προτάσεων με επίγνωση του πλαισίου με βάση την τρέχουσα συνομιλία.

Για λειτουργίες που εκτείνονται χρονικά, οι Ειδοποιήσεις Προόδου γίνονται ανεκτίμητες. Αυτή η δυνατότητα επιτρέπει σε έναν διακομιστή MCP να αναφέρει σταδιακές ενημερώσεις κατά τη διάρκεια χρονοβόρων εργασιών. Χρησιμοποιώντας το ctx.report_progress(progress, total), ο διακομιστής μπορεί να εκπέμπει συνεχείς ενημερώσεις τις οποίες οι πελάτες μπορούν να μεταφράσουν σε οπτική ανατροφοδότση, όπως μια γραμμή προόδου ή μια ένδειξη κατάστασης. Είτε πρόκειται για αναζήτηση σε τεράστιες πηγές δεδομένων είτε για εκτέλεση σύνθετων υπολογιστικών εργασιών, οι διαφανείς ενημερώσεις προόδου διασφαλίζουν ότι οι χρήστες παραμένουν ενημερωμένοι, αποτρέποντας την απογοήτευση και βελτιώνοντας τη συνολική εμπειρία χρήστη, αντί να τους αφήνουν να κοιτούν μια κενή οθόνη αναρωτώμενοι αν το σύστημα είναι ακόμα ενεργό.

Ανθεκτική στο Μέλλον Ανάπτυξη Πρακτόρων ΤΝ με το Bedrock AgentCore Runtime

Η εισαγωγή των δυνατοτήτων πελάτη MCP με κατάσταση στο Amazon Bedrock AgentCore Runtime αποτελεί ένα σημαντικό άλμα προς τα εμπρός στην ανάπτυξη πρακτόρων ΤΝ. Με τη μετατροπή των προηγουμένως χωρίς κατάσταση αλληλεπιδράσεων σε δυναμικές, αμφίδρομες συνομιλίες, η AWS ενδυναμώνει τους προγραμματιστές να δημιουργήσουν πιο έξυπνες, ανταποκρινόμενες και φιλικές προς τον χρήστη εφαρμογές ΤΝ. Αυτές οι δυνατότητες – Διερεύνηση για καθοδηγούμενη είσοδο χρήστη, Δειγματοληψία για παραγωγή 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 στο email σας.

Κοινοποίηση