Δημιουργία συστημάτων πολλαπλών πρακτόρων με πρωτόκολλο επικοινωνίας πρακτόρων (ACP)

Δημιουργία συστημάτων πολλαπλών πρακτόρων με πρωτόκολλο επικοινωνίας πρακτόρων (ACP)

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

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

Το Πρωτόκολλο Επικοινωνίας Πράκτορα (ACP) προσφέρει μια λύση, παρέχοντας μια ενοποιημένη γλώσσα επικοινωνίας για τους πράκτορες, καθιστώντας τα συστήματα πιο επεκτάσιμα, ευέλικτα και πιο εύκολα στη διαχείριση.

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

Τι είναι το Πρωτόκολλο Επικοινωνίας Πράκτορα (ACP);

Το Πρωτόκολλο Επικοινωνίας Πράκτορα (ACP) είναι ένα ανοιχτό πρωτόκολλο που έχει σχεδιαστεί για να τυποποιήσει τον τρόπο AI παράγοντες επικοινωνούν μεταξύ τους. Σκεφτείτε το ως μια κοινή γλώσσα, όπως τα Αγγλικά ή τα Μανδαρινικά, αλλά για πράκτορες λογισμικού.

αρχιτεκτονικό φως f865806d00
ΠΗΓΗ ΕΙΚΟΝΑΣ: IBM ΜέλισσαAI project

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

εικόνα?url=https%3A%2F%2Fresearch prod cms uploads.s3.us.cloud object storage.appdomain.cloud%2FBee AI κινούμενα σχέδια 8a662c5834

Αναπτύχθηκε από την IBM Research και τώρα αποτελεί μέρος του Linux Foundation. ΜέλισσαAI project, Το ACP βασίζεται σε μια απλή αλλά ισχυρή αρχιτεκτονική πελάτη-διακομιστή. Επιτρέπει την απρόσκοπτη αλληλεπίδραση μεταξύ AI πελάτες και εργαλεία που φιλοξενούνται στο cloud, επιτρέποντας την εκτέλεση εργασιών σε πραγματικό χρόνο, σε αρθρωτή μορφή. Δείτε πώς λειτουργεί:

An AI πράκτορας (κατασκευασμένος με οποιοδήποτε πλαίσιο όπως το CrewAI ή Smolagents) είναι «τυλιγμένο» μέσα σε έναν διακομιστή ACP.
Αυτός ο διακομιστής λειτουργεί ως κεντρικός υπολογιστής, καθιστώντας τον παράγοντα ανιχνεύσιμο και προσβάσιμο.
Άλλοι πράκτορες ή διεργασίες, που λειτουργούν ως πελάτες ACP, μπορούν στη συνέχεια να στείλουν τυποποιημένα αιτήματα σε αυτόν τον διακομιστή για να αλληλεπιδράσουν με τον φιλοξενούμενο πράκτορα.

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

Οι Βασικές Αρχές του ACP

Για να εφαρμόσετε το ACP, πρέπει να κατανοήσετε τα θεμελιώδη δομικά του στοιχεία. Το πρωτόκολλο τυποποιεί την επικοινωνία μέσω ορισμένων βασικών στοιχείων που διασφαλίζουν ότι κάθε μήνυμα είναι δομημένο, σαφές και εφαρμόσιμο.

1

Κλάση δεδομένων ACPMessage

Η καρδιά του πρωτοκόλλου είναι η ACPMessage κλάση δεδομένων. Πρόκειται για μια τυποποιημένη μορφή για όλα τα μηνύματα που αποστέλλονται μεταξύ πρακτόρων. Εξασφαλίζει ότι κάθε πακέτο επικοινωνίας περιέχει τις απαραίτητες πληροφορίες για να γίνει κατανοητό και να δρομολογηθεί σωστά. Ένα τυπικό ACPMessage περιλαμβάνει:

Αποστολέας και Παραλήπτης: Προσδιορίζει ποιος έστειλε το μήνυμα και τον παραλήπτη του.
Ερμηνευτική: Το πιο σημαντικό μέρος του μηνύματος, που υποδεικνύει τον αποστολέα's προθέσεων.
Περιεχόμενο: Τα πραγματικά δεδομένα ή οι οδηγίες που αποστέλλονται.
Αναγνωριστικό συνομιλίας: Ένα μοναδικό αναγνωριστικό για την ομαδοποίηση σχετικών μηνυμάτων σε ένα μόνο νήμα συνομιλίας.
2

Παραστατικές

