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

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

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

ACPAgent је основна класа за било ког агента који учествује у систему. Она дефинише агента's идентитет и његове основне могућности, као што су слање и примање ACPMessagesСваки агент има јединствено име или ИД који омогућава систему да усмерава поруке ка њему.
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-а постаје јасна када се повећа број агената са два на више, стварајући сложене токове рада. Протокол подржава напредне обрасце попут секвенцијалних и хијерархијских ланаца.
Ова способност модуларне изградње, међусобно повезани системи је револуционарна прекретница. Омогућава тимовима да независно развијају и одржавају сопствене агенте, знајући да ће се они беспрекорно повезати са већим системом захваљујући заједничком протоколу.
ACP у стварном свету: Аргументи за SEO

Принципи ACP нису само теоријски; они имају директну примену у пословној аутоматизацији. Размотрите област Сеарцх Енгине Оптимизатион (SEO). Модерни СЕО стратегија укључује много покретних делова: анализу кључних речи, креирање садржаја, оптимизацију на страници и праћење повратних линкова.
Мултиагентни систем који покреће ACP могао би да аутоматизује цео овај процес. Замислите систем са:
- An Агент SEO стратега који прати трендове претраге и идентификује празнине у садржају.
- A Агент за истраживање кључних речи који проналази високовредне примарне и ЛСИ кључне речи.
- A Агент за писање садржаја који генерише чланке на основу упутстава стратега.
- An Агент за оптимизацију на страници који проверава садржај ради читљивости, густине кључних речи и семантичке релевантности.
Са ACP-ом, ови агенти су могли беспрекорно да комуницирају. Агент стратег би могао да пошаље REQUEST истраживачком агенту за кључне речи, који затим шаље INFORM поруку са својим налазима агенту за писање. Ова модуларност чини цео SEO ток рада ефикаснијим и скалабилнијим.
Закључак
Изградња сарадње AI Системи је једна од најузбудљивијих граница у технологијаМеђутим, без заједничког комуникационог стандарда, ови системи ризикују да постану замршени збрци прилагођених интеграција. Протокол за комуникацију агената (ACP) пружа чисто, робусно и скалабилно решење за овај проблем.
Стандардизацијом начина на који агенти интерагују путем једноставног модел клијент-сервер и добро дефинисаном структуром порука, ACP омогућава програмерима да креирају флексибилне и моћне вишеагентне апликације. Као што је показано у нашем Водич за Пајтон, имплементација основног ACP система је једноставна.
Одатле, можете скалирати да бисте креирали софистициране, хијерархијске токове рада који могу да се носе са сложеним задацима у областима које се крећу од развоја софтвера до SEO-а. Усвајање протокола као што је ACP је важан корак ка будућности у којој интелигентни агенти беспрекорно сарађују како би нам помогли да остваримо своје циљеве.


