¿Qué es el protocolo de comunicación de agentes (ACP)?

Autores

Sandi Besen

AI Research Engineer and Ecosystem Lead

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

El protocolo de comunicación de agentes (ACP) es un estándar abierto para la comunicación de agente a agente. Con este protocolo, podemos transformar nuestro panorama actual de agentes aislados en sistemas de agentes interoperables con una integración y colaboración más sencillas.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Visión general

Con el ACP, presentado originalmente por BeeAI de IBM, los agentes de IA pueden colaborar libremente entre equipos, marcos, tecnologías y organizaciones. Es un protocolo universal que transforma el panorama fragmentado de los agentes de IA actuales en compañeros de equipo interconectados y este estándar abierto desbloquea nuevos niveles de interoperabilidad, reutilización y escalabilidad. Como siguiente paso tras el Model Context Protocol (MCP), un estándar abierto para el acceso a datos y herramientas, el ACP define cómo operan y se comunican los agentes.1

Para contextualizar, un agente de IA es un sistema o programa capaz de realizar tareas de manera autónoma en nombre de un usuario u otro sistema. Las realiza diseñando su flujo de trabajo y utilizando las herramientas disponibles. Los sistemas multiagente consisten en varios agentes de IA que trabajan colectivamente para realizar tareas en nombre de un usuario u otro sistema.

Como estándar de comunicación de agentes de IA con gobierno abierto, el ACP permite a los agentes de IA comunicarse a través de diferentes marcos y pilas tecnológicas. Desde responder a las consultas de los usuarios en forma de lenguaje natural hasta realizar una serie de acciones, los agentes de IA funcionan mejor cuando se les proporcionan protocolos de comunicación. Estos protocolos transmiten esta información entre herramientas, otros agentes y, en última instancia, al usuario. 

La comunicación entre agentes de IA se refiere a cómo los agentes de inteligencia artificial interactúan entre sí, con humanos o con sistemas externos para intercambiar información, tomar decisiones y completar tareas. Esta comunicación es especialmente importante en sistemas multiagente, donde colaboran varios agentes de IA, y en la interacción humano-IA.

El ACP forma parte de un ecosistema en crecimiento, incluido BeeAI. Las siguientes son algunas características clave y usted puede leer más sobre los conceptos básicos y los detalles en la documentación oficial.

Ejemplo de comunicación entre un cliente ACP y agentes ACP de diferentes marcos. Ejemplo de comunicación entre un cliente ACP y agentes ACP de diferentes marcos.

Características clave del ACP

  • Comunicación basada en REST: el ACP utiliza convenciones HTTP estándar para la comunicación que facilitan la integración en la producción, mientras que el MCP se basa en el formato JSON-RPC que requiere métodos de comunicación mucho más complejos.
  • No se requiere SDK: el ACP no requiere ninguna biblioteca especializada. Puede interactuar con agentes inteligentes utilizando herramientas como cURL, Postman o incluso su navegador. Para mayor comodidad, hay un SDK disponible.
  • Descubrimiento sin conexión: los agentes del ACP pueden incrustar metadatos directamente en sus paquetes de distribución, lo que permite el descubrimiento incluso cuando están inactivos. Esto admite entornos de escala a cero, donde los recursos se asignan dinámicamente y pueden no estar siempre en línea.
  • Async-first, compatible con la sincronización: el ACP está diseñado con comunicación asíncrona por defecto. Este método es ideal para tareas complejas o de larga duración. También es compatible con solicitudes síncronas.

Nota: el ACP permite la orquestación de agentes para cualquier arquitectura de agentes, pero no gestiona flujos de trabajo, implementaciones ni coordinación entre agentes. En su lugar, permite la orquestación entre diversos agentes al estandarizar la forma en que se comunican. IBM Research creó BeeAI, un sistema de código abierto diseñado para gestionar la orquestación, la implementación y el uso compartido de agentes mediante el uso del ACP como capa de comunicación.

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones del mundo real

Descubra cómo la IA basada en objetivos y servicios se adapta a flujos de trabajo y entornos complejos.

¿Por qué necesitamos el ACP?

Diferentes arquitecturas de agentes habilitadas mediante ACP. Diferentes arquitecturas de agentes habilitadas mediante ACP.

