(Κάντε κλικ στην εικόνα παραπάνω για να δείτε το βίντεο αυτού του μαθήματος)
Καθώς η χρήση των AI πρακτόρων αυξάνεται, αυξάνεται και η ανάγκη για πρωτόκολλα που διασφαλίζουν τυποποίηση, ασφάλεια και υποστηρίζουν την ανοιχτή καινοτομία. Σε αυτό το μάθημα, θα καλύψουμε 3 πρωτόκολλα που στοχεύουν στην κάλυψη αυτής της ανάγκης - το Πρωτόκολλο Πλαισίου Μοντέλου (MCP), το Πράκτορα προς Πράκτορα (A2A) και το Natural Language Web (NLWeb).
Σε αυτό το μάθημα, θα καλύψουμε:
• Πώς το MCP επιτρέπει στους AI Πράκτορες να έχουν πρόσβαση σε εξωτερικά εργαλεία και δεδομένα για την ολοκλήρωση των εργασιών των χρηστών.
• Πώς το A2A δίνει τη δυνατότητα επικοινωνίας και συνεργασίας μεταξύ διαφορετικών AI πρακτόρων.
• Πώς το NLWeb φέρνει διεπαφές φυσικής γλώσσας σε οποιονδήποτε ιστότοπο, επιτρέποντας στους AI Πράκτορες να ανακαλύπτουν και να αλληλεπιδρούν με το περιεχόμενο.
• Αναγνωρίστε τον βασικό σκοπό και τα οφέλη του MCP, του A2A και του NLWeb στο πλαίσιο των AI πρακτόρων.
• Εξηγήστε πώς κάθε πρωτόκολλο διευκολύνει την επικοινωνία και την αλληλεπίδραση μεταξύ LLMs, εργαλείων και άλλων πρακτόρων.
• Αναγνωρίστε τους διακριτούς ρόλους που παίζει κάθε πρωτόκολλο στην κατασκευή σύνθετων πρακτορικών συστημάτων.
Το Model Context Protocol (MCP) είναι ένα ανοιχτό πρότυπο που παρέχει έναν τυποποιημένο τρόπο για εφαρμογές να παρέχουν συμφραζόμενα και εργαλεία σε LLMs. Αυτό επιτρέπει έναν “universal adaptor” σε διαφορετικές πηγές δεδομένων και εργαλεία με τα οποία οι AI Πράκτορες μπορούν να συνδεθούν με συνεπή τρόπο.
Ας δούμε τα συστατικά του MCP, τα οφέλη σε σύγκριση με τη χρήση απευθείας API και ένα παράδειγμα του πώς οι AI πράκτορες μπορεί να χρησιμοποιήσουν έναν MCP server.
Το MCP λειτουργεί σε μια αρχιτεκτονική client-server και τα κύρια στοιχεία είναι:
• Hosts είναι εφαρμογές LLM (για παράδειγμα ένας επεξεργαστής κώδικα όπως το VSCode) που ξεκινούν τις συνδέσεις με έναν MCP Server.
• Clients είναι στοιχεία μέσα στην εφαρμογή host που διατηρούν συνδέσεις ένα-προς-ένα με τους servers.
• Servers είναι ελαφριά προγράμματα που εκθέτουν συγκεκριμένες δυνατότητες.
Στο πρωτόκολλο περιλαμβάνονται τρία βασικά primitives τα οποία είναι οι δυνατότητες ενός MCP Server:
• Tools: Αυτές είναι διακριτές ενέργειες ή συναρτήσεις που ένας AI πράκτορας μπορεί να καλέσει για να εκτελέσει μια δράση. Για παράδειγμα, μια υπηρεσία καιρού μπορεί να εκθέσει ένα εργαλείο “get weather” ή ένας e-commerce server μπορεί να εκθέσει ένα εργαλείο “purchase product”. Οι MCP servers διαφημίζουν το όνομα κάθε εργαλείου, την περιγραφή και το schema εισόδου/εξόδου στη λίστα δυνατοτήτων τους.
• Resources: Αυτά είναι δεδομένα μόνο για ανάγνωση ή έγγραφα που μπορεί να παρέχει ένας MCP server, και οι clients μπορούν να τα ανακτούν κατ’ απαίτηση. Παραδείγματα περιλαμβάνουν περιεχόμενα αρχείων, εγγραφές βάσης δεδομένων ή αρχεία καταγραφής. Τα Resources μπορούν να είναι κείμενο (όπως κώδικας ή JSON) ή δυαδικά (όπως εικόνες ή PDF).
• Prompts: Πρόκειται για προκαθορισμένα πρότυπα που παρέχουν προτεινόμενα prompts, επιτρέποντας πιο πολύπλοκα workflows.
Το MCP προσφέρει σημαντικά πλεονεκτήματα για τους AI Πράκτορες:
• Δυναμική Ανακάλυψη Εργαλείων: Οι πράκτορες μπορούν να λαμβάνουν δυναμικά μια λίστα με διαθέσιμα εργαλεία από έναν server μαζί με περιγραφές του τι κάνουν. Αυτό έρχεται σε αντίθεση με τα παραδοσιακά APIs, που συχνά απαιτούν στατική κωδικοποίηση για ενσωματώσεις, πράγμα που σημαίνει ότι οποιαδήποτε αλλαγή στο API απαιτεί ενημερώσεις κώδικα. Το MCP προσφέρει μια προσέγγιση “ενσωματώστε μια φορά”, οδηγώντας σε μεγαλύτερη προσαρμοστικότητα.
• Διαλειτουργικότητα μεταξύ LLMs: Το MCP λειτουργεί με διαφορετικά LLMs, παρέχοντας ευελιξία στην εναλλαγή βασικών μοντέλων για αξιολόγηση και καλύτερη απόδοση.
• Τυποποιημένη Ασφάλεια: Το MCP περιλαμβάνει έναν τυποποιημένο τρόπο αυθεντικοποίησης, βελτιώνοντας την κλιμάκωση όταν προστίθεται πρόσβαση σε επιπλέον MCP servers. Αυτό είναι πιο απλό από τη διαχείριση διαφορετικών κλειδιών και τύπων αυθεντικοποίησης για διάφορα παραδοσιακά APIs.

