Construya sistemas multiagente con el Protocolo de comunicación de agentes (ACP)

Construya sistemas multiagente con el Protocolo de comunicación de agentes (ACP)

A medida que el mundo de la inteligencia artificial se expande, los desarrolladores están pasando de un solo... AI modelos a sistemas complejos de múltiples agentes donde numerosos agentes especializados colaboran para resolver problemas.

Este cambio supone un enorme desafío: ¿Cómo lograr que estos diferentes agentes, posiblemente creados por distintos equipos y con distintas herramientas, se comuniquen eficazmente entre sí? Aquí es donde un protocolo estandarizado se vuelve esencial. 

La función Protocolo de comunicación del agente (ACP) ofrece una solución que proporciona un lenguaje unificado para que los agentes se comuniquen, haciendo que los sistemas sean más escalables, flexibles y fáciles de administrar.

Esta guía proporciona un tutorial detallado para construir una plataforma escalable. sistema de comunicación multiagente que utiliza el Protocolo de Comunicación de Agentes

¿Qué es el Protocolo de Comunicación del Agente (ACP)?

El Protocolo de Comunicación del Agente (ACP) es un protocolo abierto diseñado para estandarizar la forma AI agentes Comunicarse entre sí. Piénselo como un idioma común, como el inglés o el mandarín, pero para agentes de software.

luz de arquitectura f865806d00
FUENTE DE IMAGEN: IBM abejaAI Antecedentes

Proporciona una interfaz unificada que permite a los agentes trabajar juntos sin problemas, independientemente de la lenguaje de programación o el marco con el que se crearon. Esto soluciona un gran problema en el desarrollo de sistemas multiagente, donde la integración de agentes a menudo requiere código personalizado y frágil que falla cada vez que se actualiza un agente.

imagen?url=https%3A%2F%2Fsitio web de investigación prod cms uploads.s3.us.cloud object storage.appdomain.cloud%2FBee AI animación 8a662c5834

Desarrollado por IBM Research y ahora parte de la Fundación Linux. abejaAI AntecedentesACP se basa en una arquitectura cliente-servidor sencilla pero potente. Permite una interacción fluida entre AI clientes y herramientas alojadas en la nube, que permiten la ejecución modular de tareas en tiempo real. Así funciona:

An AI agente (construido con cualquier marco como CrewAI o Smolagents) está “envuelto” dentro de un servidor ACP.
Este servidor actúa como host, lo que hace que el agente sea detectable y accesible.
Otros agentes o procesos, actuando como clientes ACP, pueden enviar solicitudes estandarizadas a este servidor para interactuar con el agente alojado.

Esta estructura significa que puedes cambiar fácilmente un agente por una nueva versión o un agente completamente diferente creado en otro marco sin tener que reescribir todo el sistema.

Los principios básicos del ACP

Para implementar el ACP, es necesario comprender sus componentes fundamentales. El protocolo estandariza la comunicación mediante unos pocos componentes clave que garantizan que cada mensaje sea estructurado, claro y práctico.

1

Clase de datos ACPMessage

El corazón del protocolo es el ACPMessage Clase de datos. Este es un formato estandarizado para todos los mensajes enviados entre agentes. Garantiza que cada paquete de comunicación contenga la información necesaria para su correcta comprensión y enrutamiento. Un ejemplo típico... ACPMessage incluye:

Remitente y Receptor: Identifica quién envió el mensaje y su destinatario previsto.
Performativo: La parte más crucial del mensaje, que indica el remitente.'s intención.
Contenido: Los datos o instrucciones reales que se envían.
ID de conversación: Un identificador único para agrupar mensajes relacionados en un solo hilo de conversación.
2

Performativos

Un performativo es un verbo que define el propósito del mensaje. Indica al receptor qué tipo de acción o respuesta se espera. Algunos performativos comunes son:

CONSULTA: Pide información.
SOLICITUD: Pide al agente que realice una acción específica.
INFORMAR: Proporciona información sin esperar una respuesta.
SUSCRIBIRSE: Solicita actualizaciones futuras sobre un tema.
TRANSMISIÓN: Envía un mensaje a todos los agentes disponibles.
3

Agente de ACPA

La función ACPAgent Es la clase base para cualquier agente que participe en el sistema. Define al agente.'s identidad y sus capacidades básicas, como enviar y recibir ACPMessagesCada agente tiene un nombre o ID único que permite que el sistema le envíe mensajes.

4

Agente de mensajes ACPM

En un sistema con muchos agentes, se necesita una oficina postal central para gestionar todo el tráfico de mensajes. ACPMessageBroker sirve para este propósito.'s Un componente de enrutamiento central que recibe mensajes de los agentes y garantiza su entrega al destinatario correcto. Esta arquitectura de intermediario es clave para que el sistema sea escalable y manejable.

Una guía de codificación para su primer sistema ACP

Sistema ACP

Ahora deja's Ensuciarnos las manos y construir un sistema de mensajería simple y compatible con ACP en PythonEste tutorial utilizará Google's API de Géminis para el procesamiento del lenguaje natural, como se demuestra en la implementación original.

Paso 1: configurar su entorno

Primero, debes instalar la biblioteca de Python necesaria para interactuar con Google's generativo AI .

pip install google-generativeai

También necesitarás configurar tu Clave API para autenticar sus solicitudes.

Paso 2: Definición de los componentes principales del ACP

Deje que's traducir los conceptos básicos del ACP en Código de PythonComenzaremos definiendo la estructura de nuestro mensaje.

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

A continuación, definimos el ACPAgent clase. Cada agente tendrá un nombre y un método para manejar los mensajes entrantes.