A medida que la IA agéntica sigue aumentando, también lo hace la complejidad a la hora de buscar cómo obtener el mejor resultado de cada tecnología independiente para su caso de uso, sin estar limitado a un proveedor en particular. Cada marco, plataforma y kit de herramientas ofrece ventajas únicas, pero integrarlos todos en un sistema agéntico supone un desafío.

Hoy en día, la mayoría de los sistemas de agentes funcionan en silos. Están basados en marcos incompatibles, exponen APIs y endpoints personalizados y carecen de un protocolo compartido para la comunicación. Conectarlos requiere integraciones frágiles e irrepetibles que son costosas de crear.

El ACP representa un cambio fundamental: de un ecosistema fragmentado y ad hoc a una red interconectada de agentes, cada uno capaz de descubrir, comprender y colaborar con otros, independientemente de quién los haya creado o en qué pila se ejecuten. Con el ACP, los desarrolladores pueden aprovechar la inteligencia colectiva de diversos agentes para crear flujos de trabajo más potentes de los que puede lograr un único sistema por sí solo.

Desafíos actuales

A pesar del rápido crecimiento de las capacidades de los agentes, la integración en el mundo real sigue siendo un cuello de botella importante. Sin un protocolo de comunicación compartido, las organizaciones se enfrentan a varios retos recurrentes:

  • Diversidad de marcos: las organizaciones suelen ejecutar cientos o miles de agentes creados mediante el uso de diferentes marcos como LangChain, crewAI, AutoGen o pilas personalizadas.
  • Integración personalizada: sin un protocolo estándar, los desarrolladores deben escribir conectores personalizados para cada interacción con los agentes.
  • Desarrollo exponencial: con n agentes, es posible que necesite n(n-1)/2 puntos de integración diferentes, lo que dificulta el mantenimiento de los ecosistemas de agentes a gran escala.
  • Consideraciones entre organizaciones: los diferentes modelos de seguridad, sistemas de autenticación y formatos de datos complican la integración entre empresas.

Un ejemplo del mundo real

Para ilustrar la necesidad real de comunicación de agente a agente, considere dos organizaciones:

  • Una empresa de fabricación que utiliza un agente autónomo para gestionar los programas de producción y el cumplimiento de pedidos en función del inventario interno y la demanda de los clientes.
  • Un proveedor de logística que gestiona un agente para ofrecer estimaciones de envío en tiempo real, disponibilidad de transportistas y optimización de rutas.
Un ejemplo de caso de uso de dos agentes (fabricación y logística) habilitados con ACP y comunicándose entre sí en todas las organizaciones. Un ejemplo de caso de uso de dos agentes (fabricación y logística) habilitados con ACP y comunicándose entre sí en todas las organizaciones.

Ahora imagine que el sistema del fabricante necesita estimar los plazos de entrega de un pedido grande de equipo personalizado para dar presupuesto a un cliente.

Sin ACP: este enfoque requiere crear una integración a medida entre el software de planificación del fabricante y las API del proveedor de logística. Esto significa gestionar manualmente la autenticación, las discrepancias en el formato de los datos y la disponibilidad del servicio. Estas integraciones son caras, frágiles y difíciles de escalar a medida que se unen más partners.

Con ACP: cada organización envuelve a su agente con una interfaz ACP. El agente de fabricación envía los detalles del pedido y el destino al agente de logística, que responde con opciones de envío en tiempo real y tiempo estimado de llegada. Ambos sistemas realizan una colaboración agéntica sin exponer los componentes internos ni escribir integraciones personalizadas. Se pueden introducir nuevos socios logísticos simplemente implementando el ACP. La automatización que proporcionan los agentes de IA emparejados con el ACP permite la escalabilidad y agiliza los intercambios de datos.

Cómo empezar

La simplicidad es un principio de diseño básico del ACP. Envolver un agente con el ACP se puede hacer con solo unas pocas líneas de código. Con el SDK de Python, puede definir un agente compatible con el ACP simplemente decorando una función.