Φανταστείτε ότι ένας χρήστης θέλει να κλείσει μια πτήση χρησιμοποιώντας έναν AI βοηθό που τροφοδοτείται από MCP.
Connection: Ο AI βοηθός (ο MCP client) συνδέεται σε έναν MCP server που παρέχεται από μια αεροπορική εταιρεία.
Tool Discovery: Ο client ρωτάει τον MCP server της αεροπορικής εταιρείας, “Τι εργαλεία έχετε διαθέσιμα;” Ο server απαντά με εργαλεία όπως “search flights” και “book flights”.
Tool Invocation: Στη συνέχεια ζητάτε από τον AI βοηθό, “Παρακαλώ αναζήτησε μια πτήση από Portland προς Honolulu.” Ο AI βοηθός, χρησιμοποιώντας το LLM του, αναγνωρίζει ότι πρέπει να καλέσει το εργαλείο “search flights” και περνάει τους σχετικούς παραμέτρους (αφετηρία, προορισμός) στον MCP server.
Execution and Response: Ο MCP server, ενεργώντας ως wrapper, κάνει την πραγματική κλήση στο εσωτερικό booking API της αεροπορικής εταιρείας. Στη συνέχεια λαμβάνει τις πληροφορίες πτήσης (π.χ. δεδομένα JSON) και τις στέλνει πίσω στον AI βοηθό.
Further Interaction: Ο AI βοηθός παρουσιάζει τις επιλογές πτήσεων. Μόλις επιλέξετε μια πτήση, ο βοηθός μπορεί να καλέσει το εργαλείο “book flight” στον ίδιο MCP server, ολοκληρώνοντας την κράτηση.
Ενώ το MCP επικεντρώνεται στη σύνδεση LLMs με εργαλεία, το Agent-to-Agent (A2A) protocol προχωρά ένα βήμα παραπέρα επιτρέποντας την επικοινωνία και συνεργασία μεταξύ διαφορετικών AI πρακτόρων. Το A2A συνδέει AI πράκτορες μεταξύ διαφορετικών οργανισμών, περιβαλλόντων και τεχνολογικών στοίβων για την ολοκλήρωση μιας κοινής εργασίας.
Θα εξετάσουμε τα συστατικά και τα οφέλη του A2A, μαζί με ένα παράδειγμα του πώς μπορεί να εφαρμοστεί στην εφαρμογή ταξιδιών μας.
Το A2A επικεντρώνεται στην ενεργοποίηση επικοινωνίας μεταξύ πρακτόρων και στο να συνεργάζονται για την ολοκλήρωση ενός υπο-εργασίας του χρήστη. Κάθε στοιχείο του πρωτοκόλλου συμβάλλει σε αυτό:
Παρόμοια με το πώς ένας MCP server μοιράζεται μια λίστα εργαλείων, μια Agent Card έχει:
Ο Agent Executor είναι υπεύθυνος για το πέρασμα των συμφραζομένων της συνομιλίας του χρήστη στον απομακρυσμένο πράκτορα, ο απομακρυσμένος πράκτορας χρειάζεται αυτά για να κατανοήσει την εργασία που πρέπει να ολοκληρωθεί. Σε έναν A2A server, ένας πράκτορας χρησιμοποιεί το δικό του Large Language Model (LLM) για να αναλύσει εισερχόμενα αιτήματα και να εκτελέσει εργασίες χρησιμοποιώντας τα δικά του εσωτερικά εργαλεία.
Μόλις ένας απομακρυσμένος πράκτορας ολοκληρώσει την αιτηθείσα εργασία, το προϊόν της εργασίας του δημιουργείται ως artifact. Ένα artifact περιέχει το αποτέλεσμα της εργασίας του πράκτορα, μια περιγραφή του τι ολοκληρώθηκε, και τα κείμενα συμφραζόμενα που αποστέλλονται μέσω του πρωτοκόλλου. Αφού σταλεί το artifact, η σύνδεση με τον απομακρυσμένο πράκτορα κλείνει μέχρι να χρειαστεί ξανά.
Αυτό το στοιχείο χρησιμοποιείται για χειρισμό ενημερώσεων και μετάδοση μηνυμάτων. Είναι ιδιαίτερα σημαντικό σε παραγωγικά πρακτορικά συστήματα για να αποτρέψει το κλείσιμο της σύνδεσης μεταξύ πρακτόρων πριν ολοκληρωθεί μια εργασία, ειδικά όταν οι χρόνοι ολοκλήρωσης εργασιών μπορεί να είναι μεγαλύτεροι.
• Ενισχυμένη Συνεργασία: Επιτρέπει σε πράκτορες από διαφορετικούς προμηθευτές και πλατφόρμες να αλληλεπιδρούν, να μοιράζονται συμφραζόμενα και να συνεργάζονται, διευκολύνοντας την άψογη αυτοματοποίηση σε συστήματα που παραδοσιακά ήταν απομονωμένα.
• Ευελιξία Επιλογής Μοντέλου: Κάθε A2A πράκτορας μπορεί να αποφασίσει ποιο LLM θα χρησιμοποιήσει για να εξυπηρετήσει τα αιτήματά του, επιτρέποντας βελτιστοποιημένα ή fine-tuned μοντέλα ανά πράκτορα, σε αντίθεση με μια ενιαία σύνδεση LLM σε ορισμένα σενάρια MCP.
• Ενσωματωμένη Αυθεντικοποίηση: Η αυθεντικοποίηση είναι ενσωματωμένη απευθείας στο πρωτόκολλο A2A, παρέχοντας ένα ισχυρό πλαίσιο ασφάλειας για τις αλληλεπιδράσεις των πρακτόρων.