Ένα επιτελεστικό είναι ένα ρήμα που ορίζει τον σκοπό του μηνύματος. Υποδεικνύει στον παραλήπτη τι είδους ενέργεια ή απάντηση αναμένεται. Συνηθισμένα επιτελεστικά περιλαμβάνουν:

ΕΡΩΤΗΣΗ: Ζητά πληροφορίες.
ΑΙΤΗΣΗ: Ζητά από τον πράκτορα να εκτελέσει μια συγκεκριμένη ενέργεια.
ΠΛΗΡΟΦΟΡΩ: Παρέχει πληροφορίες χωρίς να περιμένει απάντηση.
ΕΓΓΡΑΦΕΙΤΕ: Ζητά μελλοντικές ενημερώσεις σχετικά με ένα θέμα.
ΑΝΑΜΕΤΑΔΟΣΗ: Στέλνει μήνυμα σε όλους τους διαθέσιμους εκπροσώπους.
3

ACPAgent

The ACPAgent είναι η βασική κλάση για οποιονδήποτε πράκτορα που συμμετέχει στο σύστημα. Ορίζει τον πράκτορα's ταυτότητα και τις βασικές της δυνατότητες, όπως η αποστολή και η λήψη ACPMessagesΚάθε παράγοντας έχει ένα μοναδικό όνομα ή αναγνωριστικό που επιτρέπει στο σύστημα να δρομολογεί μηνύματα σε αυτόν.

4

ACPMessageBroker

Σε ένα σύστημα με πολλούς πράκτορες, χρειάζεστε ένα κεντρικό ταχυδρομείο για να χειρίζεται όλη την κίνηση μηνυμάτων. ACPMessageBroker εξυπηρετεί αυτόν τον σκοπό.'s ένα κεντρικό στοιχείο δρομολόγησης που λαμβάνει μηνύματα από τους πράκτορες και διασφαλίζει ότι παραδίδονται στον σωστό παραλήπτη. Αυτή η αρχιτεκτονική broker είναι το κλειδί για να καταστεί το σύστημα επεκτάσιμο και διαχειρίσιμο.

Ένας οδηγός κωδικοποίησης για το πρώτο σας σύστημα ACP

Σύστημα ACP

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

Βήμα 1: Ρύθμιση του περιβάλλοντος σας

Αρχικά, πρέπει να εγκαταστήσετε την απαραίτητη βιβλιοθήκη Python για την αλληλεπίδραση με την Google.'s γενετική AI μοντέλα.

pip install google-generativeai

Θα χρειαστεί επίσης να διαμορφώσετε το κλειδί API σας για να επαληθεύσετε τα αιτήματά σας.

Βήμα 2: Ορισμός των βασικών στοιχείων ACP

Ας μεταφράσουμε τις βασικές έννοιες του ACP σε κώδικα Python . Θα ξεκινήσουμε ορίζοντας τη δομή του μηνύματός μας.

# Define the ACP Message Structure using a dataclass
from dataclasses import dataclass, field
from typing import Any, Dict, Optional
import uuid

@dataclass
class ACPMessage:
    """A standard message format for Agent Communication Protocol."""
    sender: str
    receiver: str
    performative: str
    content: Any
    message_id: str = field(default_factory=lambda: str(uuid.uuid4()))
    conversation_id: Optional[str] = None
    metadata: Dict[str, Any] = field(default_factory=dict)

    def create_reply(self, sender: str, performative: str, content: Any) -> 'ACPMessage':
        """Helper to create a reply to this message."""
        return ACPMessage(
            sender=sender,
            receiver=self.sender,
            performative=performative,
            content=content,
            conversation_id=self.conversation_id or self.message_id
        )

Στη συνέχεια, ορίζουμε το ACPAgent κλάση. Κάθε πράκτορας θα έχει ένα όνομα και μια μέθοδο για τη διαχείριση των εισερχόμενων μηνυμάτων.

# Define the base class for an ACP Agent
class ACPAgent:
    """Base class for an agent in an ACP system."""
    def __init__(self, name, broker):
        self.name = name
        self.broker = broker
        self.broker.register_agent(self)

    def send_message(self, message: ACPMessage):
        """Sends a message through the broker."""
        print(f"[{self.name}] Sending message to {message.receiver}: {message.performative}")
        self.broker.route_message(message)

    def receive_message(self, message: ACPMessage):
        """Processes an incoming message."""
        print(f"[{self.name}] Received message from {message.sender}: {message.performative}")
        # Agent-specific logic goes here
        pass

Τέλος, δημιουργούμε το ACPMessageBroker να διαχειρίζεται την επικοινωνία.

