O que é o Agent Communication Protocol (ACP)?

Autores

Sandi Besen

AI Research Engineer and Ecosystem Lead

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

O Agent Communication Protocol (ACP) é um padrão aberto para comunicação entre agentes. Com esse protocolo, podemos transformar nosso cenário atual de agentes isolados em sistemas agênticos interoperáveis, facilitando a integração e a colaboração.

As mais recentes notícias de tecnologia, corroboradas por insights de especialistas.

Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.

Agradecemos sua inscrição!

Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Visão geral

Com o ACP, originalmente lançado pelo BeeAI da IBM, osagentes de IA podem colaborar livremente entre equipes, frameworks, tecnologias e organizações. É um protocolo universal que transforma o cenário fragmentado dos atuais agentes de IA em colegas de equipe interconectados. Esse padrão aberto libera novos níveis de interoperabilidade, reutilização e escala. O ACP é a próxima etapa após o Model Context Protocol (MCP), um padrão aberto para acesso a ferramentas e dados. Ele define como os agentes operam e se comunicam.1

Para contexto, um agente de IA é um sistema ou programa capaz de realizar tarefas de forma autônoma em nome de um usuário ou outro sistema. Isso é feito projetando seu fluxo de trabalho e utilizando as ferramentas disponíveis. Os sistemas multiagentes consistem em vários agentes de IA trabalhando coletivamente para realizar tarefas em nome de um usuário ou de outro sistema.

Como um padrão de comunicação de agentes de IA com governança aberta, o ACP permite que os agentes de inteligência artificial se comuniquem entre diferentes frameworks e stacks de tecnologia. Desde receber consultas de usuários na forma de linguagem natural até realizar uma série de ações, os agentes de IA têm um desempenho melhor quando recebem protocolos de comunicação. Esses protocolos transmitem essas informações entre as ferramentas, outros agentes e, no final das contas, para o usuário. 

A comunicação dos agentes de IA refere-se à forma como os agentes de inteligência artificial interagem entre si, com seres humanos ou sistemas externos, para trocar informações, tomar decisões e realizar tarefas. Essa comunicação é especialmente importante em sistemas multiagentes, onde vários agentes de IA colaboram, e na interação ser humano-IA.

O ACP faz parte de um ecossistema em crescimento, incluindo o BeeAI. A seguir estão algumas das características principais, e você pode ler mais sobre os principais conceitos e detalhes na documentação oficial.

Exemplo de um cliente de ACP e agentes de ACP de diferentes frameworks se comunicando. Exemplo de um cliente de ACP e agentes de ACP de diferentes frameworks se comunicando.

Características principais do ACP

  • Comunicação baseada em REST: o ACP usa convenções HTTP padrão para comunicação, que facilitam a integração à produção. Enquanto isso, o MCP depende do formato JSON-RPC, que requer métodos de comunicação muito mais complexos.
  • Não requer SDK: o ACP não requer nenhuma biblioteca especializada. Você pode interagir com agentes inteligentes usando ferramentas como cURL, Postman ou até mesmo seu navegador. Para maior conveniência, há um SDK disponível.
  • Descoberta offline: os agentes do ACP podem incorporar metadados diretamente a seus pacotes de distribuição, o que permite a descoberta mesmo quando estão inativos. Isso é compatível com ambientes escaláveis até zero, onde os recursos são alocados dinamicamente e nem sempre estão online.
  • Assíncrono primeiro, sincronização compatível: o ACP é projetado com comunicação assíncrona por padrão. Esse método é ideal para tarefas complexas ou de longa duração. Solicitações síncronas também são compatíveis.

Observação: o ACP permite a orquestração de agentes para qualquer arquitetura de agentes, mas não gerencia fluxos de trabalho, implementações ou coordenação entre agentes. Em vez disso, permite a orquestração entre diversos agentes padronizando a forma como eles se comunicam. A IBM Research criou o BeeAI, um sistema de código aberto projetado para lidar com orquestração, implementação e compartilhamento de agentes usando o ACP como camada de comunicação.

Agentes de IA

Cinco tipos de agentes de IA: funções autônomas e aplicações no mundo real

Saiba como a IA orientada por objetivos e baseada em utilidade se adapta a fluxos de trabalho e ambientes complexos.

Por que precisamos do ACP

Diferentes arquiteturas de agentes habilitadas usando o ACP. Diferentes arquiteturas de agentes habilitadas usando o ACP.

Conforme a IA agêntica continua aumentando, também aumenta a complexidade de descobrir como obter o melhor resultado de cada tecnologia independente para seu caso de uso, sem ficar restrito a um fornecedor específico. Cada framework, plataforma e toolkit oferece vantagens únicas, mas integrá-los todos em um único sistema agêntico é um desafio.

Atualmente, a maioria dos sistemas de agentes opera em silos. Eles são desenvolvidos em frameworks incompatíveis, expõem APIs e endpoints personalizados e não possuem um protocolo compartilhado para comunicação. Conectá-los requer integrações frágeis e não repetíveis, que são caras de construir.