Ας επεκτείνουμε το σενάριο κράτησης ταξιδιού μας, αλλά αυτή τη φορά χρησιμοποιώντας A2A.
User Request to Multi-Agent: Ένας χρήστης αλληλεπιδρά με έναν “Travel Agent” A2A client/agent, ίσως λέγοντας, “Παρακαλώ κλείστε ένα ολόκληρο ταξίδι στο Honolulu για την επόμενη εβδομάδα, συμπεριλαμβανομένων πτήσεων, ξενοδοχείου και ενοικίασης αυτοκινήτου”.
Orchestration by Travel Agent: Ο Travel Agent λαμβάνει αυτό το σύνθετο αίτημα. Χρησιμοποιεί το LLM του για να σκεφτεί την εργασία και να προσδιορίσει ότι πρέπει να αλληλεπιδράσει με άλλους εξειδικευμένους πράκτορες.
Inter-Agent Communication: Στη συνέχεια ο Travel Agent χρησιμοποιεί το πρωτόκολλο A2A για να συνδεθεί με κατώτερους πράκτορες, όπως έναν “Airline Agent”, έναν “Hotel Agent” και έναν “Car Rental Agent” που έχουν δημιουργηθεί από διαφορετικές εταιρείες.
Delegated Task Execution: Ο Travel Agent στέλνει συγκεκριμένες εργασίες σε αυτούς τους εξειδικευμένους πράκτορες (π.χ., “Find flights to Honolulu,” “Book a hotel,” “Rent a car”). Κάθε ένας από αυτούς τους εξειδικευμένους πράκτορες, τρέχοντας τα δικά του LLMs και χρησιμοποιώντας τα δικά του εργαλεία (που θα μπορούσαν να είναι και οι ίδιοι MCP servers), εκτελεί το συγκεκριμένο μέρος της κράτησης.
Consolidated Response: Μόλις όλοι οι κατώτεροι πράκτορες ολοκληρώσουν τις εργασίες τους, ο Travel Agent συγκεντρώνει τα αποτελέσματα (λεπτομέρειες πτήσεων, επιβεβαίωση ξενοδοχείου, κράτηση ενοικίασης αυτοκινήτου) και στέλνει μια ολοκληρωμένη, σε μορφή συνομιλίας, απάντηση πίσω στον χρήστη.
Οι ιστοσελίδες έχουν για πολύ καιρό τον κύριο τρόπο πρόσβασης των χρηστών σε πληροφορίες και δεδομένα στο διαδίκτυο.
Ας δούμε τα διαφορετικά συστατικά του NLWeb, τα οφέλη του και ένα παράδειγμα για το πώς λειτουργεί το NLWeb χρησιμοποιώντας την εφαρμογή ταξιδιών μας.
NLWeb Application (Core Service Code): Το σύστημα που επεξεργάζεται ερωτήσεις σε φυσική γλώσσα. Συνδέει τα διαφορετικά μέρη της πλατφόρμας για να δημιουργήσει απαντήσεις. Μπορείτε να το σκεφτείτε ως τη μηχανή που τροφοδοτεί τα χαρακτηριστικά φυσικής γλώσσας ενός ιστότοπου.
NLWeb Protocol: Αυτό είναι ένα βασικό σύνολο κανόνων για την αλληλεπίδραση φυσικής γλώσσας με έναν ιστότοπο. Επιστρέφει απαντήσεις σε μορφή JSON (συχνά χρησιμοποιώντας Schema.org). Σκοπός του είναι να δημιουργήσει ένα απλό θεμέλιο για το “AI Web”, με τον ίδιο τρόπο που το HTML έκανε δυνατή την κοινή χρήση εγγράφων στο διαδίκτυο.
MCP Server (Model Context Protocol Endpoint): Κάθε εγκατάσταση NLWeb λειτουργεί επίσης ως MCP server. Αυτό σημαίνει ότι μπορεί να μοιράζεται εργαλεία (όπως μια μέθοδο “ask”) και δεδομένα με άλλα συστήματα AI. Στην πράξη, αυτό κάνει το περιεχόμενο και τις δυνατότητες του ιστότοπου διαθέσιμες σε AI πράκτορες, επιτρέποντας στον ιστότοπο να γίνει μέρος του ευρύτερου “οικοσυστήματος πρακτόρων.”
Embedding Models: Αυτά τα μοντέλα χρησιμοποιούνται για να μετατρέψουν το περιεχόμενο του ιστότοπου σε αριθμητικές αναπαραστάσεις που ονομάζονται vectors (embeddings). Αυτοί οι vectors αποτυπώνουν το νόημα με τρόπο που οι υπολογιστές μπορούν να συγκρίνουν και να αναζητήσουν. Αποθηκεύονται σε μια ειδική βάση δεδομένων, και οι χρήστες μπορούν να επιλέξουν ποιο μοντέλο embedding θέλουν να χρησιμοποιήσουν.
Vector Database (Retrieval Mechanism): Αυτή η βάση δεδομένων αποθηκεύει τα embeddings του περιεχομένου του ιστότοπου. Όταν κάποιος κάνει μια ερώτηση, το NLWeb ελέγχει τη vector database για να βρει γρήγορα τις πιο σχετικές πληροφορίες. Δίνει μια γρήγορη λίστα πιθανών απαντήσεων, ταξινομημένων κατά ομοιότητα. Το NLWeb λειτουργεί με διάφορα συστήματα αποθήκευσης vector όπως τα Qdrant, Snowflake, Milvus, Azure AI Search, και Elasticsearch.