# Define the Message Broker for routing messages
class ACPMessageBroker:
    """A central broker to route messages between agents."""
    def __init__(self):
        self.agents: Dict[str, ACPAgent] = {}

    def register_agent(self, agent: ACPAgent):
        """Adds a new agent to the network."""
        print(f"[Broker] Registering agent: {agent.name}")
        self.agents[agent.name] = agent

    def route_message(self, message: ACPMessage):
        """Routes a message to the intended recipient."""
        recipient_agent = self.agents.get(message.receiver)
        if recipient_agent:
            recipient_agent.receive_message(message)
        else:
            print(f"[Broker] Error: Agent '{message.receiver}' not found.")

Βήμα 3: Δημιουργία και Υλοποίηση Πράκτορων

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

εισαγωγή google.generativeai ως γεναί

# Configure your Gemini API key
# genai.configure(api_key="YOUR_API_KEY")

class ResearcherAgent(ACPAgent):
    """An agent that uses a generative model to answer queries."""
    def __init__(self, name, broker):
        super().__init__(name, broker)
        # self.model = genai.GenerativeModel('gemini-pro')

    def receive_message(self, message: ACPMessage):
        super().receive_message(message)
        if message.performative == "QUERY":
            question = message.content
            # For demonstration, we'll use a canned response.
            # In a real scenario, you would call the model:
            # response_text = self.model.generate_content(question).text
            response_text = f"My analysis on '{question}' indicates a positive outlook."

            reply = message.create_reply(
                sender=self.name,
                performative="INFORM",
                content=response_text
            )
            self.send_message(reply)

class ManagerAgent(ACPAgent):
    """An agent that delegates tasks and queries other agents."""
    def receive_message(self, message: ACPMessage):
        super().receive_message(message)
        if message.performative == "INFORM":
            print(f"[{self.name}] Got a response: {message.content}")

    def start_task(self, topic: str):
        """Starts a new task by querying the researcher."""
        print(f"[{self.name}] Initiating research on: {topic}")
        query_message = ACPMessage(
            sender=self.name,
            receiver="Researcher_1",
            performative="QUERY",
            content=f"What is the market trend for {topic}?",
            conversation_id=str(uuid.uuid4())
        )
        self.send_message(query_message)

Βήμα 4: Εκτέλεση του συστήματος

Τώρα, ας's συνδυάστε τα όλα και δείτε τα στην πράξη.

# Main execution block
if __name__ == "__main__":
    # 1. Initialise the broker
    message_broker = ACPMessageBroker()

    # 2. Create and register agents
    manager = ManagerAgent("Manager_Alpha", message_broker)
    researcher = ResearcherAgent("Researcher_1", message_broker)

    # 3. Kick off a task
    manager.start_task("AI-powered SEO tools")

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

Κλιμάκωση του συστήματός σας με προηγμένες ροές εργασίας

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

Διαδοχική Ροή Εργασίας: Ένα αρχικό αίτημα ενεργοποιεί μια σειρά από πράκτορες, τον έναν μετά τον άλλον. Για παράδειγμα, ένα Διευθυντής Πράκτορας θα μπορούσε να ρωτήσει έναν Ερευνητικός Πράκτορας να συλλέξει δεδομένα, τα οποία στη συνέχεια διαβιβάζουν τα ευρήματά τους σε ένα Πράκτορας γραφής να συντάξει μια έκθεση.
Ιεραρχική Ροή Εργασίας: Ένα κορυφαίο επίπεδο Δρομολογητής λαμβάνει ένα σύνθετο ερώτημα, το διασπά σε υποεργασίες και αναθέτει κάθε υποεργασία στον κατάλληλο εξειδικευμένο παράγοντα. Αυτό είναι σύνηθες σε εξελιγμένα συστήματα όπως αυτά που χρησιμοποιούνται για AI πράκτορες για SEO, όπου διαφορετικοί πράκτορες μπορούν να χειριστούν αυτοματοποιημένη έρευνα λέξεων-κλειδιών, βελτιστοποίηση περιεχομένουκαι ανάλυση ανταγωνιστών.

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

ACP στον Πραγματικό Κόσμο: Η Επιχείρηση του SEO

Πώς το ACP κάνει το SEO εύκολο

Οι αρχές του ACP δεν είναι απλώς θεωρητικές. Έχουν άμεσες εφαρμογές στον αυτοματισμό επιχειρήσεων. Σκεφτείτε τον τομέα της Βελτιστοποίησης Μηχανών Αναζήτησης (SEO). Μια σύγχρονη στρατηγική SEO περιλαμβάνει πολλά κινούμενα μέρη: ανάλυση λέξεων-κλειδιών, δημιουργία περιεχομένου, βελτιστοποίηση εντός σελίδας και παρακολούθηση backlink.