# 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

Finalmente, creamos el ACPMessageBroker Para gestionar la comunicación.

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

Paso 3: Creación e implementación de agentes

Con el marco establecido, podemos crear agentes especializados. Dejar's hacer un Agente investigador que pueda responder preguntas y una Agente gerente que lo consulta.

importar google.generativeai como 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)

Paso 4: Ejecución del sistema

Ahora deja's Júntalo todo y míralo en acción.

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

Cuando ejecutes este código, verás el agente gerente Envía una consulta, el intermediario la envía al investigador, este la procesa y envía una respuesta, y el intermediario envía la respuesta al administrador. Esta sencilla interacción demuestra un flujo de comunicación robusto y desacoplado.

Escalar su sistema con flujos de trabajo avanzados

El verdadero poder de ACP se hace evidente al escalar de dos a muchos agentes, creando flujos de trabajo complejos. El protocolo admite patrones avanzados como cadenas secuenciales y jerárquicas.

Flujo de trabajo secuencial: Una solicitud inicial activa una serie de agentes, uno tras otro. Por ejemplo, un Agente gerente Podría preguntarle a un Agente de investigación para recopilar datos, que luego transmiten sus hallazgos a un Agente de redacción redactar un informe.
Flujo de trabajo jerárquico: Un nivel superior Agente de enrutador Recibe una consulta compleja, la divide en subtareas y delega cada una al agente especializado correspondiente. Esto es común en sistemas sofisticados como los utilizados para AI agentes para SEO, donde diferentes agentes podrían manejar investigación automatizada de palabras clave, optimización de contenidoy análisis de la competencia.

Esta capacidad de construir modularmente, sistemas interconectados Es un punto de inflexión. Permite a los equipos desarrollar y mantener sus propios agentes de forma independiente, con la seguridad de que se integrarán a la perfección con el sistema general gracias al protocolo común.

ACP en el mundo real: el caso del SEO

Cómo ACP facilita el SEO

Los principios del ACP no son solo teóricos; tienen aplicaciones directas en la automatización empresarial. Consideremos el campo de Buscar optimización del motor (SEO). Un moderno una estrategia de SEO Implica muchas partes móviles: análisis de palabras clave, creación de contenido, optimización en la página y seguimiento de vínculos de retroceso.

Un sistema multiagente basado en ACP podría automatizar todo este proceso. Imagine un sistema con:

  1. An Agente estratega de SEO que monitorea las tendencias de búsqueda e identifica brechas de contenido.
  2. A Agente de investigación de palabras clave que encuentra valores primarios de alto valor y Palabras clave de LSI.
  3. A Agente de redacción de contenidos que genera artículos basados ​​en los informes del estratega.
  4. An Agente de optimización en la página que verifica el contenido en cuanto a legibilidad, densidad de palabras clave y relevancia semántica.

Con ACP, estos agentes podían comunicarse sin problemas. El agente estratega podía enviar un REQUEST al agente de investigación de palabras clave, que luego envía un INFORM Mensaje con sus hallazgos al agente redactor. Esta modularidad hace que todo el flujo de trabajo de SEO sea más eficiente y escalable.

Conclusión

Construyendo colaboración AI sistemas es una de las fronteras más apasionantes de la tecnologíaSin embargo, sin un estándar de comunicación común, estos sistemas corren el riesgo de convertirse en un enredo de integraciones personalizadas. El Protocolo de Comunicación de Agentes (ACP) ofrece una solución clara, robusta y escalable a este problema.

Al estandarizar la forma en que los agentes interactúan a través de un simple modelo cliente-servidor y una estructura de mensajes bien definida, ACP permite a los desarrolladores crear aplicaciones multiagente flexibles y potentes. Como se demuestra en nuestro... Guía de PythonImplementar un sistema ACP básico es sencillo. 

A partir de ahí, puede escalar para crear flujos de trabajo sofisticados y jerárquicos que puedan abordar tareas complejas en campos que van desde el desarrollo de software hasta el SEO. Adoptar un protocolo como ACP es un paso vital hacia un futuro donde... agentes inteligentes colaborar sin problemas para ayudarnos a alcanzar nuestros objetivos.

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Este sitio usa Akismet para reducir el correo no deseado. Conozca cómo se procesan los datos de sus comentarios.

Únete a los Aimojo ¡Tribu!

¡Únase a más de 76,200 miembros para recibir consejos exclusivos cada semana! 
🎁 BONUS: Obtenga nuestros $200 “AI “Mastery Toolkit” ¡GRATIS cuando te registras!

Tendencias AI Accesorios
caiber

Transforma sonidos, textos e imágenes fijas en algo impresionante. AI Vídeo generado El lienzo infinito para músicos, artistas y creadores visuales.

IA de cerebro profundo

Crear profesional AI Vídeos de avatares a partir de texto en minutos La función AI Generador de vídeo diseñado para la velocidad y la escalabilidad.

IA Murf

Grado empresarial AI Generador de voz que reduce el tiempo de producción de locuciones en un 10x. La plataforma de conversión de texto a voz más rápida para creadores, desarrolladores y equipos de localización.

Paymefy 

Reduzca su DSO y recupere las facturas pendientes más rápido con AI Automatización La plataforma inteligente de cobro de deudas y cuentas por cobrar

Workato AI

Unifique todas las aplicaciones, agentes y flujos de trabajo en una única plataforma de automatización empresarial. La plataforma iPaaS número 1 para AI Orquestación empresarial impulsada

© Copyright 2023 - 2026 | Conviértete en un AI Pro | Hecho con ♥