ai-agents-for-beginners

Χρήση Πρωτοκόλλων Agentic (MCP, A2A και NLWeb)

Agentic Protocols

(Κάντε κλικ στην εικόνα παραπάνω για να δείτε το βίντεο αυτού του μαθήματος)

Καθώς η χρήση πρακτόρων AI αυξάνεται, αυξάνεται και η ανάγκη για πρωτόκολλα που διασφαλίζουν την τυποποίηση, την ασφάλεια και υποστηρίζουν την ανοικτή καινοτομία. Σε αυτό το μάθημα, θα καλύψουμε 3 πρωτόκολλα που επιδιώκουν να καλύψουν αυτή την ανάγκη - το Πρωτόκολλο Περιεχομένου Μοντέλου (MCP), τον Πράκτορα προς Πράκτορα (A2A) και το Φυσικό Πρωτόκολλο Ιστού (NLWeb).

Εισαγωγή

Σε αυτό το μάθημα, θα καλύψουμε:

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

• Πώς το A2A επιτρέπει την επικοινωνία και συνεργασία μεταξύ διαφορετικών πρακτόρων AI.

• Πώς το NLWeb φέρνει διεπαφές φυσικής γλώσσας σε οποιονδήποτε ιστότοπο επιτρέποντας στους Πράκτορες AI να ανακαλύπτουν και να αλληλεπιδρούν με το περιεχόμενο.

Στόχοι Μάθησης

Αναγνωρίστε τον βασικό σκοπό και τα οφέλη του MCP, A2A, και NLWeb στο πλαίσιο των πρακτόρων AI.

Εξηγήστε πώς κάθε πρωτόκολλο διευκολύνει την επικοινωνία και αλληλεπίδραση μεταξύ LLM, εργαλείων, και άλλων πρακτόρων.

Αναγνωρίστε τους διακριτούς ρόλους που παίζει κάθε πρωτόκολλο στην κατασκευή σύνθετων agentic συστημάτων.

Πρωτόκολλο Περιεχομένου Μοντέλου

Το Πρωτόκολλο Περιεχομένου Μοντέλου (MCP) είναι ένα ανοικτό πρότυπο που παρέχει έναν τυποποιημένο τρόπο στις εφαρμογές να παρέχουν περιεχόμενο και εργαλεία στα LLMs. Αυτό επιτρέπει έναν «καθολικό προσαρμογέα» σε διαφορετικές πηγές δεδομένων και εργαλεία που οι Πράκτορες AI μπορούν να συνδεθούν με έναν συνεπή τρόπο.

Ας δούμε τα στοιχεία του MCP, τα οφέλη του σε σύγκριση με την άμεση χρήση API, και ένα παράδειγμα για το πώς οι πράκτορες AI μπορούν να χρησιμοποιήσουν έναν MCP server.

Βασικά Στοιχεία του MCP

Το MCP λειτουργεί με αρχιτεκτονική πελάτη-διακομιστή και τα βασικά στοιχεία είναι:

Φιλοξενητές (Hosts) είναι εφαρμογές LLM (για παράδειγμα ένας κώδικας επεξεργασίας όπως το VSCode) που ξεκινούν τις συνδέσεις σε έναν MCP Server.

Πελάτες (Clients) είναι συνιστώσες μέσα στην εφαρμογή φιλοξενητή που διατηρούν συνδέσεις ένας-προς-έναν με τους διακομιστές.

Διακομιστές (Servers) είναι ελαφριά προγράμματα που εκθέτουν συγκεκριμένες δυνατότητες.

Στο πρωτόκολλο περιλαμβάνονται τρεις βασικές πρωτόγονες λειτουργίες που είναι οι δυνατότητες ενός MCP Server:

Εργαλεία (Tools): Αυτά είναι διακριτές ενέργειες ή λειτουργίες που ένας πράκτορας AI μπορεί να καλέσει για να εκτελέσει μια ενέργεια. Για παράδειγμα, μια υπηρεσία καιρού μπορεί να εκθέτει ένα εργαλείο «λήψη καιρού», ή ένας διακομιστής ηλεκτρονικού εμπορίου μπορεί να εκθέτει ένα εργαλείο «αγορά προϊόντος». Οι MCP διακομιστές ανακοινώνουν το όνομα, την περιγραφή και το σχήμα εισόδου/εξόδου κάθε εργαλείου στη λίστα δυνατοτήτων τους.

Πόροι (Resources): Αυτά είναι δεδομένα μόνο για ανάγνωση ή έγγραφα που ένας MCP server μπορεί να παρέχει και οι πελάτες μπορούν να τα ανακτήσουν κατόπιν ζήτησης. Παραδείγματα περιλαμβάνουν περιεχόμενο αρχείων, εγγραφές βάσεων δεδομένων ή αρχεία καταγραφής. Οι πόροι μπορούν να είναι κείμενο (όπως κώδικας ή JSON) ή δυαδικά (όπως εικόνες ή PDF).

Προτροπές (Prompts): Αυτά είναι προκαθορισμένα πρότυπα που παρέχουν προτεινόμενες προτροπές, επιτρέποντας πιο σύνθετες ροές εργασίας.

Οφέλη του MCP

Το MCP προσφέρει σημαντικά πλεονεκτήματα για τους Πράκτορες AI:

Δυναμική Ανακάλυψη Εργαλείων: Οι πράκτορες μπορούν δυναμικά να λαμβάνουν μια λίστα διαθέσιμων εργαλείων από έναν διακομιστή μαζί με περιγραφές του τι κάνουν. Αυτό αντιπαραβάλλεται με τα παραδοσιακά API, που συχνά απαιτούν στατική κωδικοποίηση για ενσωματώσεις, πράγμα που σημαίνει ότι οποιαδήποτε αλλαγή API απαιτεί ενημερώσεις κώδικα. Το MCP προσφέρει μια προσέγγιση «ένταξε μία φορά», οδηγώντας σε μεγαλύτερη προσαρμοστικότητα.

Διαλειτουργικότητα Διαμέσου των LLMs: Το MCP λειτουργεί σε διαφορετικά LLMs, παρέχοντας ευελιξία για αλλαγή βασικών μοντέλων για βελτίωση απόδοσης.

Τυποποιημένη Ασφάλεια: Το MCP περιλαμβάνει μια τυποποιημένη μέθοδο ταυτοποίησης, βελτιώνοντας την επεκτασιμότητα κατά την προσθήκη πρόσβασης σε επιπλέον MCP διακομιστές. Αυτό είναι απλούστερο από τη διαχείριση διαφόρων κλειδιών και τύπων ταυτοποίησης για διαφορετικά παραδοσιακά API.

Παράδειγμα MCP

MCP Diagram

Φανταστείτε ότι ένας χρήστης θέλει να κλείσει πτήση χρησιμοποιώντας έναν βοηθό AI με δυνατότητα MCP.

  1. Σύνδεση: Ο βοηθός AI (ο πελάτης MCP) συνδέεται με έναν MCP διακομιστή που παρέχεται από μια αεροπορική εταιρεία.

  2. Ανακάλυψη Εργαλείων: Ο πελάτης ρωτά τον MCP διακομιστή της αεροπορικής «Τι εργαλεία έχετε διαθέσιμα;» Ο διακομιστής απαντά με εργαλεία όπως «αναζήτηση πτήσεων» και «κράτηση πτήσεων».

  3. Κλήση Εργαλείων: Στη συνέχεια ζητάτε από τον βοηθό AI: «Παρακαλώ αναζητήστε μια πτήση από το Πόρτλαντ στο Χονολουλού.» Ο βοηθός AI, χρησιμοποιώντας το LLM του, αναγνωρίζει ότι πρέπει να καλέσει το εργαλείο «αναζήτηση πτήσεων» και περνά τα σχετικά παραμέτρους (αφετηρία, προορισμό) στον MCP διακομιστή.

  4. Εκτέλεση και Απάντηση: Ο MCP διακομιστής, λειτουργώντας ως περιτύλιγμα, κάνει την πραγματική κλήση στο εσωτερικό API κράτησης της αεροπορικής εταιρείας. Στη συνέχεια λαμβάνει τις πληροφορίες πτήσης (π.χ., δεδομένα JSON) και τις αποστέλλει πίσω στον βοηθό AI.

  5. Περαιτέρω Αλληλεπίδραση: Ο βοηθός AI παρουσιάζει τις επιλογές πτήσεων. Μόλις επιλέξετε μια πτήση, ο βοηθός μπορεί να καλέσει το εργαλείο «κράτηση πτήσης» στον ίδιο MCP διακομιστή, ολοκληρώνοντας την κράτηση.