Σκεφτείτε ξανά τον ιστότοπο κράτησης ταξιδιών μας, αλλά αυτή τη φορά τροφοδοτείται από NLWeb.
Data Ingestion: Τα υπάρχοντα καταλόγια προϊόντων του ταξιδιωτικού ιστότοπου (π.χ. λίστες πτήσεων, περιγραφές ξενοδοχείων, πακέτα περιηγήσεων) μορφοποιούνται χρησιμοποιώντας Schema.org ή φορτώνονται μέσω RSS feeds. Τα εργαλεία του NLWeb εισάγουν αυτά τα δομημένα δεδομένα, δημιουργούν embeddings και τα αποθηκεύουν σε μια τοπική ή απομακρυσμένη vector database.
Natural Language Query (Human): Ένας χρήστης επισκέπτεται τον ιστότοπο και, αντί να περιηγηθεί σε μενού, πληκτρολογεί σε μια διεπαφή συνομιλίας: “Βρες μου ένα οικογενειακό φιλικό ξενοδοχείο στο Honolulu με πισίνα για την επόμενη εβδομάδα”.
NLWeb Processing: Η εφαρμογή NLWeb λαμβάνει αυτό το ερώτημα. Στέλνει το ερώτημα σε ένα LLM για κατανόηση και ταυτόχρονα αναζητά στη vector database για σχετικά καταχωρημένα ξενοδοχεία.
Accurate Results: Το LLM βοηθάει στην ερμηνεία των αποτελεσμάτων αναζήτησης από τη βάση δεδομένων, εντοπίζει τις καλύτερες αντιστοιχίες βάσει των κριτηρίων “family-friendly,” “pool,” και “Honolulu”, και στη συνέχεια διαμορφώνει μια απάντηση σε φυσική γλώσσα. Σημαντικό, η απάντηση αναφέρεται σε πραγματικά ξενοδοχεία από τον κατάλογο του ιστότοπου, αποφεύγοντας επινοημένες πληροφορίες.
AI Agent Interaction: Επειδή το NLWeb λειτουργεί ως MCP server, ένας εξωτερικός AI travel agent θα μπορούσε επίσης να συνδεθεί στην instance NLWeb αυτού του ιστότοπου. Ο AI πράκτορας θα μπορούσε τότε να χρησιμοποιήσει τη μέθοδο ask("Are there any vegan-friendly restaurants in the Honolulu area recommended by the hotel?"). Η instance NLWeb θα επεξεργαζόταν αυτό, αξιοποιώντας τη βάση δεδομένων της με πληροφορίες εστιατορίων (αν έχουν φορτωθεί), και θα επέστρεφε μια δομημένη JSON απάντηση.
Ελάτε στον Microsoft Foundry Discord για να συναντήσετε άλλους μαθητευόμενους, να παρακολουθήσετε office hours και να λάβετε απαντήσεις στις ερωτήσεις σας σχετικά με AI Agents.
Αποποίηση ευθυνών: Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το αρχικό έγγραφο στην πρωτότυπη γλώσσα του πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται επαγγελματική μετάφραση από άνθρωπο. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.