O ACP representa uma mudança fundamental: de um ecossistema fragmentado e ad hoc para uma rede interconectada de agentes, cada um capaz de descobrir, entender e colaborar com outros, independentemente de quem os construiu ou em qual stack são executados. Com o ACP, os desenvolvedores podem aproveitar a inteligência coletiva de diversos agentes para criar fluxos de trabalho mais poderosos do que um único sistema poderia alcançar sozinho.

Desafios atuais

Apesar do rápido crescimento nos recursos dos agentes, a integração com o mundo real continua sendo um grande gargalo. Sem um protocolo de comunicação compartilhado, as organizações enfrentam vários desafios recorrentes:

  • Diversidade de frameworks: as organizações normalmente executam centenas ou milhares de agentes criados usando diferentes frameworks, como LangChain, CrewAI, AutoGen ou stacks personalizadas.
  • Integração personalizada: sem um protocolo padrão, os desenvolvedores devem escrever conectores personalizados para cada interação do agente.
  • Desenvolvimento exponencial: com n agentes, você potencialmente precisa de n(n-1)/2 pontos de integração diferentes, o que torna difícil a manutenção de ecossistemas de agentes em grande escala.
  • Considerações entre organizações: diferentes modelos de segurança, sistemas de autenticação e formatos de dados complicam a integração entre empresas.

Um exemplo do mundo real

Para ilustrar a necessidade real da comunicação entre agentes, considere duas organizações:

  • Uma empresa de fabricação que utiliza um agente autônomo para gerenciar cronogramas de produção e o atendimento de pedidos com base no inventário interno e na demanda dos clientes.
  • Um provedor de logística que gerencia um agente para oferecer estimativas de frete, disponibilidade de transportadoras e otimização de rotas em tempo real.
Um exemplo de caso de uso de dois agentes (fabricação e logística) habilitados com o ACP e se comunicando entre si em organizações. Um exemplo de caso de uso de dois agentes (fabricação e logística) habilitados com o ACP e se comunicando entre si em organizações.

Agora imagine que o sistema do fabricante precisa estimar prazos de entrega para um grande pedido de equipamentos personalizados para informar um orçamento para um cliente.

Sem o ACP: essa abordagem exige a criação de uma integração entre o software de planejamento do fabricante e as APIs do provedor de logística . Isso significa lidar manualmente com a autenticação, incompatibilidades de formato de dados e disponibilidade de serviços. Essas integrações são caras, frágeis e difíceis de escalar à medida que mais parceiros se juntam.

Com o ACP: cada organização envolve seu agente com uma interface do ACP. O agente de fabricação envia os detalhes do pedido e do destino ao agente de logística, que responde com opções de envio e ETAs em tempo real. Ambos os sistemas realizam a colaboração entre agentes sem expor componentes internos ou escrever integrações personalizadas. Novos parceiros logísticos podem ser introduzidos simplesmente implementando o ACP. A automação que os agentes de IA combinados com o ACP fornecem permite escalabilidade e simplificação das trocas de dados.

Como começar

Simplicidade é um princípio fundamental de design do ACP. O envolvimento de um agente com o ACP pode ser feito em apenas algumas linhas de código. Usando o SDK do Python, você pode definir um agente compatível com o ACP simplesmente decorando uma função.

Esta implementação mínima:

  1. Cria uma instância do servidor do ACP.
  2. Define uma função de agente usando o decorador @server.agent().
  3. Implementa um agente utilizando o framework LangChain com um back-end de grande modelos de linguagem (LLM) e memória para persistência de contexto.
  4. Traduz entre o formato de mensagens do ACP e o formato nativo do framework para retornar uma resposta estruturada.
  5. Inicia o servidor, disponibilizando o agente via HTTP.

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

Agora, você criou um agente totalmente em conformidade com o ACP, que pode:

  • Ser descoberto por outros agentes (online ou offline).
  • Processar solicitações de forma síncrona ou assíncrona.
  • Comunicar-se usando formatos de mensagens padrão.
  • Integre a qualquer outro sistema compatível com o ACP.

Como o ACP se compara ao MCP e A2A

Para entender melhor o papel do ACP no ecossistema de IA em evolução, é útil compará-lo a outros protocolos emergentes. Esses protocolos não são necessariamente concorrentes. Em vez disso, eles lidam com diferentes camadas do stack de integração do sistema de IA e, muitas vezes, se complementam.

Visão rápida:

Model Context Protocol (MCP): projetado para enriquecer o contexto de um modelo único com ferramentas, memória e recursos. Lançado pela Anthropic.
Foco: um modelo, muitas ferramentas

Agent Communication Protocol (ACP): projetado para comunicação entre agentes independentes em sistemas e organizações. Lançado pelo BeeAI da IBM.
Foco: muitos agentes, trabalho seguro como pares, sem lock-in com fornecedor, governança aberta

Protocolo Agent2Agent (A2A): projetado para comunicação entre agentes independentes em sistemas e organizações. Lançado pelo Google.

Foco: muitos agentes, trabalho como pares, otimizado para o ecossistema do Google

