Arquitetura Emergente para Agentes de IA

O cenário digital está evoluindo além da navegação web centrada no ser humano para um reino de agentes autônomos colaborando perfeitamente através de diversos sistemas. Essa mudança exige uma nova infraestrutura, e uma solução atraente está tomando forma, compreendendo quatro componentes-chave de código aberto.

  • Agent2Agent (A2A) da Google: Um protocolo projetado para facilitar a descoberta e interação de agentes.
  • Model Context Protocol (MCP) da Anthropic: Um padrão que define como os agentes utilizam ferramentas e dados contextuais externos.
  • Apache Kafka: Uma espinha dorsal de comunicação robusta, orientada a eventos, que permite uma coordenação confiável e desacoplada.
  • Apache Flink: Um motor de processamento em tempo real, vital para enriquecer, monitorar e agir sobre fluxos de atividade de agentes.

Este artigo explora as relações sinérgicas entre essas tecnologias, destacando as limitações de se confiar unicamente em protocolos e demonstrando como essa arquitetura estabelece as bases para a transição de bots isolados para ecossistemas de agentes dinâmicos e inteligentes.

A proliferação antecipada de agentes de IA dentro das organizações sugere que a maioria das empresas implantará uma multiplicidade de agentes especializados em vez de um único agente abrangente. Esses agentes automatizarão tarefas como geração de código, gerenciamento de tickets de suporte, análise de dados de clientes, integração de funcionários e monitoramento de infraestrutura.

No entanto, as ferramentas atuais são inadequadas para suportar tal futuro.

O desafio se estende além do problema da ‘ilha de agentes’, onde os agentes funcionam em silos e carecem de capacidades de comunicação. Abrange uma fragmentação de ecossistema mais extensa:

  • Falta de Comunicação Inter-Agentes: Os agentes normalmente operam dentro de ambientes isolados. Um agente de gerenciamento de relacionamento com o cliente (CRM) desconhece os insights derivados por um agente de data warehouse. Um agente de suporte não pode responder a anomalias detectadas por um agente de monitoramento.
  • Uso de Ferramentas Frágil e Personalizado: Sem métodos padronizados para acessar ferramentas ou interfaces de programação de aplicativos (APIs) externas, os agentes confiam em integrações codificadas e lógica não reutilizável.
  • Estruturas Inconsistentes: Diferentes tempos de execução de agentes empregam diversos modelos, tratando os agentes como chatbots, grafos acíclicos direcionados (DAGs) ou planejadores recursivos. Isso resulta na ausência de uma camada de execução portátil ou estado compartilhado.
  • Design Focado em Ambientes de Notebook: Muitos agentes são desenvolvidos como protótipos únicos, caracterizados por operações lineares, síncronas e efêmeras. No entanto, os sistemas do mundo real exigem um tratamento robusto de repetições, falhas, coordenação, registro e escalonamento, o que requer uma infraestrutura de suporte.
  • Ausência de uma Espinha Dorsal Colaborativa: Não há barramento de eventos, memória compartilhada ou histórico rastreável de atividades e justificativas de agentes. As informações são confinadas a chamadas HTTP diretas ou enterradas em logs.

Conforme enfatizado pelo projeto 12-Factor Agents, os agentes devem aderir aos princípios nativos da nuvem, exibindo observabilidade, acoplamento solto, reprodutibilidade e conscientização da infraestrutura. Infelizmente, a maioria é construída como scripts frágeis, montados manualmente e presumidos para operar independentemente.

Isso resulta em ineficiências, duplicação de esforços e fragilidade.

Agent2Agent aborda parcialmente essa questão, fornecendo aos agentes um protocolo padronizado para descoberta e comunicação. No entanto, a transição além de demonstrações superficiais para a escalabilidade e confiabilidade exigidas pelos sistemas de produção exige mais do que apenas protocolos. Requer uma infraestrutura abrangente.

O ecossistema de agentes atual espelha os estágios iniciais da web, caracterizado por sistemas poderosos, mas isolados e incompatíveis. Semelhante aos primeiros desafios enfrentados pelos navegadores comunicando-se com servidores sem um protocolo padrão, os agentes de IA hoje lutam para descobrir, comunicar e colaborar uns com os outros de forma eficaz.

Agent2Agent (A2A) da Google: Um Protocolo Universal para Comunicação de Agentes

O protocolo A2A da Google é uma tentativa significativa de abordar essa questão. Ele se distingue por não ser outra estrutura de agentes, mas sim um protocolo universal projetado para conectar qualquer agente, independentemente de sua origem ou ambiente de implantação.

