(Κάντε κλικ στην παραπάνω εικόνα για να δείτε το βίντεο αυτού του μαθήματος)
Καθώς αυξάνεται η χρήση των AI agents, αυξάνεται και η ανάγκη για πρωτόκολλα που διασφαλίζουν την τυποποίηση, την ασφάλεια και υποστηρίζουν την ανοιχτή καινοτομία. Σε αυτό το μάθημα, θα καλύψουμε 3 πρωτόκολλα που στοχεύουν να καλύψουν αυτή την ανάγκη - το Model Context Protocol (MCP), το Agent to Agent (A2A) και το Natural Language Web (NLWeb).
Σε αυτό το μάθημα, θα καλύψουμε:
• Πώς το MCP επιτρέπει στους AI Agents να έχουν πρόσβαση σε εξωτερικά εργαλεία και δεδομένα για την ολοκλήρωση εργασιών του χρήστη.
• Πώς το A2A επιτρέπει την επικοινωνία και συνεργασία μεταξύ διαφορετικών AI agents.
• Πώς το NLWeb προσφέρει διεπαφές φυσικής γλώσσας σε οποιαδήποτε ιστοσελίδα, επιτρέποντας στους AI Agents να ανακαλύπτουν και να αλληλεπιδρούν με το περιεχόμενο.
• Αναγνώριση του βασικού σκοπού και των ωφελειών του MCP, A2A, και NLWeb στο πλαίσιο των AI agents.
• Εξήγηση του πώς κάθε πρωτόκολλο διευκολύνει την επικοινωνία και αλληλεπίδραση μεταξύ LLMs, εργαλείων και άλλων agents.
• Αναγνώριση των διακριτών ρόλων που έχει το κάθε πρωτόκολλο στην οικοδόμηση σύνθετων συστημάτων agentic.
Το Model Context Protocol (MCP) είναι ένα ανοιχτό πρότυπο που παρέχει έναν τυποποιημένο τρόπο για εφαρμογές να παρέχουν context και εργαλεία στα LLMs. Αυτό επιτρέπει έναν “καθολικό προσαρμογέα” σε διαφορετικές πηγές δεδομένων και εργαλεία, στα οποία οι AI Agents μπορούν να συνδεθούν με έναν συνεπή τρόπο.
Ας δούμε τα συστατικά του MCP, τα οφέλη του σε σχέση με τη χρήση απευθείας API και ένα παράδειγμα για το πώς οι AI agents μπορεί να χρησιμοποιούν έναν MCP server.
Το MCP λειτουργεί με αρχιτεκτονική πελάτη-διακομιστή και τα βασικά του στοιχεία είναι:
• Hosts είναι εφαρμογές LLM (για παράδειγμα ένας κώδικας επεξεργαστής όπως το VSCode) που ξεκινούν τις συνδέσεις με έναν MCP Server.
• Clients είναι συστατικά μέσα στην εφαρμογή host που διατηρούν συνδέσεις ένα-προς-ένα με τους servers.
• Servers είναι ελαφριά προγράμματα που εκθέτουν συγκεκριμένες δυνατότητες.
Στο πρωτόκολλο περιλαμβάνονται τρεις βασικές αρχές που είναι οι δυνατότητες ενός MCP Server:
• Εργαλεία: Αυτές είναι διακριτές ενέργειες ή λειτουργίες που ένας AI agent μπορεί να καλέσει για να εκτελέσει μια ενέργεια. Για παράδειγμα, μια υπηρεσία καιρού μπορεί να εκθέτει ένα εργαλείο “λήψη καιρού” ή ένας διακομιστής ηλεκτρονικού εμπορίου μπορεί να εκθέτει ένα εργαλείο “αγορά προϊόντος”. Οι MCP servers διαφημίζουν το όνομα κάθε εργαλείου, τη περιγραφή και το σχήμα εισόδου/εξόδου στον κατάλογο δυνατοτήτων τους.
• Πόροι: Αυτά είναι δεδομένα μόνο για ανάγνωση ή έγγραφα που ένας MCP server μπορεί να παρέχει και οι πελάτες μπορούν να τα ανακτήσουν κατά ζήτηση. Παραδείγματα περιλαμβάνουν περιεχόμενο αρχείων, καταγραφές βάσεων δεδομένων ή αρχεία καταγραφής. Οι πόροι μπορεί να είναι κείμενο (όπως κώδικας ή JSON) ή δυαδικά (όπως εικόνες ή PDF).
• Προτροπές: Αυτά είναι προδιαμορφωμένα πρότυπα που παρέχουν προτεινόμενες προτροπές, επιτρέποντας πιο πολύπλοκα ροές εργασίας.
Το MCP προσφέρει σημαντικά πλεονεκτήματα για τους AI Agents:
• Δυναμική Ανακάλυψη Εργαλείων: Οι agents μπορούν να λαμβάνουν δυναμικά μια λίστα διαθέσιμων εργαλείων από έναν διακομιστή μαζί με περιγραφές του τι κάνουν. Αυτό αντιπαραβάλλεται με τα παραδοσιακά APIs, που συχνά απαιτούν στατικό κώδικα για ενσωματώσεις, πράγμα που σημαίνει ότι οποιαδήποτε αλλαγή API απαιτεί ενημερώσεις κώδικα. Το MCP προσφέρει μια προσέγγιση “ενσωμάτωση μία φορά”, οδηγώντας σε μεγαλύτερη προσαρμοστικότητα.
• Διαλειτουργικότητα μεταξύ LLMs: Το MCP λειτουργεί μέσω διαφορετικών LLMs, παρέχοντας ευελιξία στην αλλαγή των βασικών μοντέλων για καλύτερη απόδοση.
• Τυποποιημένη Ασφάλεια: Το MCP περιλαμβάνει μια πρότυπη μέθοδο αυθεντικοποίησης, βελτιώνοντας την κλιμάκωση όταν προστίθεται πρόσβαση σε επιπλέον MCP servers. Αυτό είναι απλούστερο από τη διαχείριση διαφορετικών κλειδιών και τύπων αυθεντικοποίησης για διάφορα παραδοσιακά APIs.