Esta implementación mínima:

  1. Crea una instancia de servidor ACP.
  2. Define una función de agente utilizando @server.agent() decorador.
  3. Implementa un agente utilizando el marco con un backend y memoria de modelo de lenguaje de gran tamaño (LLM) para la persistencia del contexto.
  4. Traduce entre el formato de mensaje de ACP y el formato nativo del marco para devolver una respuesta estructurada.
  5. Inicia el servidor, haciendo que el agente esté disponible a través de HTTP.

Ejemplo de código:

from typing import Annotated
import os
from typing_extensions import TypedDict
from dotenv import load_dotenv
#ACP SDK
from acp_sdk.models import Message
from acp_sdk.models.models import MessagePart
from acp_sdk.server import RunYield, RunYieldResume, Server
from collections.abc import AsyncGenerator
#Langchain SDK
from langgraph.graph.message import add_messages
from langchain_anthropic import ChatAnthropic 

load_dotenv() 

class State(TypedDict):
    messages: Annotated[list, add_messages]

#Set up the AI model of your choice
llm = ChatAnthropic(model="claude-3-5-sonnet-latest", 
api_key=os.environ.get("ANTHROPIC_API_KEY")) 

#------ACP Requirement-------#
#START SERVER
server = Server()
#WRAP AGENT IN DECORACTOR
@server.agent()
async def chatbot(messages: list[Message])-> AsyncGenerator[RunYield, RunYieldResume]:
    "A simple chatbot enabled with memory"
    #formats ACP Message format to be compatible with what langchain expects
    query = " ".join(
        part.content
        for m in messages
        for part in m.parts             
    )
    #invokes llm
    llm_response = llm.invoke(query)    
    #formats langchain response to ACP compatible output
    assistant_message = Message(parts=[MessagePart(content=llm_response.content)])
    # Yield so add_messages merges it into state
    yield {"messages": [assistant_message]}  

server.run()
#---------------------------#

Ahora, usted ha creado un agente totalmente compatible con el ACP que puede:

  • Ser descubierto por otros agentes (en línea o fuera de línea).
  • Procesar las solicitudes de forma síncrona o asíncrona.
  • Comunicarse utilizando formatos de mensaje estándar.
  • Integrarse con cualquier otro sistema compatible con el ACP.

Cómo se compara el ACP con el MCP y el A2A

Para comprender mejor el papel del ACP en el ecosistema de IA en evolución, resulta útil compararlo con otros protocolos emergentes. Estos protocolos no son necesariamente competidores. En cambio, abordan diferentes capas de la pila de integración del sistema de IA y, a menudo, se complementan entre sí.

De un vistazo:

Model Context Protocol (MCP): diseñado para enriquecer el contexto de un único modelo con herramientas, memoria y recursos. Presentado por Anthropic.
Enfoque: un modelo, muchas herramientas

Protocolo de comunicación de agentes (ACP): diseñado para la comunicación entre agentes independientes en todos los sistemas y organizaciones. Presentado por BeeAI de IBM.
Enfoque: muchos agentes, trabajando de forma segura como pares, sin vendor lock-in, gobernanza abierta

Protocolo Agent2Agent (A2A): diseñado para la comunicación entre agentes independientes en todos los sistemas y organizaciones. Presentado por Google.

Enfoque: muchos agentes, trabajando como pares, optimizados para el ecosistema de Google

ACP y MCP

El equipo del ACP exploró inicialmente la adaptación del Model Context Protocol (MCP) porque ofrece una base sólida para las interacciones modelo-contexto. Sin embargo, rápidamente se encontraron con limitaciones arquitectónicas que lo hacían inadecuado para una verdadera comunicación de agente a agente.

Por qué el MCP se queda corto para los sistemas multiagente:

Streaming: el MCP admite el streaming básico, probablemente de mensajes completos, pero no el estilo "delta" más detallado, en el que las actualizaciones se envían tan pronto como se producen. Los flujos delta, como los tokens y las actualizaciones de trayectoria, son flujos compuestos por actualizaciones incrementales en lugar de cargas útiles de datos completas. Esta limitación se debe al hecho de que cuando se creó el MCP, no estaba pensado para interacciones de tipo agente.

Uso compartido de memoria: el MCP no admite la ejecución de varios agentes en servidores mientras se mantiene la memoria compartida. El ACP tampoco es totalmente compatible con esta función, pero es un área activa de desarrollo.