Πρωτόκολλο Πράκτορα προς Πράκτορα (A2A)

Ενώ το MCP εστιάζει στη σύνδεση LLM με εργαλεία, το Πρωτόκολλο Πράκτορα προς Πράκτορα (A2A) πηγαίνει ένα βήμα παραπέρα επιτρέποντας την επικοινωνία και συνεργασία μεταξύ διαφορετικών πρακτόρων AI. Το A2A συνδέει πράκτορες AI από διαφορετικές οργανώσεις, περιβάλλοντα και τεχνολογικά πλαίσια για να ολοκληρώσουν μια κοινή εργασία.

Θα εξετάσουμε τα στοιχεία και τα οφέλη του A2A, μαζί με ένα παράδειγμα πώς μπορεί να εφαρμοστεί στην εφαρμογή ταξιδιών μας.

Βασικά Στοιχεία του A2A

Το A2A εστιάζει στην ενεργοποίηση της επικοινωνίας μεταξύ πρακτόρων και στην εργασία τους συνεργατικά για να ολοκληρώσουν ένα υπο-έργο του χρήστη. Κάθε στοιχείο του πρωτοκόλλου συμβάλλει σε αυτό:

Κάρτα Πράκτορα

Παρόμοια με το πώς ένας MCP διακομιστής κοινοποιεί μια λίστα εργαλείων, μια Κάρτα Πράκτορα περιλαμβάνει:

Εκτελεστής Πράκτορα

Ο Εκτελεστής Πράκτορα είναι υπεύθυνος για το μεταβίβαση του πλαισίου της συνομιλίας χρήστη στον απομακρυσμένο πράκτορα, ο απομακρυσμένος πράκτορας χρειάζεται αυτό για να κατανοήσει την εργασία που πρέπει να ολοκληρωθεί. Σε έναν A2A server, ένας πράκτορας χρησιμοποιεί το δικό του Μεγάλο Μοντέλο Γλώσσας (LLM) για να αναλύει εισερχόμενα αιτήματα και να εκτελεί εργασίες με τη χρήση των δικών του εσωτερικών εργαλείων.

Αντικείμενο (Artifact)

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

Ουρά Γεγονότων

Αυτό το στοιχείο χρησιμοποιείται για τη διαχείριση ενημερώσεων και τη μεταβίβαση μηνυμάτων. Είναι ιδιαίτερα σημαντικό στην παραγωγή για συστήματα agentic, ώστε να αποτραπεί το κλείσιμο της σύνδεσης μεταξύ πρακτόρων πριν ολοκληρωθεί μια εργασία, ειδικά όταν οι χρόνοι ολοκλήρωσης μπορεί να είναι μεγάλοι.

Οφέλη του A2A

Ενισχυμένη Συνεργασία: Επιτρέπει σε πράκτορες από διαφορετικούς παρόχους και πλατφόρμες να αλληλεπιδρούν, να μοιράζονται περιεχόμενο και να συνεργάζονται, διευκολύνοντας ομαλή αυτοματοποίηση μεταξύ συστημάτων που παραδοσιακά ήταν αποσυνδεδεμένα.