Φανταστείτε έναν χρήστη που θέλει να κλείσει μια πτήση χρησιμοποιώντας έναν AI βοηθό που λειτουργεί με MCP.
Σύνδεση: Ο AI βοηθός (ο πελάτης MCP) συνδέεται με έναν MCP server που παρέχεται από μια αεροπορική εταιρία.
Ανακάλυψη Εργαλείων: Ο πελάτης ρωτά τον MCP server της αεροπορικής εταιρείας, “Τι εργαλεία έχετε διαθέσιμα;” Ο διακομιστής απαντά με εργαλεία όπως “αναζήτηση πτήσεων” και “κράτηση πτήσεων”.
Κλήση Εργαλείου: Ζητάτε τότε από τον AI βοηθό, “Παρακαλώ αναζήτησε μια πτήση από το Πόρτλαντ προς το Χονολουλού.” Ο AI βοηθός, χρησιμοποιώντας το LLM του, εντοπίζει ότι πρέπει να καλέσει το εργαλείο “αναζήτηση πτήσεων” και περνά τα σχετικά παραμέτρους (αφετηρία, προορισμός) στον MCP server.
Εκτέλεση και Απόκριση: Ο MCP server, ενεργώντας ως περιτύλιγμα, κάνει την πραγματική κλήση στο εσωτερικό API κράτησης της αεροπορικής εταιρείας. Στη συνέχεια λαμβάνει τις πληροφορίες πτήσης (π.χ., δεδομένα JSON) και τις στέλνει πίσω στον AI βοηθό.
Περαιτέρω Αλληλεπίδραση: Ο AI βοηθός παρουσιάζει τις επιλογές πτήσεων. Μόλις επιλέξετε μια πτήση, ο βοηθός μπορεί να καλέσει το εργαλείο “κράτηση πτήσης” στον ίδιο MCP server, ολοκληρώνοντας την κράτηση.
Ενώ το MCP εστιάζει στη σύνδεση των LLMs με εργαλεία, το Agent-to-Agent (A2A) πρωτόκολλο πηγαίνει ένα βήμα παραπέρα επιτρέποντας την επικοινωνία και συνεργασία μεταξύ διαφορετικών AI agents. Το A2A συνδέει AI agents σε διαφορετικούς οργανισμούς, περιβάλλοντα και τεχνολογικές στοίβες για να ολοκληρώσουν μια κοινή εργασία.
Θα εξετάσουμε τα συστατικά και τα οφέλη του A2A, καθώς και ένα παράδειγμα για το πώς θα μπορούσε να εφαρμοστεί στην εφαρμογή ταξιδιών μας.
Το A2A εστιάζει στην εδραίωση της επικοινωνίας μεταξύ agents και στην συνεργασία τους για την ολοκλήρωση ενός υπο-έργου του χρήστη. Κάθε συστατικό του πρωτοκόλλου συμβάλλει σε αυτό:
Παρόμοια με το πώς ένας MCP server μοιράζεται μια λίστα εργαλείων, μια Κάρτα Agent έχει:
Ο Εκτελεστής Agent είναι υπεύθυνος για το μεταβίβαση του context της συζήτησης χρήστη στον απομακρυσμένο agent, κάτι που χρειάζεται ο απομακρυσμένος agent για να κατανοήσει την εργασία που πρέπει να ολοκληρωθεί. Σε έναν A2A server, ένας agent χρησιμοποιεί το δικό του Large Language Model (LLM) για να αναλύσει εισερχόμενα αιτήματα και να εκτελέσει εργασίες με τα δικά του εσωτερικά εργαλεία.
Μόλις ένας απομακρυσμένος agent ολοκληρώσει την αιτούμενη εργασία, το προϊόν της εργασίας του δημιουργείται ως άρθρωμα. Ένα άρθρωμα περιέχει το αποτέλεσμα της εργασίας του agent, μια περιγραφή του τι ολοκληρώθηκε και το κειμενικό context που αποστέλλεται μέσω του πρωτοκόλλου. Μετά την αποστολή του αρθρώματος, η σύνδεση με τον απομακρυσμένο agent κλείνει μέχρι να χρειαστεί ξανά.
Αυτό το συστατικό χρησιμοποιείται για το χειρισμό ενημερώσεων και τη μεταβίβαση μηνυμάτων. Είναι ιδιαίτερα σημαντικό στην παραγωγή για συστήματα agentic ώστε να αποτρέπει το κλείσιμο της σύνδεσης μεταξύ των agents πριν ολοκληρωθεί μια εργασία, ειδικά όταν η ολοκλήρωση εργασιών μπορεί να διαρκέσει αρκετό χρόνο.
• Ενισχυμένη Συνεργασία: Επιτρέπει στους agents από διαφορετικούς προμηθευτές και πλατφόρμες να αλληλεπιδρούν, να μοιράζονται context και να συνεργάζονται, διευκολύνοντας την ομαλή αυτοματοποίηση μεταξύ παραδοσιακά αποσυνδεδεμένων συστημάτων.
• Ευελιξία Επιλογής Μοντέλου: Κάθε A2A agent μπορεί να αποφασίσει ποιο LLM χρησιμοποιεί για να εξυπηρετήσει τα αιτήματά του, επιτρέποντας βελτιστοποιημένα ή ειδικά μοντέλα ανά agent, σε αντίθεση με μια μοναδική σύνδεση LLM σε ορισμένα σενάρια MCP.
• Ενσωματωμένη Αυθεντικοποίηση: Η αυθεντικοποίηση είναι ενσωματωμένη απευθείας στο πρωτόκολλο A2A, παρέχοντας ένα ισχυρό πλαίσιο ασφαλείας για τις αλληλεπιδράσεις των agents.

