Többügynökös rendszerek létrehozása az Agent Communication Protocol (ACP) segítségével

Többügynökös rendszerek létrehozása az Agent Communication Protocol (ACP) segítségével

Ahogy a mesterséges intelligencia világa bővül, a fejlesztők az egyszeri… AI modellektől a komplex, többágenses rendszerekig, ahol számos specializált ágens működik együtt a problémák megoldása érdekében.

Ez a változás hatalmas kihívást jelent: Hogyan lehet rávenni ezeket a különböző ágenseket, amelyeket esetleg különböző csapatok készítettek különböző eszközökkel, hogy hatékonyan kommunikáljanak egymással? Itt válik elengedhetetlenné egy szabványosított protokoll. 

Az Ügynöki kommunikációs protokoll Az (ACP) megoldást kínál, egységes nyelvet biztosítva az ügynökök kommunikációjához, így a rendszerek skálázhatóbbak, rugalmasabbak és könnyebben kezelhetők.

Ez az útmutató részletes útmutatót nyújt egy skálázható többügynökös kommunikációs rendszer az Agent Communication Protocol használatával

Mi az Agent Communication Protocol (ACP)?

Az Agent Communication Protocol (ACP) egy nyílt protokoll, amelyet a ... szabványosítására terveztek. AI szerek kommunikáljanak egymással. Gondolj rá úgy, mint egy közös nyelvre, mint az angolra vagy a mandarinra, de szoftverügynökök számára.

építészeti fény f865806d00
KÉP FORRÁSA: IBM MéhAI program

Egységes felületet biztosít, amely lehetővé teszi az ügynökök számára, hogy zökkenőmentesen együttműködjenek, függetlenül attól, hogy programozási nyelv vagy a keretrendszer, amellyel készültek. Ez megold egy komoly fejfájást a többágenses rendszerek fejlesztése során, ahol az ágensek integrálása gyakran egyedi, törékeny kódot igényel, amely minden alkalommal megszakad, amikor egy ágens frissül.

image?url=https%3A%2F%2Fresearch weboldal prod cms uploads.s3.us.cloud objektumtárolás.alkalmazástartomány.cloud%2FBee AI animáció 8a662c5834

Az IBM Research fejlesztette ki, és most a Linux Foundation része MéhAI programAz ACP egy egyszerű, mégis hatékony kliens-szerver architektúrára épül. Zökkenőmentes interakciót tesz lehetővé a következők között: AI ügyfél részére és felhőalapú eszközök, amelyek valós idejű, moduláris feladatvégrehajtást tesznek lehetővé. Így működik:

An AI ügynök (bármely keretrendszerrel, például a Crew-val készült)AI vagy Smolagents) egy ACP-kiszolgálóba van „csomagolva”.
Ez a szerver gazdagépként működik, így az ügynök felderíthető és elérhető.
Más ügynökök vagy folyamatok, ACP kliensként működve, szabványosított kéréseket küldhetnek erre a szerverre, hogy interakcióba lépjenek a hosztolt ügynökkel.

Ez a struktúra azt jelenti, hogy könnyen lecserélhetsz egy ügynököt egy új verzióra vagy egy teljesen más, egy másik keretrendszerre épülő ügynökre anélkül, hogy a teljes rendszert újra kellene írnod.

Az ACP alapelvei

Az ACP megvalósításához meg kell érteni az alapvető építőelemeit. A protokoll néhány kulcsfontosságú összetevőn keresztül szabványosítja a kommunikációt, amelyek biztosítják, hogy minden üzenet strukturált, világos és cselekvésre ösztönző legyen.

1

ACPMessage adatosztály

A protokoll lényege a ACPMessage adatosztály. Ez egy szabványosított formátum az ügynökök között küldött összes üzenethez. Biztosítja, hogy minden kommunikációs csomag tartalmazza a szükséges információkat a megértéshez és a helyes útvonaltervezéshez. Egy tipikus ACPMessage tartalmazza:

Feladó és vevő: Azonosítja az üzenet küldőjét és a címzettet.
Előadói: Az üzenet legfontosabb része, amely a feladót jelöli's elszánt.
Tartalom: A ténylegesen elküldött adat vagy utasítás.
Beszélgetés azonosítója: Egy egyedi azonosító, amely a kapcsolódó üzeneteket egyetlen beszélgetési szálba csoportosítja.
2

Előadóművészeti

A performatívusz egy ige, amely meghatározza az üzenet célját. Megmondja a címzettnek, hogy milyen cselekvést vagy választ vár. A gyakori performatívuszok közé tartoznak:

LEKÉRDEZÉS: Információt kér.
KÉRÉS: Arra kéri az ügynököt, hogy hajtson végre egy adott műveletet.
TÁJÉKOZTATÁS: Válasz elvárása nélkül ad információt.
SUBSCRIBE: Jövőbeli frissítéseket kér egy témával kapcsolatban.
ADÁS: Üzenetet küld az összes elérhető ügynöknek.
3

ACPAgent

Az ACPAgent a rendszerben részt vevő bármely ágens alaposztálya. Ez definiálja az ágenst's identitás és annak alapvető képességei, például küldés és fogadás ACPMessagesMinden ügynöknek egyedi neve vagy azonosítója van, amely lehetővé teszi a rendszer számára, hogy üzeneteket irányítson hozzá.

4

ACPMessageBroker

Egy sok ügynökkel rendelkező rendszerben szükség van egy központi postára, amely az összes üzenetforgalmat kezeli. ACPMessageBroker Ezt a célt szolgálja.'s egy központi útválasztó komponens, amely fogadja az ügynököktől érkező üzeneteket, és biztosítja, hogy azok a megfelelő címzetthez jussanak. Ez a brókerarchitektúra kulcsfontosságú a rendszer skálázhatóvá és kezelhetővé tételéhez.

Kódolási útmutató az első ACP rendszeredhez

ACP rendszer

Most pedig hagyd's bepiszkolni a kezünket, és felépíteni egy egyszerű, ACP-kompatibilis üzenetküldő rendszert PitonEz az oktatóanyag a következőt fogja használni: Google's Gemini API a természetes nyelvi feldolgozáshoz, ahogy az az eredeti implementációban is látható.

1. lépés: A környezet beállítása

Először telepítenie kell a szükséges Python könyvtárat a Google-lel való interakcióhoz.'s nemző AI modellek.

pip install google-generativeai

Azt is konfigurálnia kell a API kulcsot a kéréseid hitelesítéséhez.

2. lépés: Az ACP alapvető összetevőinek meghatározása

Legyen's lefordítani az ACP alapvető koncepcióit Python kódKezdjük az üzenetstruktúránk meghatározásával.

# 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
        )

Ezután definiáljuk a ACPAgent osztály. Minden ügynöknek lesz egy neve és egy metódusa a bejövő üzenetek kezelésére.

# 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

Végül létrehozzuk a ACPMessageBroker a kommunikáció kezelésére.

# 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. lépés: Ügynökök létrehozása és megvalósítása

A keretrendszerrel specializált ágenseket hozhatunk létre. Legyen's csinálj egy Kutató ügynök amely kérdésekre tud válaszolni, és Menedzser Ügynök ami megkérdőjelezi azt.

import google.generativeai mint genai

# 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. lépés: A rendszer futtatása

Most pedig hagyd's Tedd össze az egészet, és nézd meg működés közben.

# 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")

Amikor lefuttatod ezt a kódot, látni fogod, hogy ügynökmenedzser Elküld egy lekérdezést, a bróker továbbítja azt a kutatónak, a kutató feldolgozza azt és választ küld, a bróker pedig visszairányítja a választ a vezetőnek. Ez az egyszerű interakció egy robusztus, leválasztott kommunikációs folyamatot demonstrál.

Rendszer skálázása fejlett munkafolyamatokkal

Az ACP valódi ereje akkor válik nyilvánvalóvá, amikor két ügynökről sok ügynökre skálázunk, összetett munkafolyamatokat hozva létre. A protokoll támogatja a fejlett mintákat, mint például a szekvenciális és hierarchikus láncokat.

Szekvenciális munkafolyamat: Egy kezdeti kérés egymás után több ügynököt indít el. Például egy Menedzser Ügynök megkérdezhetne egy Kutatási ügynök adatokat gyűjt, majd továbbítja az eredményeket egy Íróügynök jelentést készíteni.
Hierarchikus munkafolyamat: Egy legfelső szintű Router ügynök fogad egy összetett lekérdezést, lebontja azt részfeladatokra, és minden részfeladatot delegál a megfelelő specializált ügynöknek. Ez gyakori a kifinomult rendszerekben, mint például amilyeneket a következőkhöz használnak: AI SEO ügynökök, ahol különböző ügynökök kezelhetik automatizált kulcsszókutatás, tartalom optimalizálásaés a versenytársak elemzése.

Ez a moduláris építési képesség, összekapcsolt rendszerek egy forradalmi változást hoz. Lehetővé teszi a csapatok számára, hogy függetlenül fejlesszék és karbantartsák saját ügynökeiket, tudván, hogy azok zökkenőmentesen illeszkednek a nagyobb rendszerbe a közös protokollnak köszönhetően.

