¿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 del agentes (ACP) es un estándar abierto para la comunicación entre agentes. Con este protocolo, podemos transformar nuestro ámbito actual de agentes aislados en sistemas de agentes interoperables con una integración y una colaboración más sencillas.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados 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! Ya está suscrito.

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

Descripción general

Con ACP, introducido 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 escenario 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 escala. Como siguiente paso después del Protocolo de contexto del modelo (MCP), un estándar abierto para el acceso a herramientas y datos, ACP define cómo operan y se comunican los agentes.1

En cuanto al contexto, un agente de IA es un sistema o programa que es capaz de realizar tareas de forma autónoma en nombre de un usuario u otro sistema. Las hace diseñando su flujo de trabajo y utilizando las herramientas disponibles. Los sistemas multiagente consisten en múltiples 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 gobernanza abierta, ACP permite que los agentes de IA se comuniquen a través de diferentes infraestructuras y pilas de tecnología. Desde aceptar 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 esa 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, en los que colaboran múltiples agentes de IA, así como en la interacción humano-IA.

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

Ejemplo de un cliente ACP y agentes ACP de diferentes infraestructuras que se comunican. Ejemplo de un cliente ACP y agentes ACP de diferentes infraestructuras que se comunican.

Características clave de ACP

  • Comunicación basada en REST: ACP utiliza convenciones HTTP estándar para una comunicación que facilita la integración en la producción. Por su parte, MCP se basa en el formato JSON-RPC, que requiere métodos de comunicación mucho más complejos.
  • No se requiere SDK: ACP no requiere ninguna biblioteca especializada. Puede interactuar con agentes inteligentes mediante herramientas como cURL, Postman o incluso su navegador. Para mayor comodidad, hay un SDK disponible.
  • Descubrimiento sin conexión: los agentes de 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 es posible que no siempre estén en línea.
  • Prioriza la asincronía, pero es compatible con sincronización: ACP está diseñado con comunicación asíncrona como opción predeterminada. Este método es ideal para tareas complejas o de larga duración. También se admiten solicitudes sincrónicas.

Nota: ACP permite la orquestación de agentes en cualquier arquitectura de agentes, pero no gestiona flujos de trabajo, despliegues ni coordinación entre agentes. En cambio, 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 manejar la orquestación, el despliegue y el uso compartido de agentes mediante el uso de ACP como capa de comunicación.

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones reales

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

¿Por qué necesitamos ACP?

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

A medida que la IA agéntica continúa creciendo, también lo hace la complejidad en la navegación sobre cómo obtener el mejor resultado de cada tecnología independiente para su caso de uso, sin estar limitado a un solo proveedor. Cada marco, plataforma y kit de herramientas ofrece ventajas únicas, pero integrarlos en un solo sistema de agentes es un desafío.

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

ACP representa un cambio fundamental: de un ecosistema ad hoc fragmentado 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 ACP, los desarrolladores pueden aprovechar la inteligencia colectiva de diversos agentes para crear flujos de trabajo más potentes que los que un solo sistema puede manejar 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 importante cuello de botella. Sin un protocolo de comunicación compartido, las organizaciones enfrentan varios desafíos 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, potencialmente se necesitan 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 manufacturera que utiliza un agente autónomo para gestionar los cronogramas 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 dirige un agente para ofrecer estimaciones de envío en tiempo real, disponibilidad del transportista y optimización de rutas.
Un ejemplo de caso de uso de dos agentes (fabricación y logística) habilitados con ACP y que se comunican entre sí en todas las organizaciones. Un ejemplo de caso de uso de dos agentes (fabricación y logística) habilitados con ACP y que se comunican entre sí en todas las organizaciones.

Ahora imagine que el sistema del fabricante necesita estimar los plazos de entrega de un pedido grande de equipamiento personalizado para dar una cotización al cliente.

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

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 ETA. Ambos sistemas realizan una colaboración de agentes sin exponer componentes internos ni escribir integraciones personalizadas. Se pueden introducir nuevos socios logísticos simplemente implementando ACP. La automatización que proporcionan los agentes de IA combinados con ACP permite la escalabilidad y la agilización de los intercambios de datos.