Ευελιξία στην Επιλογή Μοντέλου: Κάθε πράκτορας A2A μπορεί να αποφασίσει ποιο LLM χρησιμοποιεί για να εξυπηρετεί τα αιτήματά του, επιτρέποντας βελτιστοποιημένα ή προσαρμοσμένα μοντέλα ανά πράκτορα, σε αντίθεση με μια μόνο σύνδεση LLM σε ορισμένα σενάρια MCP.

Ενσωματωμένη Ταυτοποίηση: Η ταυτοποίηση είναι ενσωματωμένη απευθείας στο πρωτόκολλο A2A, παρέχοντας ένα ισχυρό πλαίσιο ασφάλειας για τις αλληλεπιδράσεις πρακτόρων.

Παράδειγμα A2A

A2A Diagram

Ας επεκτείνουμε το σενάριο κράτησης ταξιδιού μας, αλλά αυτή τη φορά χρησιμοποιώντας A2A.

  1. Αίτηση Χρήστη σε Πολυ-Πράκτορα: Ένας χρήστης αλληλεπιδρά με έναν πελάτη/πράκτορα A2A «Ταξιδιωτικού Πράκτορα», πιθανόν λέγοντας: «Παρακαλώ κλείσε ένα ολόκληρο ταξίδι στο Χονολουλού για την επόμενη εβδομάδα, συμπεριλαμβανομένων πτήσεων, ξενοδοχείου και ενοικίασης αυτοκινήτου».

  2. Ορχήστρωση από τον Ταξιδιωτικό Πράκτορα: Ο Ταξιδιωτικός Πράκτορας δέχεται αυτό το πολύπλοκο αίτημα. Χρησιμοποιεί το LLM του για να σκεφτεί την εργασία και να καθορίσει ότι πρέπει να συνεργαστεί με άλλους εξειδικευμένους πράκτορες.

  3. Επικοινωνία Μεταξύ Πρακτόρων: Ο Ταξιδιωτικός Πράκτορας χρησιμοποιεί το πρωτόκολλο A2A για να συνδεθεί με υποκείμενους πράκτορες, όπως «Πράκτορα Αεροπορικής», «Πράκτορα Ξενοδοχείου» και «Πράκτορα Ενοικίασης Αυτοκινήτου», τους οποίους έχουν δημιουργήσει διαφορετικές εταιρείες.

  4. Εκτέλεση Εργασιών από Ανάθεση: Ο Ταξιδιωτικός Πράκτορας στέλνει συγκεκριμένες εργασίες σε αυτούς τους εξειδικευμένους πράκτορες (π.χ., «Βρες πτήσεις προς Χονολουλού», «Κλείσε ξενοδοχείο», «Ενοικίασε αυτοκίνητο»). Κάθε ένας από αυτούς τους εξειδικευμένους πράκτορες, τρέχοντας τα δικά του LLM και χρησιμοποιώντας τα δικά του εργαλεία (τα οποία μπορεί να είναι και οι ίδιοι MCP servers), εκτελεί το συγκεκριμένο μέρος της κράτησης.

  5. Συγκεντρωμένη Απάντηση: Μόλις όλοι οι υποκείμενοι πράκτορες ολοκληρώσουν τις εργασίες τους, ο Ταξιδιωτικός Πράκτορας συγκεντρώνει τα αποτελέσματα (λεπτομέρειες πτήσης, επιβεβαίωση ξενοδοχείου, κράτηση ενοικίασης αυτοκινήτου) και στέλνει μια ολοκληρωμένη απάντηση σε στυλ συνομιλίας πίσω στον χρήστη.

Φυσικός Ιστός Γλώσσας (NLWeb)

Οι ιστοσελίδες εδώ και καιρό αποτελούν τον κύριο τρόπο για χρήστες να έχουν πρόσβαση σε πληροφορίες και δεδομένα σε όλο το διαδίκτυο.