Ένα σύστημα πολλαπλών πρακτόρων που υποστηρίζεται από ACP θα μπορούσε να αυτοματοποιήσει ολόκληρη αυτή τη διαδικασία. Φανταστείτε ένα σύστημα με:

  1. An SEO Strategist Agent που παρακολουθεί τις τάσεις αναζήτησης και εντοπίζει κενά περιεχομένου.
  2. A Πράκτορας Έρευνας Λέξεων-Κλειδιών που βρίσκει πρωτογενή και υψηλής αξίας LSI λέξεις-κλειδιά.
  3. A Πράκτορας Συγγραφής Περιεχομένου που δημιουργεί άρθρα με βάση τις συνοπτικές πληροφορίες του στρατηγικού σχεδιαστή.
  4. An Πράκτορας βελτιστοποίησης στη σελίδα που ελέγχει το περιεχόμενο για αναγνωσιμότητα, πυκνότητα λέξεων-κλειδιών και σημασιολογική συνάφεια.

Με το ACP, αυτοί οι πράκτορες μπορούσαν να επικοινωνούν άψογα. Ο στρατηγικός πράκτορας μπορούσε να στείλει ένα REQUEST στον ερευνητικό πράκτορα για λέξεις-κλειδιά, ο οποίος στη συνέχεια στέλνει ένα INFORM μήνυμα με τα ευρήματά του στον εκπρόσωπο γραφής. Αυτή η αρθρωτή δομή καθιστά ολόκληρη τη ροή εργασίας SEO πιο αποτελεσματική και επεκτάσιμη.

Συμπέρασμα

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

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

Από εκεί, μπορείτε να κλιμακωθείτε για να δημιουργήσετε εξελιγμένες, ιεραρχικές ροές εργασίας που μπορούν να αντιμετωπίσουν σύνθετες εργασίες σε τομείς που κυμαίνονται από την ανάπτυξη λογισμικού έως το SEO. Η υιοθέτηση ενός πρωτοκόλλου όπως το ACP είναι ένα ζωτικό βήμα προς ένα μέλλον όπου οι ευφυείς πράκτορες συνεργάζονται άψογα για να μας βοηθήσουν να επιτύχουμε τους στόχους μας.

Αφήστε μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία σημειώνονται με *

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για τη μείωση των ανεπιθύμητων μηνυμάτων. Μάθετε πώς υποβάλλονται σε επεξεργασία τα δεδομένα των σχολίων σας.

Γίνε μελος Aimojo Φυλή!

Εγγραφείτε σε 76,000+ μέλη για εμπιστευτικές συμβουλές κάθε εβδομάδα! 
🎁 BONUS: Πάρτε τα 200 δολάρια μας "AI «Εργαλειοθήκη Mastery» ΔΩΡΕΑΝ όταν εγγραφείτε!

Τάσεις AI Κόλλα
Πρόσβαση

AI Απλοποιημένη συμμόρφωση με τους κανονισμούς ADA και EAA Αυτοματοποιημένη υποστήριξη αποκατάστασης WCAG και δικαστικών διαφορών για κάθε επιχείρηση

SpeakON

Μετατρέψτε κάθε προφορική σκέψη σε γυαλισμένο, έτοιμο για άμεση αποστολή κειμένου Η πρώτη στον κόσμο AI υλικό επικοινωνίας για iPhone

Kink AI

Η Φαντασία σου, οι Κανόνες σου: Εξερευνήστε την Τεχνητή Νοημοσύνη του Kink Εξερευνήστε το BDSM Roleplay και τη Συνομιλία Φαντασίας με το Kink AI

 

Άιφετσλι

Το Ανοιχτό Κώδικα AI Πράκτορας που επαναφέρει τον αυτοματισμό των επιχειρήσεων στον υπολογιστή σας Μια τοπική πρωτιά AI χώρος εργασίας για έρευνα, έγγραφα και προγραμματισμένες ροές εργασίας.

Μπουλίν AI

Μετατρέψτε οποιαδήποτε φωτογραφία σε Viral Bulin 47 Freestyle Παράσταση σε Δευτερόλεπτα The AI γεννήτρια βίντεο που κατασκευάστηκε για μια εμβληματική σκηνή δρόμου.

© Πνευματικά δικαιώματα 2023 - 2026 | Γίνετε AI Pro | Φτιαγμένο με ♥