Análogo a como o HTTP padronizou a comunicação de sites, o A2A define uma linguagem comum para os agentes, permitindo que eles:

  • Anunciem Capacidades: Através de um AgentCard, um descritor JSON que descreve as capacidades e os métodos de interação de um agente.
  • Enviem e Recebam Tarefas: Através de interações estruturadas utilizando JSON-RPC, onde um agente solicita assistência e outro responde com resultados ou ‘artefatos’.
  • Transmitam Atualizações com Eventos Enviados pelo Servidor (SSEs): Facilitando feedback em tempo real durante tarefas longas ou colaborativas.
  • Troquem Conteúdo Rico: Suportando a troca de arquivos, dados estruturados e formulários, além de texto simples.
  • Mantenham a Segurança por Padrão: Incorporando suporte integrado para HTTPS, autenticação e permissões.

A força do A2A reside em sua prevenção de reinventar soluções estabelecidas. Ele aproveita padrões web bem estabelecidos, semelhantes a HTTP e SMTP, facilitando a adoção mais fácil e a integração mais rápida.

No entanto, o A2A representa apenas um aspecto da solução geral.

Model Context Protocol (MCP) da Anthropic: Padronizando o Uso de Ferramentas e o Acesso ao Contexto

O MCP da Anthropic aborda o aspecto crucial de como os agentes utilizam ferramentas e acessam informações contextuais. O MCP padroniza o processo pelo qual os agentes invocam APIs, chamam funções e se integram com sistemas externos, essencialmente definindo como eles operam dentro de seu ambiente. Enquanto o A2A governa a comunicação entre agentes, o MCP se concentra na interação de um agente com o mundo externo.

Em essência:

  • MCP capacita a inteligência individual do agente.
  • A2A habilita a inteligência coletiva.

Semelhante a como HTTP e SMTP exigiram ampla adoção, infraestrutura e ferramentas de desenvolvedor para alcançar sucesso generalizado, A2A e MCP exigirão um ecossistema robusto para realizar plenamente seu potencial.

Mesmo com esforços de padronização como A2A e MCP, uma questão crítica persiste: Como as comunicações de agentes podem ser efetivamente escaladas em ambientes empresariais complexos e dinâmicos? Confiar unicamente em conexões diretas, ponto a ponto, definidas por esses protocolos introduz desafios relacionados à escalabilidade, resiliência e observabilidade. Isso destaca a necessidade de uma infraestrutura de comunicação subjacente robusta.

Considere uma empresa onde os funcionários só podem se comunicar através de mensagens diretas, individuais. Compartilhar uma atualização exigiria enviar mensagens para cada indivíduo separadamente. Coordenar um projeto entre várias equipes envolveria retransmitir manualmente informações entre cada grupo.

Escalar tal sistema para centenas de funcionários resultaria em caos.

Este cenário espelha os desafios enfrentados em ecossistemas de agentes construídos em conexões diretas. Cada agente deve saber quais agentes contatar, como alcançá-los e sua disponibilidade. À medida que o número de agentes aumenta, o número de conexões necessárias cresce exponencialmente, resultando em um sistema frágil, difícil de gerenciar e não escalável.

A2A e MCP fornecem aos agentes a linguagem e a estrutura para comunicação e ação. No entanto, a linguagem sozinha é insuficiente. Para coordenar inúmeros agentes em uma empresa, é necessária infraestrutura para gerenciar o fluxo de mensagens e as respostas dos agentes.

Apache Kafka e Apache Flink fornecem essa infraestrutura crucial.

Apache Kafka, originalmente desenvolvido no LinkedIn e agora um projeto da Apache Software Foundation, é uma plataforma distribuída de streaming de eventos. Ele funciona como um barramento de mensagens durável e de alto rendimento, permitindo que os sistemas publiquem e se inscrevam em fluxos de eventos em tempo real. O Kafka é amplamente utilizado em várias aplicações, incluindo sistemas financeiros, detecção de fraudes e pipelines de telemetria, devido à sua capacidade de desacoplar produtores de consumidores e garantir durabilidade de dados, capacidade de reprodução e escalabilidade.

Flink, outro projeto Apache, é um motor de processamento de fluxo em tempo real projetado para processamento de eventos com estado, alto rendimento e baixa latência. Enquanto o Kafka gerencia o movimento de dados, o Flink lida com a transformação, enriquecimento, monitoramento e orquestração de dados à medida que eles fluem por um sistema.