Cómo empezar

La simplicidad es un principio de diseño central de ACP. Envolver un agente con ACP se puede hacer en solo unas pocas líneas de código. Con el SDK de Python , puede definir un agente compatible con 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 mediante el decorado @server.agent() .
  3. Implementa un agente mediante la infraestructura LangChain con un backend de modelos de lenguaje grandes (LLM) y memoria para la persistencia del contexto.
  4. Traduce entre el formato de mensaje de ACP y el formato nativo de la infraestructura para dar 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, ha creado un agente totalmente compatible con ACP que puede:

  • ser descubierto por otros agentes (en línea o fuera de línea).
  • procesar las solicitudes de forma sincrónica o asincrónica.
  • comunicarse utilizando formatos de mensaje estándar.
  • integrarse con cualquier otro sistema compatible con ACP.

Cómo se compara ACP con MCP y A2A

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

En resumen:

El Protocolo de contexto de modelo (MCP): está diseñado para enriquecer el contexto de un solo modelo con herramientas, memoria y recursos. Fue introducido por Anthropic.
Enfoque: un modelo, muchas herramientas

El Protocolo de comunicación de agentes (ACP): está diseñado para la comunicación entre agentes independientes en todos los sistemas y organizaciones. Fue introducido por BeeAI de IBM.
Enfoque: muchos agentes, trabajando de forma segura como pares, sin dependencia de proveedores y con gobernanza abierta

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

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

ACP y MCP

El equipo de ACP inicialmente exploró la adaptación del Protocolo de contexto de modelo (MCP) porque ofrece una base estable para las interacciones modelo-contexto. Sin embargo, rápidamente se encontraron limitaciones arquitectónicas que lo hicieron inadecuado para una verdadera comunicación de agente a agente.

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

Transmisión: MCP admite transmisión básica, probablemente de mensajes completos, pero no el estilo "delta" más detallado, en el que las actualizaciones se envían tan pronto como ocurren. 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ó MCP, no estaba destinado a interacciones de estilo agente.

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

Estructura del mensaje: 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 mensajes.

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


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

ACP y MCP pueden complementarse entre sí:

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

El protocolo Agent2Agent de Google (A2A), que se introdujo poco después de 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

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.
  • neutral en cuanto a proveedores, con gobernanza abierta y amplia alineación del ecosistema.

Ambos protocolos pueden coexistir, cada uno atendiendo diferentes necesidades según el entorno. El diseño ligero, abierto y extensible de ACP lo hace ideal para sistemas descentralizados y para la interoperabilidad en el mundo real dentro de los los límites organizacionales. 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 ACP evoluciona, se exploran nuevas posibilidades para mejorar la comunicación con los agentes. Estas son algunas áreas clave de enfoque:

  • Federación de identidades: ¿cómo puede trabajar ACP con los 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 mientras mantienen el control del usuario?
  • Compatibilidad con múltiples registros: ¿puede 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 misma organización?
  • Despliegues: ¿qué herramientas y plantillas pueden simplificar el despliegue de agentes?

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

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

Soluciones relacionadas
Agentes de IA para empresas

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

    Explore watsonx Orchestrate
    Soluciones de agentes de IA de IBM

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

    Explorar las soluciones de agentes de IA
    Servicios de IA de IBM Consulting

    Los servicios de IA de IBM Consulting ayudan a reinventar la forma en que las empresas trabajan con IA para la transformación.

    Explorar los servicios de inteligencia artificial
    Dé el siguiente paso

    Ya sea que elija personalizar aplicaciones y habilidades predefinidas o crear y desplegar servicios agénticos personalizados utilizando un estudio de IA, la plataforma IBM watsonx responde a sus necesidades.

    Explore watsonx Orchestrate Explore watsonx.ai