Ας επεκτείνουμε το σενάριο κράτησης ταξιδιού, αλλά αυτή τη φορά χρησιμοποιώντας A2A.
Αίτημα Χρήστη σε Πολυ-Agent: Ένας χρήστης αλληλεπιδρά με έναν “Travel Agent” A2A πελάτη/agent, πιθανώς λέγοντας, “Παρακαλώ κλείσε ένα ολόκληρο ταξίδι στο Χονολουλού για την επόμενη εβδομάδα, συμπεριλαμβανομένων πτήσεων, ξενοδοχείου και ενοικίασης αυτοκινήτου”.
Ορχήστρωση από Travel Agent: Ο Travel Agent λαμβάνει αυτό το σύνθετο αίτημα. Χρησιμοποιεί το LLM του για να σκεφτεί την εργασία και να αποφασίσει ότι πρέπει να αλληλεπιδράσει με άλλους εξειδικευμένους agents.
Επικοινωνία μεταξύ Agents: Ο Travel Agent χρησιμοποιεί το πρωτόκολλο A2A για να συνδεθεί με agents χαμηλότερης βαθμίδας, όπως έναν “Airline Agent”, έναν “Hotel Agent” και έναν “Car Rental Agent” που έχουν δημιουργηθεί από διαφορετικές εταιρείες.
Ανάθεση Εκτέλεσης Εργασιών: Ο Travel Agent στέλνει συγκεκριμένες εργασίες σε αυτούς τους εξειδικευμένους agents (π.χ., “Βρες πτήσεις προς Χονολουλού,” “Κλείσε ξενοδοχείο,” “Ενοικίασε αυτοκίνητο”). Κάθε ένας από αυτούς τους εξειδικευμένους agents, που τρέχει το δικό του LLM και χρησιμοποιεί τα δικά του εργαλεία (που μπορεί να είναι και ίδιοι MCP servers), εκτελεί το συγκεκριμένο μέρος της κράτησης.
Συνολική Απόκριση: Μόλις όλοι οι agents χαμηλότερης βαθμίδας ολοκληρώσουν τις εργασίες τους, ο Travel Agent συγκεντρώνει τα αποτελέσματα (λεπτομέρειες πτήσεων, επιβεβαίωση ξενοδοχείου, κράτηση ενοικίασης αυτοκινήτου) και στέλνει μια ολοκληρωμένη, στυλ συνομιλίας, απάντηση πίσω στον χρήστη.
Οι ιστοσελίδες ήταν για μεγάλο χρονικό διάστημα ο κύριος τρόπος για τους χρήστες να έχουν πρόσβαση σε πληροφορίες και δεδομένα στο διαδίκτυο.
Ας δούμε τα διαφορετικά στοιχεία του NLWeb, τα οφέλη του και ένα παράδειγμα πως λειτουργεί το NLWeb μας εξετάζοντας την εφαρμογή ταξιδιών μας.
Εφαρμογή NLWeb (Κώδικας Κεντρικής Υπηρεσίας): Το σύστημα που επεξεργάζεται ερωτήσεις φυσικής γλώσσας. Συνδέει τα διαφορετικά μέρη της πλατφόρμας για να δημιουργήσει απαντήσεις. Μπορείτε να το σκεφτείτε ως τη μηχανή που τροφοδοτεί τις λειτουργίες φυσικής γλώσσας μιας ιστοσελίδας.
Πρωτόκολλο NLWeb: Αυτό είναι ένα βασικό σύνολο κανόνων για την αλληλεπίδραση φυσικής γλώσσας με μια ιστοσελίδα. Αποστέλλει απαντήσεις σε μορφή JSON (συχνά χρησιμοποιώντας το Schema.org). Σκοπός του είναι να δημιουργήσει μια απλή βάση για το “AI Web”, με τον ίδιο τρόπο που το HTML έκανε δυνατή την κοινή χρήση εγγράφων στο διαδίκτυο.
MCP Server (Τελικό Σημείο Model Context Protocol): Κάθε εγκατάσταση NLWeb λειτουργεί επίσης ως MCP server. Αυτό σημαίνει ότι μπορεί να μοιραστεί εργαλεία (όπως την μέθοδο “ask”) και δεδομένα με άλλα συστήματα AI. Στην πράξη, αυτό κάνει το περιεχόμενο και τις λειτουργίες της ιστοσελίδας προσβάσιμα από AI agents, επιτρέποντας στην ιστοσελίδα να γίνει μέρος του ευρύτερου “οικοσυστήματος agent”.
Embedding Models: Αυτά τα μοντέλα χρησιμοποιούνται για να μετατρέψουν το περιεχόμενο της ιστοσελίδας σε αριθμητικές αναπαραστάσεις που ονομάζονται διανύσματα (embeddings). Αυτά τα διανύσματα καταγράφουν το νόημα με τρόπο που μπορούν να συγκριθούν και να αναζητηθούν από υπολογιστές. Αποθηκεύονται σε ειδική βάση δεδομένων και οι χρήστες μπορούν να επιλέξουν ποιο embedding μοντέλο θέλουν να χρησιμοποιήσουν.
Βάση Δεδομένων Διανυσμάτων (Μηχανισμός Ανάκτησης): Αυτή η βάση δεδομένων αποθηκεύει τα embeddings του περιεχομένου της ιστοσελίδας. Όταν κάποιος κάνει μια ερώτηση, το NLWeb ελέγχει τη βάση δεδομένων διανυσμάτων για να βρει γρήγορα τις πιο σχετικές πληροφορίες. Παρέχει μια γρήγορη λίστα πιθανών απαντήσεων, ταξινομημένων κατά ομοιότητα. Το NLWeb λειτουργεί με διάφορα συστήματα αποθήκευσης διανυσμάτων όπως Qdrant, Snowflake, Milvus, Azure AI Search, και Elasticsearch.