Juntos, Kafka e Flink formam uma combinação poderosa. Kafka serve como a corrente sanguínea, enquanto Flink atua como o sistema de reflexos.

Análogo ao papel do A2A como o HTTP do mundo dos agentes, Kafka e Flink fornecem uma base orientada a eventos para comunicação e computação escalável de agentes, abordando desafios que a comunicação direta, ponto a ponto, não pode:

  • Desacoplamento: Com Kafka, os agentes não precisam conhecer os consumidores de sua saída. Eles publicam eventos (por exemplo, "TarefaConcluída", "InsightGerado") em um tópico, permitindo que qualquer agente ou sistema interessado se inscreva.
  • Observabilidade e Capacidade de Reprodução: Kafka mantém um log durável e ordenado por tempo de todos os eventos, garantindo que o comportamento do agente seja totalmente rastreável, auditável e reproduzível.
  • Tomada de Decisão em Tempo Real: Flink permite que os agentes reajam em tempo real a fluxos de eventos, filtrando, enriquecendo, unindo ou acionando ações com base em condições dinâmicas.
  • Resiliência e Escalonamento: Os trabalhos do Flink podem ser escalados independentemente, se recuperar de falhas e manter o estado em fluxos de trabalho de longa duração, o que é essencial para agentes que executam tarefas complexas e de várias etapas.
  • Coordenação Nativa de Fluxo: Em vez de esperar por respostas síncronas, os agentes podem se coordenar através de fluxos de eventos, publicando atualizações, inscrevendo-se em fluxos de trabalho e progredindo colaborativamente no estado.

Em resumo:

  • A2A define como os agentes se comunicam.
  • MCP define como eles interagem com ferramentas externas.
  • Kafka define como suas mensagens fluem.
  • Flink define como esses fluxos são processados, transformados e usados para tomar decisões.

Protocolos como A2A e MCP são cruciais para padronizar o comportamento e a comunicação dos agentes. No entanto, sem um substrato orientado a eventos como Kafka e um tempo de execução nativo de fluxo como Flink, os agentes permanecem isolados, incapazes de se coordenar de forma eficaz, escalar de forma eficiente ou raciocinar ao longo do tempo.

A Arquitetura de Quatro Camadas para Agentes de IA de Nível Empresarial

Para realizar plenamente a visão de agentes de IA interoperáveis de nível empresarial, uma arquitetura de quatro camadas é necessária:

  • Protocolos: A2A, MCP – definindo o quê.
  • Frameworks: LangGraph, CrewAI, ADK – definindo o como.
  • Infraestrutura de Mensagens: Apache Kafka – suportando o fluxo.
  • Computação em Tempo Real: Apache Flink – suportando o pensamento.

Juntas, essas camadas formam a nova pilha da internet para agentes de IA, fornecendo uma base para a construção de sistemas que não são apenas inteligentes, mas também colaborativos, observáveis e prontos para produção.

Estamos atualmente em um ponto crucial na evolução do software.

Assim como a pilha original da internet – composta por protocolos como HTTP e SMTP e infraestrutura como TCP/IP – inaugurou uma era de conectividade global, uma nova pilha está emergindo para agentes de IA. No entanto, em vez de humanos navegando em páginas da web ou enviando e-mails, esta pilha é projetada para sistemas autônomos colaborando para raciocinar, decidir e agir.

A2A e MCP fornecem os protocolos para comunicação de agentes e uso de ferramentas, enquanto Kafka e Flink fornecem a infraestrutura para coordenação, observabilidade e resiliência em tempo real. Juntos, eles permitem a transição de demonstrações de agentes desconectados para ecossistemas escaláveis, inteligentes e de nível de produção.

Essa evolução não se trata apenas de abordar desafios de engenharia. Trata-se de habilitar um novo paradigma de software onde os agentes colaboram através de fronteiras, fornecendo insights e impulsionando ações em tempo real, permitindo assim que a inteligência se torne um sistema distribuído.

No entanto, esta visão requer desenvolvimento ativo, enfatizando a abertura, a interoperabilidade e o aproveitamento das lições aprendidas com a revolução anterior da internet.

Portanto, ao desenvolver um agente, é crucial considerar sua integração dentro do sistema mais amplo. Ele consegue se comunicar de forma eficaz? Ele consegue se coordenar com outros agentes? Ele consegue evoluir e se adaptar às condições variáveis?

O futuro não é apenas movido a agentes; é conectado a agentes.