ACP e MCP

A equipe do ACP inicialmente explorou a adaptação do Model Context Protocol (MCP) porque ele oferece uma base sólida para interações de contexto de modelos. No entanto, eles rapidamente encontraram limitações arquitetônicas que o tornaram inadequado para uma verdadeira comunicação entre agentes.

Por que o MCP é insuficiente para sistemas multiagentes:

Streaming: o MCP á compatível com o streaming básico, provavelmente de mensagens completas, mas não ao estilo "delta" mais refinado, para o qual as atualizações são enviadas assim que ocorrem. Fluxos delta, como tokens e atualizações de trajetórias, são fluxos compostos de atualizações incrementais em vez de cargas úteis de dados completas. Essa limitação decorre do fato de que, quando o MCP foi criado, ele não se destinava a interações no estilo de agentes.

Compartilhamento de memória: o MCP não é compatível com a execução de vários agentes em servidores e, ao mesmo tempo, manter a memória compartilhada. O ACP ainda não é totalmente compatível com essa função, mas é uma área ativa de desenvolvimento.

Estrutura de mensagens: o MCP aceita qualquer esquema JSON, mas não define a estrutura do corpo da mensagem. Essa flexibilidade dificulta a interoperabilidade, especialmente para a criação de agentes que precisam interpretar diversos formatos de mensagens.

Complexidade do protocolo: o MCP usa JSON-RPC e requer SDKs e tempos de execução específicos. Já o design baseado em REST do ACP, com compatibilidade assíncrona/síncrona integrada, é mais leve e compatível com integração.


Pense no MCP como oferecendo ferramentas melhores a uma pessoa, como uma calculadora ou um livro de referência, para aprimorar o desempenho. Por outro lado, oACP trata de permitir que as pessoas formem equipes, em que cada pessoa, ou agente, contribua com seus recursos de forma colaborativa dentro da aplicação de IA.

O ACP e o MCP podem se complementar:

Tabela mostrando como o ACP e o MCP podem se complementar.

O protocolo Agent2Agent (A2A) do Google, lançado logo após o ACP, também visa padronizar a comunicação entre agentes de IA. Ambos os protocolos compartilham o objetivo de habilitar sistemas multiagentes, mas divergem em filosofia e governança.

Principais diferenças:

Tabela mostrando as diferenças entre o ACP e o A2A

O ACP foi deliberadamente projetado para ser:

  • Simples de integrar usando ferramentas HTTP comuns e convenções REST.
  • Flexível em uma ampla gama de tipos de agentes e cargas de trabalho.
  • Neutro em relação a fornecedores, com governança aberta e amplo alinhamento de ecossistemas.

Ambos os protocolos podem coexistir, cada um atendendo a necessidades diferentes, dependendo do ambiente. O design leve, aberto e extensível do ACP o torna adequado para sistemas descentralizados e interoperabilidade real entre fronteiras organizacionais. A integração natural do A2A pode torná-lo uma opção mais adequada para quem usa o ecossistema do Google.

Roteiro e comunidade

À medida que o ACP evolui, novas possibilidades para melhorar a comunicação dos agentes estão sendo exploradas. Aqui estão algumas das principais áreas de foco:

  • Federação de identidade: como o ACP pode trabalhar com sistemas de autenticação para melhorar a confiança entre redes?
  • Delegação de acesso: como podemos permitir que os agentes deleguem tarefas de forma segura, mantendo o controle do usuário?
  • Compatibilidade multiregistros: o ACP pode ser compatível com a descoberta descentralizada de agentes em diferentes redes?
  • Compartilhamento de agentes: como podemos facilitar o compartilhamento e a reutilização de agentes entre organizações ou dentro de uma organização?
  • Implementações: quais ferramentas e modelos podem simplificar a implementação de agentes?

O ACP está sendo desenvolvido com código aberto porque os padrões funcionam melhor quando são desenvolvidos diretamente com os usuários. Contribuições de desenvolvedores, pesquisadores e organizações interessadas no futuro da interoperabilidade de agentes de IA são bem-vindas. Junte-se a nós para ajudar a moldar esse padrão de IA generativa em evolução.

Para mais informações, acesse o site oficial do ACP e participe da conversa no GitHub e no Discord.

Soluções relacionadas
Agentes de IA para empresas

Crie, implemente e gerencie assistentes e agentes de IA potentes que automatizam fluxos de trabalho e processos com a IA generativa.

    Explore o watsonx Orchestrate
    Soluções de agentes de IA da IBM

    Construa o futuro do seu negócio com soluções de IA em que você pode confiar.

    Explore soluções de agentes de IA
    Serviços de IA do IBM® Consulting

    Os serviços de IA da IBM Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformação.

    Explore os serviços de inteligência artificial
    Dê o próximo passo

    Se você optar por personalizar aplicativos e habilidades criados previamente ou criar e implementar serviços agênticos personalizados usando um estúdio de IA, a plataforma IBM watsonx tem aquilo de que você precisa.

    Explore o watsonx Orchestrate Explore o watsonx.ai