Estructura del mensaje: el MCP acepta cualquier esquema JSON, pero no define la estructura del cuerpo del mensaje. Esta flexibilidad dificulta la interoperabilidad, especialmente para los agentes de construcción que deben interpretar diversos formatos de mensaje.

Complejidad del protocolo: el MCP utiliza JSON-RPC y requiere SDK y tiempos de ejecución específicos. Mientras que el diseño basado en REST del ACP con soporte asincrónico/sincrónico incorporado es más ligero y fácil de integrar.


Piense en el MCP como si fuera dar a una persona mejores herramientas, como una calculadora o un libro de referencia, para mejorar su rendimiento. Por el contrario, el ACP consiste en permitir que las personas formen equipos, en los cuales cada persona o agente contribuye con sus capacidades de forma colaborativa dentro de la aplicación de IA.

El ACP y el MCP pueden complementarse:

Tabla que muestra cómo el ACP y el MCP pueden complementarse entre sí.

El protocolo Agent2Agent de Google (A2A), que se presentó poco después del ACP, también tiene como objetivo estandarizar la comunicación entre los agentes de IA. Ambos protocolos comparten el objetivo de habilitar sistemas multiagente, pero difieren en filosofía y gobernanza.

Diferencias clave:

Tabla que muestra las diferencias entre ACP y A2A

El ACP se diseñó deliberadamente para ser:

  • Fácil de integrar mediante el uso de herramientas HTTP comunes y convenciones REST.
  • Flexible en una amplia gama de tipos de agentes y cargas de trabajo.
  • Proveedor neutral, con gobernanza abierta y amplia alineación con el ecosistema.

Ambos protocolos pueden coexistir, satisfaciendo cada uno de ellos diferentes necesidades en función del entorno. El diseño ligero, abierto y extensible del ACP lo hace ideal para sistemas descentralizados y la interoperabilidad en el mundo real a través de los límites de la organización. La integración natural de A2A podría convertirla en una opción más adecuada para quienes utilizan el ecosistema de Google.

Hoja de ruta y comunidad

A medida que el ACP evoluciona, se exploran nuevas posibilidades para mejorar la comunicación entre agentes. Estas son algunas áreas clave de enfoque:

  • Federación de identidades: ¿Cómo puede el ACP trabajar con sistemas de autenticación para mejorar la confianza en todas las redes?
  • Delegación de acceso: ¿Cómo podemos permitir que los agentes deleguen tareas de forma segura manteniendo el control de los usuarios?
  • Compatibilidad con varios registros: ¿Puede el ACP admitir la detección descentralizada de agentes en diferentes redes?
  • Uso compartido de agentes: ¿Cómo podemos facilitar el uso compartido y la reutilización de agentes entre organizaciones o dentro de una organización?
  • Implementaciones: ¿Qué herramientas y plantillas pueden simplificar la implementación de agentes?

El ACP se está desarrollando con código abierto porque los estándares funcionan mejor cuando se desarrollan directamente con los usuarios. Se agradecen lascontribuciones de desarrolladores, investigadores y organizaciones interesadas en el futuro de la interoperabilidad de los agentes de IA. Únase para ayudar a dar forma a este estándar en evolución de la IA generativa.

Para obtener más información, visite el sitio oficial del ACP y únase a la conversación en GitHub y Discord.

Soluciones relacionadas
Agentes de IA para empresas

Cree, implemente y gestione potentes asistentes y agentes de IA que automaticen flujos de trabajo y procesos con IA generativa.

    Explore watsonx Orchestrate
    Soluciones de agente de IA de IBM

    Construya el futuro de su empresa con soluciones de IA en las que puede confiar.

    Explore las soluciones de los agentes de IA
    Servicios de IA de IBM Consulting

    Los servicios de IA de IBM Consulting ayudan a reinventar la forma de trabajar de las empresas usando IA para la transformación.

    Explore los servicios de inteligencia artificial
    Dé el siguiente paso

    Tanto si opta por personalizar las aplicaciones y habilidades prediseñadas como si prefiere crear e implementar servicios agentivos personalizados mediante un estudio de IA, la plataforma IBM watsonx le ofrece todo lo que necesita.

    Explore watsonx Orchestrate Explore watsonx.ai