Σκεφτείτε ξανά την ιστοσελίδα κράτησης ταξιδιών μας, αλλά αυτή τη φορά, τροφοδοτείται από NLWeb.
Εισαγωγή Δεδομένων: Τα υπάρχοντα καταλόγια προϊόντων της ιστοσελίδας ταξιδιών (π.χ., λίστες πτήσεων, περιγραφές ξενοδοχείων, πακέτα εκδρομών) μορφοποιούνται χρησιμοποιώντας Schema.org ή φορτώνονται μέσω RSS feeds. Τα εργαλεία του NLWeb εισάγουν αυτά τα δομημένα δεδομένα, δημιουργούν embeddings και τα αποθηκεύουν σε τοπική ή απομακρυσμένη βάση δεδομένων διανυσμάτων.
Ερώτηση Φυσικής Γλώσσας (Άνθρωπος): Ένας χρήστης επισκέπτεται την ιστοσελίδα και, αντί να πλοηγηθεί σε μενού, πληκτρολογεί σε μια διεπαφή συνομιλίας: “Βρες μου ένα οικογενειακό ξενοδοχείο στο Χονολουλού με πισίνα για την επόμενη εβδομάδα”.
Επεξεργασία από NLWeb: Η εφαρμογή NLWeb λαμβάνει αυτή την ερώτηση. Την αποστέλλει σε ένα LLM για κατανόηση και ταυτόχρονα αναζητά στη βάση δεδομένων διανυσμάτων της για σχετικά καταλύματα ξενοδοχείου.
Ακριβή Αποτελέσματα: Το LLM βοηθά στην ερμηνεία των αποτελεσμάτων αναζήτησης από τη βάση δεδομένων, εντοπίζει τις καλύτερες αντιστοιχίες με βάση τα κριτήρια “φιλικό προς οικογένειες”, “πισίνα” και “Χονολουλού” και στη συνέχεια μορφοποιεί μια απάντηση φυσικής γλώσσας. Σημαντικό, η απάντηση αναφέρεται σε πραγματικά ξενοδοχεία από τον κατάλογο της ιστοσελίδας, αποφεύγοντας επινοημένες πληροφορίες.
Αλληλεπίδραση AI Agent: Επειδή το NLWeb λειτουργεί ως MCP server, ένας εξωτερικός AI ταξιδιωτικός agent θα μπορούσε επίσης να συνδεθεί με αυτήν την εγκατάσταση NLWeb της ιστοσελίδας. Ο AI agent θα μπορούσε στη συνέχεια να χρησιμοποιήσει τη μέθοδο ask του MCP για να ρωτήσει απευθείας την ιστοσελίδα: ask("Υπάρχουν εστιατόρια φιλικά προς vegan στην περιοχή του Χονολουλού που προτείνονται από το ξενοδοχείο;"). Η εγκατάσταση NLWeb θα το επεξεργαστεί αυτό, αξιοποιώντας τη βάση δεδομένων πληροφοριών εστιατορίων (αν έχει φορτωθεί), και θα επιστρέψει μια δομημένη JSON απάντηση.
Ενταχθείτε στο Microsoft Foundry Discord για να γνωρίσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να λάβετε απαντήσεις στις ερωτήσεις σας για τους AI Agents.
Μηχανική Συμφραζομένων για AI Agents
Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.