Изградите вишеагентске системе помоћу протокола за комуникацију агената (ACP)

Изградите вишеагентске системе помоћу протокола за комуникацију агената (ACP)

Како се свет вештачке интелигенције шири, програмери прелазе са једног AI модела до сложених, вишеагентских система где бројни специјализовани агенти сарађују како би решили проблеме.

Ова промена доноси велики изазов: Како натерати ове различите агенте, које су вероватно направили различити тимови користећи различите алате, да ефикасно комуницирају једни с другима? Ту стандардизовани протокол постаје неопходан. 

Протокол за комуникацију агента (ACP) нуди решење, пружајући јединствени језик за комуникацију агената, чинећи системе скалабилнијим, флексибилнијим и лакшим за управљање.

Овај водич пружа детаљан водич за изградњу скалабилног вишеагентски комуникациони систем који користи протокол за комуникацију агента

Шта је протокол за комуникацију агената (ACP)?

Протокол за комуникацију агента (ACP) је отворени протокол дизајниран да стандардизује начин AI агенти комуницирају једни са другима. Замислите то као заједнички језик, попут енглеског или мандаринског, али за софтверске агенте.

архитектура светло f865806d00
ИЗВОР СЛИКЕ: ИБМ- пчелаAI projekat

Пружа јединствени интерфејс који омогућава агентима да беспрекорно раде заједно, без обзира на програмски језик или оквира са којим су направљени. Ово решава велики проблем у развоју вишеагентских система, где интеграција агената често захтева прилагођен, крхак код који се поквари сваки пут када се агент ажурира.

слика?урл=хттпс%3А%2Ф%2Фресеарцх вебсајт прод цмс уплоадс.с3.ус.клауд објекат сторaџ.аппдомаин.клауд%2ФБее AI анимација 8a662c5834

Развијено од стране IBM Research-а и сада је део Linux фондације пчелаAI projekat, ACP је изграђен на једноставној, али моћној клијент-сервер архитектури. Омогућава беспрекорну интеракцију између AI клијената и алате хостоване у облаку, што омогућава модуларно извршавање задатака у реалном времену. Ево како то функционише:

An AI агент (направљен са било којим фрејмворком као што је CrewAI или Smolagents) је „умотан“ унутар ACP сервера.
Овај сервер делује као хост, чинећи агента видљивим и доступним.
Други агенти или процеси, који делују као ACP клијенти, могу затим слати стандардизоване захтеве овом серверу за интеракцију са хостованим агентом.

Ова структура значи да можете лако заменити агента новом верзијом или потпуно другачијим агентом изграђеним на другом фрејмворку без потребе за преписивањем целог система.

Основни принципи ACP-а

Да бисте имплементирали ACP, потребно је да разумете његове основне градивне блокове. Протокол стандардизује комуникацију кроз неколико кључних компоненти које осигуравају да је свака порука структурирана, јасна и применљива.

1

Класа података ACPMessage

Срж протокола је ACPMessage класа података. Ово је стандардизовани формат за све поруке које се шаљу између агената. Он осигурава да сваки комуникациони пакет садржи потребне информације да би био правилно разумет и усмерен. Типичан ACPMessage обухвата:

Пошиљалац и прималац: Идентификује ко је послао поруку и ко је њен намењени прималац.
Перформативно: Најважнији део поруке, који указује на пошиљаоца's намера.
Садржај: Стварни подаци или инструкција која се шаље.
ИД разговора: Јединствени идентификатор за груписање повезаних порука у једну нит разговора.
2

Перформативи

Перформатив је глагол који дефинише сврху поруке. Он говори примаоцу каква се радња или одговор очекује. Уобичајени перформативи укључују:

УПИТ: Тражи информације.
ЗАХТЕВ: Тражи од агента да изврши одређену радњу.
ИНФОРМАЦИЈА: Пружа информације без очекивања одговора.
ПРЕТПЛАТИТЕ СЕ: Тражи будућа ажурирања о теми.
Емитовање: Шаље поруку свим доступним агентима.
3

Агент за ACPAgent

ACPAgent је основна класа за било ког агента који учествује у систему. Она дефинише агента's идентитет и његове основне могућности, као што су слање и примање ACPMessagesСваки агент има јединствено име или ИД који омогућава систему да усмерава поруке ка њему.

4

ACPMessageBroker

У систему са много агената, потребна вам је централна пошта која ће обрађивати сав саобраћај порука. ACPMessageBroker служи овој сврси. То's централна компонента рутирања која прима поруке од агената и осигурава да се оне испоручују исправном примаоцу. Ова архитектура брокера је кључна за скалабилност и управљивост система.