Ας δούμε τα διαφορετικά στοιχεία του NLWeb, τα οφέλη του και ένα παράδειγμα πώς λειτουργεί το NLWeb κοιτώντας την εφαρμογή ταξιδιών μας.

Στοιχεία του NLWeb

NLWeb με Παράδειγμα

NLWeb

Σκεφτείτε ξανά τον ιστότοπο κράτησης ταξιδιών μας, αλλά αυτή τη φορά τροφοδοτείται από το NLWeb.

  1. Εισαγωγή Δεδομένων: Τα υπάρχοντα καταλόγια προϊόντων του ιστότοπου ταξιδιών (π.χ., καταχωρήσεις πτήσεων, περιγραφές ξενοδοχείων, πακέτα περιηγήσεων) μορφοποιούνται με Schema.org ή φορτώνονται μέσω ροών RSS. Τα εργαλεία του NLWeb εισάγουν αυτά τα δομημένα δεδομένα, δημιουργούν embeddings και τα αποθηκεύουν σε τοπική ή απομακρυσμένη βάση δεδομένων διανυσμάτων.

  2. Ερώτηση σε Φυσική Γλώσσα (Ανθρώπινος Χρήστης): Ένας χρήστης επισκέπτεται τον ιστότοπο και, αντί να περιηγείται σε μενού, πληκτρολογεί σε μια διεπαφή συνομιλίας: «Βρες μου ένα οικογενειακά φιλικό ξενοδοχείο στο Χονολουλού με πισίνα για την επόμενη εβδομάδα».

  3. Επεξεργασία NLWeb: Η εφαρμογή NLWeb λαμβάνει αυτή την ερώτηση. Τη στέλνει σε ένα LLM για κατανόηση και ταυτόχρονα ψάχνει τη βάση δεδομένων διανυσμάτων για σχετικές καταχωρήσεις ξενοδοχείων.

  4. Ακριβή Αποτελέσματα: Το LLM βοηθά στην ερμηνεία των αποτελεσμάτων αναζήτησης από τη βάση δεδομένων, αναγνωρίζει τις καλύτερες αντιστοιχίες βάσει των κριτηρίων «οικογενειακά φιλικό», «πισίνα» και «Χονολουλού» και στη συνέχεια μορφοποιεί μια απάντηση σε φυσική γλώσσα. Σημαντικά, η απάντηση αναφέρεται σε πραγματικά ξενοδοχεία από τον κατάλογο του ιστότοπου, αποφεύγοντας ψευδείς πληροφορίες.

  5. Αλληλεπίδραση με Πράκτορα AI: Επειδή το NLWeb λειτουργεί ως MCP server, ένας εξωτερικός πρακτορας ταξιδιών AI μπορεί επίσης να συνδεθεί με αυτή την παρουσία NLWeb του ιστότοπου. Ο πρακτορας AI μπορεί τότε να χρησιμοποιήσει τη μέθοδο ask του MCP για να ρωτήσει απευθείας τον ιστότοπο: ask("Υπάρχουν εστιατόρια φιλικά προς χορτοφάγους στην περιοχή Χονολουλού που προτείνει το ξενοδοχείο;"). Η παρουσία NLWeb θα επεξεργαστεί αυτό, αξιοποιώντας τη βάση δεδομένων πληροφοριών εστιατορίων (εάν έχει φορτωθεί), και θα επιστρέψει μια δομημένη απάντηση σε μορφή JSON.

Έχετε Περισσότερες Ερωτήσεις για MCP/A2A/NLWeb;

Εγγραφείτε στο Microsoft Foundry Discord για να συναντήσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να λάβετε απαντήσεις στις ερωτήσεις σας για τους Πράκτορες AI.

Πόροι

Προηγούμενο Μάθημα

Πράκτορες AI σε Παραγωγή

Επόμενο Μάθημα

Μηχανική Πλαισίου για Πράκτορες AI


Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.