ACP a való világban: Érvek a SEO mellett

Hogyan teszi az ACP a SEO-t egyszerűvé

Az ACP alapelvei nem csupán elméletiek; közvetlen alkalmazási lehetőségekkel rendelkeznek az üzleti automatizálásban. Vegyük figyelembe a következő területet: Keresőoptimalizálás (SEO). Egy modern SEO stratégia sok mozgó részt foglal magában: kulcsszóelemzést, tartalomkészítést, oldalon belüli optimalizálást és backlinkkövetést.

Egy ACP által működtetett többügynökös rendszer automatizálhatná ezt a teljes folyamatot. Képzeljen el egy olyan rendszert, amelyben:

  1. An SEO stratégiai ügynök amely figyeli a keresési trendeket és azonosítja a tartalmi hiányosságokat.
  2. A Kulcsszókutató ügynök amely nagy értékű elsődleges és LSI kulcsszavak.
  3. A Tartalomíró ügynök amely a stratéga megbízásai alapján cikkeket generál.
  4. An Oldalon belüli optimalizáló ügynök amely ellenőrzi a tartalom olvashatóságát, kulcsszó-sűrűségét és szemantikai relevanciáját.

Az ACP segítségével ezek az ügynökök hibátlanul tudtak kommunikálni. A stratéga ügynöke küldhetett egy REQUEST a kulcsszavak keresésével foglalkozó ügynökségnek, amely ezután egy INFORM üzenetet küldjön a megállapításaival az író ügynöknek. Ez a modularitás hatékonyabbá és skálázhatóbbá teszi a teljes SEO munkafolyamatot.

Összegzés

Együttműködés építése AI rendszerek az egyik legizgalmasabb határvidék technológiaKözös kommunikációs szabvány nélkül azonban ezek a rendszerek az egyedi integrációk kusza káoszává válhatnak. Az Agent Communication Protocol (ACP) tiszta, robusztus és skálázható megoldást kínál erre a problémára.

Azzal, hogy szabványosítjuk az ügynökök interakcióját egy egyszerű kliens-szerver modell és egy jól definiált üzenetstruktúrával az ACP lehetővé teszi a fejlesztők számára, hogy rugalmas és hatékony többügynökös alkalmazásokat hozzanak létre. Amint azt a mi Python útmutatóegy alapvető ACP rendszer megvalósítása egyszerű. 

Innen kiindulva skálázható, kifinomult, hierarchikus munkafolyamatok hozhatók létre, amelyek képesek komplex feladatok elvégzésére a szoftverfejlesztéstől a SEO-ig terjedő területeken. Az ACP-hez hasonló protokoll bevezetése létfontosságú lépés egy olyan jövő felé, ahol intelligens ügynökök zökkenőmentesen együttműködnek céljaink elérésében.

Hagy egy Válaszol

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozzák fel megjegyzései adatait.

Csatlakozz a Aimojo Törzs!

Csatlakozzon a 76,200 XNUMX+ taghoz, hogy bennfentes tippeket kapjon minden héten! 
🎁 BÓNUSZ: Szerezd meg a 200 dolláros "AI „Mastery Toolkit” INGYENES regisztrációval!

Felkapott AI Eszközök
Szuperskálázható mesterséges intelligencia

Bármely URL-t percek alatt indításra kész hirdetési kampánysá alakíthat Az AI Teljesítményorientált marketingesek és növekedésorientált márkák számára készült hirdetési ügynök

tl;dv

Ne veszítsd el a mondanivalódat. Kezdj el cselekedni minden megbeszélésen. Az AI megbeszélésjegyzet-készítő, amely rögzíti és hasznosítható kimenetté alakítja a beszélgetéseket.

AskYura

Minden ügyfélbeszélgetést befejezett üzleti cselekvéssé alakítson A kód nélküli AI Operatív végrehajtásra készült ügynök

Kuberns

Okosabb telepítés. Gyorsabb skálázás. Akár 40%-kal csökkentheti a felhőköltségeket. A mesterséges intelligencián alapuló Cloud PaaS nulla konfigurációjú, teljes körű telepítéshez készült.

uizard

Ötletekből interaktív prototípusok készítése egyetlen tervezési készség nélkül AI Felhasználói felület tervező eszköz drótvázakhoz, makettekhez és alkalmazásprototípus-készítéshez

© Szerzői jog 2023 - 2026 | Legyen Ön is AI Pro | Készült ♥-val