Водич за кодирање вашег првог ACP система

АКП систем

Сада, нека's упрљамо руке и изградимо једноставан систем за размену порука компатибилан са ACP стандардима ПитонОвај туторијал ће користити гоогле's Гемини АПИ за обраду природног језика, као што је показано у оригиналној имплементацији.

Корак 1: Подешавање вашег окружења

Прво, потребно је да инсталирате потребну Пајтон библиотеку за интеракцију са Гуглом's генеративе AI модели.

pip install google-generativeai

Такође ћете морати да конфигуришете свој АПИ кључ да потврди аутентичност ваших захтева.

Корак 2: Дефинисање основних ACP компоненти

Дозволити's превести основне концепте ACP-а у Питхон кодПочећемо дефинисањем структуре наше поруке.

# 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: Креирање и имплементација агената

Са успостављеним оквиром, можемо креирати специјализоване агенте. Нека's направи Агент истраживача који може да одговори на питања и Менаџер агент то доводи у питање.

увези гугл.генеративнеai као генаи

# 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). Модерни СЕО стратегија укључује много покретних делова: анализу кључних речи, креирање садржаја, оптимизацију на страници и праћење повратних линкова.

Мултиагентни систем који покреће ACP могао би да аутоматизује цео овај процес. Замислите систем са:

  1. An Агент SEO стратега који прати трендове претраге и идентификује празнине у садржају.
  2. A Агент за истраживање кључних речи који проналази високовредне примарне и ЛСИ кључне речи.
  3. A Агент за писање садржаја који генерише чланке на основу упутстава стратега.
  4. An Агент за оптимизацију на страници који проверава садржај ради читљивости, густине кључних речи и семантичке релевантности.

Са ACP-ом, ови агенти су могли беспрекорно да комуницирају. Агент стратег би могао да пошаље REQUEST истраживачком агенту за кључне речи, који затим шаље INFORM поруку са својим налазима агенту за писање. Ова модуларност чини цео SEO ток рада ефикаснијим и скалабилнијим.

Закључак

Изградња сарадње AI Системи је једна од најузбудљивијих граница у технологијаМеђутим, без заједничког комуникационог стандарда, ови системи ризикују да постану замршени збрци прилагођених интеграција. Протокол за комуникацију агената (ACP) пружа чисто, робусно и скалабилно решење за овај проблем.

Стандардизацијом начина на који агенти интерагују путем једноставног модел клијент-сервер и добро дефинисаном структуром порука, ACP омогућава програмерима да креирају флексибилне и моћне вишеагентне апликације. Као што је показано у нашем Водич за Пајтон, имплементација основног ACP система је једноставна. 

Одатле, можете скалирати да бисте креирали софистициране, хијерархијске токове рада који могу да се носе са сложеним задацима у областима које се крећу од развоја софтвера до SEO-а. Усвајање протокола као што је ACP је важан корак ка будућности у којој интелигентни агенти беспрекорно сарађују како би нам помогли да остваримо своје циљеве.

Ostavite komentar

Ваша емаил адреса неће бити објављена. Obavezna polja su označena *

Ова страница користи Акисмет како би смањила нежељену пошту. Сазнајте како се обрађују подаци о вашим коментарима.

Јоин Aimojo Племе!

Придружите се 76,200+ чланова за инсајдерске савете сваке недеље! 
🎁 БОНУС: Добијте наших 200 долараAI „Мајсторски алат“ БЕСПЛАТНО када се региструјете!

Трендови AI алат
Артикос

Доставите са доказима, а не са интуицијом — Истраживање корисника брзином Sprint-а Синтетичко истраживање корисника засновано на вештачкој интелигенцији које пружа валидиране увиде у публику за 30 минута

Палабра.аи

Срушите сваки језички зид у реалном времену — без губитка гласа Преводилац говора у говор са вештачком интелигенцијом, направљен за догађаје уживо, позиве и стримовање

Сентаро

твој AI Агент за обавештајну претњу који зауставља нападе путем е-поште пре него што неко кликне Безбедност имејла за Gmail и Outlook заснована на вештачкој интелигенцији — без промена MX података, без сложености.

Аццио 

Претворите један захтев у потпуно снабдевену пословну операцију спремну за приход Агент AI Радна група створена за глобално извршење пословања у оквиру МСП

Чати

Претворите обичан енглески језик у активну, комплетну веб апликацију за неколико минута Прилагођено GDPR-у AI Креатор апликација направљен за тимове, агенције и менаџере производа

© Ауторска права 2023 - 2026 | Постаните AI Професионално | Направљено са ♥