Guia interativo · Dia 2 · Série Agents

Agent Tools & Interoperability

Um agente isolado é uma máquina customizada numa garagem. Um agente interoperável é membro de uma força de trabalho global. Este guia resume o paper "Agent Tools & Interoperability" (Kanchana Patlolla, Łukasz Olejniczak & Pier Paolo Ippolito, Google) em formato interativo: o stack de protocolos — MCP, A2A, A2UI, AP2 e UCP — com diagramas clicáveis, simuladores, quiz e cheatsheets.

📄 Paper: Day 2 ⏱ ~30 min de estudo 🔌 5 protocolos abertos ✅ quiz com 8 perguntas 🌐 EN · ES · PT-BR
👥 Para quem é este guia
👩‍💻 Engenheiros de software 🧑‍💼 Engineering managers 🏛 Arquitetos & líderes técnicos ⚡ Vibe coders

Pressupõe familiaridade com o Dia 1 (Agentic Engineering e o Factory Model). Não pressupõe conhecimento prévio dos protocolos — MCP, A2A, A2UI, AP2 e UCP são apresentados do zero, com analogias.

orchestrator@workspace — turno 12 · o stack de protocolos em ação
user$ "encontre voos para Tóquio, reserve o mais barato, lance na despesa" ▸ MCP tools.list() → 3 servers · 14 tools · 42ms ▸ A2A travel_agent.discover(registry) → matched ✓ ▸ A2A travel_agent.send(task:"buscar NRT, 14–21 nov")   ← "3 opções · melhor: ¥68.200 direto" ▸ A2UI render(FlightCard×3, CompareTable) → surface:main ✓ ▸ AP2 mandate.check($682 ≤ $1000) → approved ✓ ▸ UCP order.confirm(flight_id:NH211) → PNR:XK4T2 ✓ user$
0
protocolos abertos formando o stack: MCP · A2A · A2UI · AP2 · UCP
0
componentes no catálogo básico do A2UI — UI generativa sem escrever React
0
endnotes no paper original — todas listadas na seção de referências
01

Introdução: o stack que tira o agente da garagem

Agent = Model + Harness — e os protocolos são os parafusos e porcas padronizados que tornam o harness conectável ao mundo.

O Dia 1 estabeleceu a mudança de paradigma: do código escrito à mão para a Agentic Engineering, onde o desenvolvedor opera como um Factory Model — projetando a linha de produção, não apertando cada parafuso. A equação central daquele paper continua sendo a fundação de tudo o que vem a seguir:

Agent
=
Model
+
Harness
o modelo raciocina · o harness conecta, orquestra, protege e persiste

O harness — o andaime de ferramentas, memória, transporte e segurança ao redor do modelo — só atinge seu potencial quando se conecta ao mundo por padrões abertos. Sem padrões, cada integração é uma peça usinada sob medida: funciona na sua garagem, quebra na primeira mudança. Com padrões, o harness vira uma plataforma modular plug-and-play.

O paper apresenta cinco protocolos como os "padrões da indústria" — as roscas e tomadas uniformes do ecossistema agêntico. Clique em cada um para explorar:

Duas peças completam o quadro: a OpenResponses & Interactions API funciona como 'Power Plugs' — abordagens modernas de API para inferência de LLM com suporte a tarefas de longa duração, borrando a fronteira entre um turno stateless e um agente stateful. E os Skills são 'Playbooks' — instruções markdown simples, com scripts ou ferramentas prontos para rodar num ambiente sandbox como um terminal.

🔌

MCP

o "USB-C"
📻

A2A

o "rádio da fábrica"
🪟

A2UI

a "vitrine generativa"
💳

AP2

o "cofre de pagamentos"
🛒

UCP

a "cadeia de suprimentos"

MCP — Model Context Protocol

🔧

Sem protocolos

o papel de Conductor
  • cada agente é uma "máquina customizada" isolada na garagem
  • wrappers bespoke frágeis para cada API externa
  • o desenvolvedor fica preso no papel de Conductor: fiação manual, ponto a ponto
  • dívida técnica que cresce a cada integração
🏭

Com protocolos

o papel de Orchestrator
  • plataforma modular plug-and-play
  • ferramentas e agentes especialistas descobertos e conectados em minutos
  • o desenvolvedor sobe para Orchestrator: compõe capacidades, não fia cabos
  • foco total na lógica de negócio de alto valor
Foco do paper

Como vibe coders podem usar os protocolos para construir uma equipe virtual de dados e execução em uma única tarde — descobrindo, conectando e orquestrando ferramentas e agentes como quem monta blocos.

02

Por que este paper, por que agora

Na era do vibe coding, menos estrutura exige MAIS confiança — e protocolos são o que constrói essa confiança.

O vibe coding removeu o atrito da escrita de código — e com ele, parte da estrutura que garantia previsibilidade. A velocidade continua sendo o motor principal, mas agora os harnesses e protocolos é que carregam o peso da confiança: eles definem contratos claros entre o agente e o mundo externo.

Sem padrões abertos, cada API vira um "padrão-de-um": um parser custom, um formato de erro custom, um fluxo de autenticação custom. O resultado é dívida técnica que se acumula silenciosamente — e uma lista de tarefas de baixo leverage que consomem o tempo do desenvolvedor:

🧶

Escrever wrappers frágeis

cada integração bespoke é código novo que ninguém quer manter — e que quebra na primeira mudança da API.

🩹

Manter as pontes

token refresh, retry, rate limit, schema drift: a manutenção de cada ponte é um imposto recorrente.

🔄

Adaptar-se a mudanças

quando o fornecedor muda a API, todos os consumidores bespoke quebram ao mesmo tempo.

A mudança de papel

Com protocolos, o desenvolvedor deixa de ser o builder que fia cada conexão e se torna o orchestrator de alto nível que compõe capacidades padronizadas — gastando energia na lógica que diferencia o produto, não na tubulação.

03

Para quem é este paper — e a dica aplicada do Dia 1

Um guia prático para quem prioriza velocidade e resultado visual — sem abrir mão do rigor.

O paper foi desenhado para engenheiros de software, engineering managers, arquitetos e líderes técnicos que reconhecem que a mudança para a Agentic Engineering exige adesão estrita a protocolos para manter fidelidade e confiabilidade dos resultados. Ele serve como guia prático para "vibe coders" que priorizam velocidade e resultado visual, mostrando como construir uma equipe virtual de dados e execução.

📌Dica aplicada · herdada do Dia 1

Quatro hábitos que o paper reforça antes de qualquer código

Antes de codar

Use um arquivo AGENTS.MD para orientação padrão dos agentes de codificação. E pense profundamente antes de codar: declare assumptions, exponha tradeoffs e pare para perguntar ao encontrar ambiguidade — em vez de adivinhar silenciosamente.

Durante a execução

Escreva o mínimo de código: sem features especulativas, sem abstrações não pedidas. Faça edições cirúrgicas — só as linhas exatas necessárias, mantendo o estilo. E execute guiado por objetivo: plano passo a passo, critérios de sucesso, teste falhando primeiro, loop até passar.

Na sequência da série

Um mergulho mais profundo em Agent Skills vem no próximo whitepaper; segurança é o tema do seguinte. Este paper foca em ferramentas e interoperabilidade.

04

MCP: descoberta, configuração e conexão

O "USB-C" dos agentes — um soquete padronizado que substitui a fiação bespoke por três passos.

No enterprise tradicional, conectar um agente a uma ferramenta significa fiação bespoke: wrappers REST customizados, gestão manual de API keys, refresh de tokens OAuth, parsers JSON escritos à mão para cada formato de resposta. Cada ferramenta nova é um projeto. O MCP (Model Context Protocol) substitui esse atrito por um soquete padronizado — descubra, configure, conecte.

PASSO 1
🔍

Discovery

encontre servidores MCP que expõem as ferramentas que você precisa

PASSO 2
⚙️

Configuration

credenciais e permissões via arquivos de ambiente

PASSO 3
🤝

Connection

handshake: liste as ferramentas e valide os schemas

Discovery

Dica aplicada · segurança primeiro

Antes de conectar qualquer servidor MCP: busque as instruções oficiais do fornecedor, nunca passe credenciais a servidores públicos não verificados e considere uma camada de proteção como o Model Armor. Servidores em registries públicos não são auditados — use por sua conta e risco.

05

Contornando o problema NxM

A matemática da integração: N modelos × M ferramentas — e por que o MCP transforma explosão combinatória em soma linear.

Toda plataforma agêntica enfrenta a mesma matemática: N modelos × M ferramentas. Na abordagem tradicional, cada par modelo-ferramenta exige uma integração bespoke — O(N×M) pontos de integração. Com 5 modelos e 10 ferramentas, são 50 integrações para manter. Se a API de uma ferramenta muda, múltiplos loops de parser quebram de uma vez.

asciia matemática da integração — tradicional vs MCP
TRADICIONAL — O(N×M): cada par precisa do seu próprio conector

  gemini ──┬── calendar   5 modelos
  claude ──┼── gmail      ×
  llama ───┼── bigquery   10 ferramentas
  gpt ─────┼── maps       = 50 integrações bespoke
  mistral ─┴── drive      (e 50 lugares para quebrar)

COM MCP — O(N+M): todos falam o mesmo protocolo

  gemini ─┐              ┌── calendar
  claude ─┤              ├── gmail
  llama ──┼── [ MCP ] ──┼── bigquery
  gpt ────┤              ├── maps
  mistral─┘              └── drive
           5 + 10 = 15 adaptadores

Com o MCP, cada modelo implementa o protocolo uma vez e cada ferramenta implementa o protocolo uma vez — o custo total cai para O(N+M), escala linear. Arraste os controles e veja a diferença explodir:

Tradicional · O(N×M)12
Com MCP · O(N+M)7
integrações bespoke
12
adaptadores com MCP
7
economia
5
Com 3 modelos e 4 ferramentas, o MCP já elimina 5 integrações. A vantagem cresce multiplicativamente com a escala — e cada API que muda agora quebra um adaptador, não N.
06

Por que isso importa: os transportes

Definições de ferramenta padronizadas + transportes padrão = o harness conecta direto, sem camadas custom.

Como as definições de ferramenta são padronizadas, o MCP pode ser ligado diretamente ao harness por transportes padrão — sem camadas de integração custom. Dois transportes cobrem praticamente todos os casos. Clique em cada um:

🖥️

stdio

Standard Input/Output · local & prototipagem
🌐

SSE over HTTP

Server-Sent Events · local ou remoto

stdio

Nos dois casos, o vibe coder ganha o mesmo superpoder: conectar ferramentas sem escrever múltiplas camadas de integração custom — o transporte é resolvido pelo protocolo, não por você.

07

Debugando problemas com servidores MCP

Quando o agente alucina parâmetros ou chama a ferramenta errada: não mexa no prompt às cegas — inspecione o transporte.

Quando o agente alucina parâmetros, chama a ferramenta errada ou falha ao parsear um payload, o instinto é reescrever as system instructions. Resista. O problema quase sempre está no que o agente — e a forma correta de diagnosticar é inspecionar diretamente os canos do transporte, sem iniciar o workflow principal do agente.

🔬

MCP Inspector

Ferramenta nativa de desenvolvimento: um painel web local para interrogar qualquer servidor MCP (local ou remoto) manualmente.

  • veja os schemas ativos das ferramentas
  • teste payloads de input manualmente
  • inspecione os pacotes JSON-RPC 2.0 raw
  • tudo isso sem disparar o workflow do agente
🧰

Chrome DevTools

Para ambientes de desenvolvimento web e conexões SSE, o DevTools é o complemento ideal:

  • trace os streams web que chegam
  • verifique a latência do servidor por request
  • debugue a conexão SSE quadro a quadro
  • correlacione erros de rede com falhas do agente
Regra de ouro do debug MCP

Dados raw do transporte > ajustes cegos de prompt. Se o schema diz date: string e o agente envia um número, o conserto é no schema ou no exemplo — não em mais uma frase de instrução.

08

Toolkit do vibe coder: boas práticas de consumo MCP

O que fazer e o que nunca fazer ao consumir servidores MCP.

✅ Faça

Audite servidores públicos antes de conectar — revise o código-fonte.
Use RAG para ferramentas: carregue/descarte schemas dinamicamente do contexto, evitando diluição de atenção.
Aproveite API Gateways e registries internos — schemas aprovados e governados.
Use o MCP Inspector — dados raw do transporte, não prompt-tweaking às cegas.
Inclua HITL: mostre os inputs da ferramenta antes da chamada, evitando exfiltração de dados.
Logue o uso de ferramentas para auditoria.

❌ Não faça

Não construa se pode consumir — procure um servidor MCP existente primeiro.
Não use MCPs públicos não verificados em produção — riscos de segurança e confiabilidade.
Não hardcodeie credenciais — use variáveis de ambiente.
Não conecte em produção — use projeto de desenvolvimento com dados não-produção ou ofuscados.
Não use para atualizações — modo read-only se precisar de dados reais.
Não dê acesso amplo a todos os projetos — escopo para o projeto específico.
09

Interoperabilidade Agent-to-Agent (A2A)

Os sistemas de IA estão virando redes distribuídas de especialistas — e comunicação padronizada é o que escala essa rede.

Os sistemas de IA estão evoluindo de aplicações isoladas para redes distribuídas de especialistas de domínio. Nessa realidade, comunicação padronizada não é conveniência — é pré-requisito de escala. O A2A (Agent-to-Agent) é a camada fundacional que resolve a fragmentação do ecossistema: ele permite que desenvolvedores descubram, orquestrem e monetizem uma força de trabalho virtual globalmente interoperável.

A evolução das arquiteturas agênticas

Há um padrão recorrente na história da computação: o manual e de baixo nível dá lugar ao declarativo e baseado em intenção. O usuário diz O QUÊ, não COMO. Essa trajetória se repetiu três vezes — e agora acontece com os agentes:

🏗️

Infraestrutura → Infrastructure as Code

de servidores configurados à mão para declarações de estado desejado.

O QUÊ, não COMO
🤖

ML → AutoML

a visão de Pichai (2017): pipelines de ML que se constroem sozinhos a partir da intenção.

O QUÊ, não COMO

Código → Vibe coding

hoje: aplicações inteiras geradas a partir de intenção em linguagem natural.

O QUÊ, não COMO
🧩

Monolito → Microserviços → Agentes

a trajetória espelha Fowler & Lewis (2014): de aplicações monolíticas para serviços especializados e componíveis.

O QUÊ, não COMO
"One way we hope to make AI more accessible is by simplifying the creation of machine learning models called neural networks. Today, designing neural nets is extremely time intensive... That's why we've created an approach called AutoML, showing that it's possible for neural nets to design neural nets. We hope AutoML will take an ability that a few PhDs have today …."
— Sundar Pichai (2017) · endnote 15
10

O teto monolítico

O "canivete suíço" de um agente só funciona até certo ponto — depois, a própria arquitetura vira o limite.

O vibe coding inicial produz naturalmente o Single Agent Monolith: um "canivete suíço" com um prompt sofisticado, um agente vestindo múltiplos chapéus e dezenas de ferramentas. Dá para prototipar num fim de semana — mas ele logo bate no Teto Monolítico:

📏

Atrito de escala

Não dá para otimizar a "lógica de banco" sem confundir a "lógica de UI". Mais ferramentas → piores decisões: o espaço de busca fica grande demais e surgem parâmetros alucinados e ferramentas erradas.

🧠

Sobrecarga contextual

System instructions + dezenas de schemas de ferramentas + histórico de conversa → a working memory do modelo estoura. Tudo compete pela mesma atenção.

💥

Ponto único de falha

Um bug em uma ferramenta ou instrução → o agente inteiro alucina ou trava. Dados corrompidos se propagam para todas as capacidades.

🔪Analogia · O canivete suíço

Ótimo para acampar — péssimo para construir uma casa

O monolito

Um canivete suíço tem 30 ferramentas numa peça única: tudo disponível o tempo todo, mas cada ferramenta é medíocre e o conjunto é pesado de carregar. É o agente monolítico — versátil, frágil, impossível de escalar.

A alternativa

Uma caixa de ferramentas organizada: cada ferramenta no seu lugar, especializada, pegável sob demanda. É a arquitetura multi-agente — cada especialista carrega só o que precisa.

11

Especialização interna

A especialização é uma lei fundamental de design de sistemas — e os agentes seguem a mesma planta baixa do ML e do software.

A solução segue a planta baixa que engenheiros de ML e de software já conhecem. O AutoML provou seu valor de negócio e depois foi decomposto em estágios observáveis — versionamento de dados, feature stores, detecção de drift. O mesmo acontece com o agente monolítico: especialização é o mecanismo de escala.

🏛️ Figura 3 · Arquitetura multi-agente monolítica — especialização interna
Como funciona
rooto agente monolítico é particionado logicamente em sub-agentes com propósitos distintos
subcada sub-agente: system prompt altamente focado + subconjunto relevante de ferramentas
limiteainda é um monolito: sub-agentes NÃO se comunicam através de fronteiras de rede
limitecompartilham runtime e memória do mesmo processo
Três benefícios diretos
redução do espaço de buscamenos erros
menos diluição de atençãoraciocínio + nítido
carga contextual otimizada+ sinal, − ruído

Redução do espaço de busca: restringir as ferramentas de cada sub-agente reduz erros e alucinações. Mitigação da diluição de atenção: um prompt de domínio único produz raciocínio mais nítido. Otimização da carga contextual: o orchestrator roteia a tarefa e cada sub-agente recebe contexto com alta razão sinal-ruído.

12

Arquitetura multi-agente distribuída

Quando os especialistas saem do seu processo e cruzam fronteiras de rede — e a lente "build vs. buy" entra em cena.

O ecossistema está migrando para arquiteturas multi-agente distribuídas: líderes da indústria (Google, Salesforce, ServiceNow, Workday) já publicam agentes de domínio específicos. O orchestrator delega através de fronteiras de rede — não mais dentro de um único processo.

🔨

Build · sub-agentes custom para plataformas 3P

maintenance tax significativo
  • o desenvolvedor assume total responsabilidade por atualizar lógica de prompt, definições de ferramentas e mudanças de schema de API
  • cada mudança na plataforma 3P vira seu trabalho
  • você mantém o que não construiu de fato
🤝

Buy · agentes especialistas oficiais

mantidos por experts de domínio
  • o especialista é mantido por quem conhece o domínio profundamente
  • seu orchestrator foca no valor único para o usuário e na inovação central
  • atualizações chegam via protocolo, não via reescrita
O gargalo da fragmentação

Cada especialista pode ser construído por uma equipe diferente, com tecnologia diferente: o agente do Google em Python, Go ou Java com ADK, o da Salesforce em LangChain, o da Workday em algo totalmente bespoke. Linguagens diferentes, estruturas de payload diferentes, tratamento de estado conversacional diferente, camadas de transporte diferentes. Se cada integração exige código custom e loops de correção de erro bespoke, a "equipe virtual" vira um projeto de integração — e o imposto de manutenção consome o projeto inteiro.

13

Domínios bounded × unbounded

Por que um agente especialista não pode ser tratado como uma ferramenta comum — a analogia da reforma da cozinha.

🔨Analogia · A reforma da cozinha

Ferramentas são instrumentos passivos; especialistas são parceiros colaborativos

Comprar ferramentas e manuais (DIY)

Você compra a serra, o nível e o manual. A ferramenta faz exatamente o que você comanda — e só. Se a parede está torta, a serra não avisa. É a ferramenta padrão: fire-and-forget, um request perfeitamente formatado → uma response.

Contratar quem faz cozinhas para viver

Você não entrega a planta e vai embora. O especialista encontra casos de borda, aponta descuidos, pausa, consulta sobre trade-offs e retoma. É um agente: um espaço de resolução de problemas unbounded.

O mundo real tem estruturas de dados ambíguas, requisitos enganosos e preferências de usuário conflitantes — o "equivalente digital de paredes tortas". Raramente é possível especificar todos os detalhes sem clarificação multi-turno. É essa necessidade de negociar, pausar e retomar que separa um agente de uma API.

14

O problema GOTO na arquitetura agêntica

Forçar um domínio unbounded dentro de um wrapper de ferramenta é o novo GOTO — e o A2A é o bloco estruturado que faltava.

O domínio de um agente é unbounded. Forçá-lo dentro de um wrapper de ferramenta síncrona equivale a ressuscitar o GOTO: o fluxo de controle abandona o contexto estruturado esperado e pode qualquer coisa — atingir um estado interrompido, pedir mais informação, nunca retornar o output esperado, ou ser abandonado quando o usuário muda de ideia no meio do caminho.

Precisamos de um paradigma que isole o estado multi-turno bagunçado — um protocolo que permita pausar a execução → voltar ao Orchestrator → negociar → retomar sem perder o estado conversacional. O A2A preenche exatamente essa lacuna. Ao isolar o roteamento colaborativo na camada A2A, a camada de ferramentas (MCP) permanece limpa, previsível e estritamente estruturada.

A pergunta decisiva (endnote 19)

"O chamador precisa de um resultado, ou o chamador precisa que outro participante assuma a responsabilidade?"

Resultado → ferramenta (MCP). Responsabilidade → agente (A2A).

15

Construindo a workforce virtual

A2A + especialização criam novos marketplaces de expertise — com o Agent Card como currículo padronizado.

A2A + especialização são a fundação de novos marketplaces de expertise. Sem A2A, cada aplicação agêntica luta sozinha contra a complexidade crescente. Com A2A, um desenvolvedor pode focar num nicho de alto valor — por exemplo, "Conformidade Regulatória em Tempo Real" — e ter seu especialista descoberto e "contratado" por orchestrators do mundo inteiro.

🪪

O Agent Card — o "currículo" do mundo da IA

Um documento padronizado que qualquer orchestrator consegue ler para decidir se contrata o especialista:

  • Capabilities: quais tarefas o agente executa
  • Security & Compliance: políticas de tratamento de dados e requisitos de permissão
  • Interaction Schemas: como outros agentes se comunicam via A2A
🗂️

Os registries — onde a expertise é publicada

Dois canais de descoberta, dois modelos de governança:

  • Registries públicos (marketplaces): a agência de talentos global — liste seu especialista e licencie a expertise para milhares
  • Registries privados: ambiente seguro e governado — workflows internos compartilhados entre departamentos
Em uma frase

O A2A transforma aplicações agênticas isoladas em membros fundacionais de uma força de trabalho digital global e interoperável.

16

Implementando o protocolo A2A

Dois movimentos de desenvolvimento: expor seu agente (oferta) e conectar agentes remotos (demanda).

Para transformar seu agente num especialista contratável, três etapas — do cartão de visita ao endpoint vivo:

🪪

1 · Agent Card

a especificação formal: capabilities, segurança e schemas de interação

🔁

2 · Agent Executor

a camada de tradução: requests/responses A2A ↔ chamadas do framework (ADK, LangGraph, bespoke)

🌐

3 · Endpoint A2A

o agente publicado e descobrível na rede

Do lado da demanda, o orchestrator entende a intenção do usuário, gerencia o workflow e delega a agentes A2A remotos — contratados autônomos, limitados ao seu domínio. Dois padrões de conexão:

Padrão 1 · Ponto a ponto direto

Endpoint fixo e conhecido — simples e previsível, ideal para integrações estáveis.

pythonRemoteA2aAgent com endpoint hardcoded
from google.adk.agents import RemoteA2aAgent

agent = RemoteA2aAgent(
    name="travel_specialist",
    url="https://travel.example.com/a2a",
)

Padrão 2 · Descoberta via Agent Registry

O orchestrator consulta o registry e resolve o especialista dinamicamente — a base da workforce virtual.

pythonregistry.get_remote_a2a_agent
agent = registry.get_remote_a2a_agent(
    capability="real_time_compliance",
)
# o registry resolve o Agent Card
# e devolve um agente pronto para uso
Figura 5 · o ciclo completo

A exposição (supply side) publica o especialista; o consumo (demand side) o descobre e delega. Os dois lados se encontram no Agent Card — o contrato que torna a workforce interoperável.

17

A camada de extensibilidade — e a monetização

O A2A resolve a fragmentação; as extensões constroem aplicações transacionais ricas por cima — e abrem a porta do Agent-as-a-Service.

O núcleo do A2A é o backbone de transporte e negociação. Aplicações transacionais ricas exigem capacidades de ordem superior — e o framework de A2A Extensions as padroniza: anunciar, negociar e executar funcionalidades opcionais. Três frameworks fundacionais vivem como extensões nativas:

🪟

A2UI

experiências de usuário dinâmicas e stateful.

🛒

UCP

comércio agêntico autônomo e seguro.

💳

AP2

pagamentos agênticos confiáveis e verificáveis.

Monetizando agentes A2A — o modelo Agent-as-a-Service

Seguindo o paradigma do SaaS, o AaaS é um modelo baseado em consumo, vendido por vários canais. O Google Cloud Marketplace funciona como motor de monetização, e o Gemini Enterprise atua como plataforma agêntica — com Agent Registries e um cliente A2A nativo, sendo ao mesmo tempo plataforma AaaS (Assistant API) e hospedeiro de agentes remotos. Um modelo de preço híbrido comum: "taxa fixa com uso" — base previsível + excedentes por token/computação.

📦

Publicar

expor o agente com Agent Card

🔍

Descobrir

orchestrators encontram no registry

🤝

Negociar

termos e extensões via A2A

Executar

a tarefa roda no especialista

💰

Monetizar

cobrança por consumo / marketplace

Microtransações permissionless · x402 / L402

O framework de extensões habilita o padrão x402 (ou L402): o servidor intercepta um request não pago e responde com HTTP 402 Payment Required + uma fatura legível por máquina. O agente chamador paga autonomamente e reenvia com um token criptográfico de prova de pagamento. Resultado: endpoints pay-per-call com billing automatizado e estritamente stateless.

18

Interoperabilidade Agent-to-UI (A2UI)

Agentes não deveriam devolver só JSON — deveriam devolver interfaces inteiras, com segurança.

O gap de comunicação: pergunte a um colega "como foi o Q4 por região?" e ele desenha um gráfico de barras, circula os destaques e adiciona contexto. Um agente devolve JSON puro — e você constrói o gráfico sozinho: importa bibliotecas, configura eixos, gerencia estado. Essa troca de contexto quebra o fluxo do vibe coding. O A2UI muda o jogo: agentes geram UIs interativas completas como output, não apenas blobs de JSON.

Generative UI é o LLM criando interfaces dinamicamente em runtime, com base na intenção e no contexto do usuário. Em vez de hardcodar cada estado de UI, o modelo compõe a interface adequada sob demanda: "compare as vendas de Q4 por região" → o sistema monta um layout interativo com cards, filtros e controles. O desafio central é a segurança: injeção de código, XSS e efeitos colaterais descontrolados.

🎼Analogia · A partitura

O compositor não entrega a gravação — entrega a partitura

A partitura

A mesma partitura toca em piano, orquestra ou sintetizador — cada instrumento interpreta com a própria voz. O A2UI é a partitura da UI: o agente escreve a intenção, e qualquer renderer (React, Angular, Lit, Flutter, Jetpack Compose, SwiftUI) executa nativamente.

Separação de responsabilidades = segurança

O agente não gera código executável (pesadelo de segurança) nem envia pixels pré-renderizados (não reflow, não interage). Ele pede componentes de um catálogo confiável; o cliente monta com a própria biblioteca. "Composicional, como blocos de LEGO — mas os blocos são componentes de UI do seu design system."

O agente não precisa saber o alvo (web, mobile, wearable, eletrodoméstico) — só conhece o catálogo e os exemplos. O catálogo define o que está disponível, o agente decide o arranjo, o cliente monta.

20

Gerando A2UI: dois padrões

A escolha fundamental: onde vive a decisão de layout — no LLM ou na ferramenta?

🧠

Padrão 1 · LLM gera A2UI diretamente (padrão)

layout guiado pela intenção
  • o modelo é dono do layout e se adapta à intenção do usuário
  • o mesmo agente responde "compare regiões" e "mostre tendências" com interfaces diferentes
  • em produção: use o a2ui-agent-sdk oficial
🧩

Padrão 2 · Ferramenta devolve estrutura fixa (especialização)

layout guiado pelo input
  • uma chamada de ferramenta, zero tokens de LLM em geração de UI, totalmente previsível
  • certo quando o layout é determinístico a partir dos inputs — a ferramenta vira um template server-side
  • a ferramenta faz duas coisas: monta a estrutura com data bindings (referências de path, não f-string) e a devolve; o A2uiPartConverter intercepta e roteia ao cliente como parte A2UI — a ferramenta continua uma função Python comum
pythonSnippet 5 · o padrão LLM-generates-UI — ferramenta como template com data bindings
from google.adk.agents import LlmAgent
from google.adk.models import Gemini

def get_sales_dashboard(region: str) -> dict:
    """Build a data-bound sales dashboard for `region`."""
    data = fetch_sales(region)
    return {
        "version": "v0.9",
        "updateComponents": {
            "surfaceId": "sales",
            "components": [
                { "id": "root",  "component": "Column", "children": ["title", "total", "drill"] },
                { "id": "title", "component": "Text",   "text": { "path": "/title" }, "variant": "h1" },
                { "id": "total", "component": "Text",   "text": { "path": "/total" } },
                { "id": "drill", "component": "Button", "child": "drill-label",
                  "action": { "event": { "name": "expand_details" } } },
                { "id": "drill-label", "component": "Text", "text": "Drill Down" },
            ],
        },
    }

agent = LlmAgent(
    name="sales_agent",
    model=Gemini(model="gemini-flash-latest"),
    tools=[get_sales_dashboard],
)

# Conecte o conversor no setup do executor para que a resposta desta
# ferramenta vire uma parte A2UI:
#   from a2ui.adk.send_a2ui_to_client_toolset import A2uiPartConverter
#   A2aAgentExecutorConfig(event_converter=A2uiPartConverter(catalog, bypass_tool_check=True))

Os valores de dados chegam numa mensagem paralela updateDataModel que resolve referências {path: "/title"} — os clientes re-renderizam nos updates de dados sem reenviar a estrutura. E o LLM só vê a resposta estruturada da ferramenta (não a UI renderizada), então o contexto permanece focado.

Query do usuárioTipo de outputQuem decide o layout
"Qual é a média?"Dados (texto)
"Compare estas regiões"UI gerada pelo LLMo modelo (intenção)
"Mostre meu dashboard"UI construída pela ferramentatemplate determinístico
API-para-APIDados (JSON)
Regra de decisão

Use A2UI quando a interação/visualização agrega valor além dos dados brutos. Escolha o padrão por quem é dono do layout: o LLM (guiado por intenção) ou um template determinístico (guiado por input).

21

Artefatos interativos & o Canvas

Quando a UI deixa de ser output e vira um espaço de trabalho vivo, editado por agente e humano em tempo real.

O chat tradicional é linear: cada resposta é estática. O Canvas é um workspace persistente que agente e usuário editam juntos — um documento vivo onde o agente modifica seções e você edita manualmente, em tempo real. Combinado com o A2UI, a persistência encontra a interatividade: a UI não é só renderizada — é um meio de comunicação. O agente observa suas interações e responde de acordo.

👤

User

edita, clica, ajusta

🤖

Agent

observa e responde

🗒️

Canvas

workspace persistente + A2UI interativo

Boas práticas — deixe o LLM gerar A2UI

Escrever JSON A2UI à mão é tedioso. Use o SDK oficial (pip install a2ui-agent-sdk): o A2uiSchemaManager constrói o system prompt com o schema do catálogo + exemplos trabalhados; o catálogo traz seu próprio validador JSON-Schema; o SDK fornece parser para blocos <a2ui-json> e valida e tenta de novo em erros de schema.

pythonSnippet 6 · A2uiSchemaManager
from a2ui_agent_sdk import A2uiSchemaManager

manager = A2uiSchemaManager(catalog="basic")
system_prompt = manager.build_prompt()   # schema + exemplos

try:
    ui = manager.parse(llm_output)        # valida o JSON
except SchemaError:
    ui = fallback_text(llm_output)        # nunca vaze payload malformado
Produção

Envolva create_ui() em try/except e caia para texto em falhas de validação. O output do LLM é estocástico — o renderer nunca deve ver um payload malformado.

Output híbrido para flexibilidade

Forneça dados e UI juntos — cada consumidor escolhe. Clientes de API ignoram o campo ui e usam data; clientes voltados a humanos renderizam a mensagem A2UI.

jsonSnippet 7 · schema de output híbrido
{
  "data": { "avg": 42.7, "regions": ["…"] },                                  // para APIs
  "ui":   { "version": "v0.9",
           "updateComponents": { "surfaceId": "main", "components": ["…A2UI…"] } }, // para humanos
  "ui_available": true                                                    // sinaliza a UI
}
Resumo do A2UI

Generative UI cria interfaces em runtime a partir da intenção; o A2UI é o padrão open-source do Google, framework-agnostic, para declarar intenção de UI. A mesma mensagem renderiza nativamente em Lit, Flutter, React ou no seu design system — e o modelo de segurança garante que o agente não injeta código arbitrário, apenas pede componentes de um catálogo confiável.

22

Agentes e comércio — AP2 e UCP

Das operações de "leitura" para ações com implicações financeiras reais — a madrugada do burrito às 2h.

As seções anteriores cobriram operações de "leitura" (MCP, A2A, A2UI). A evolução natural: agentes precisam executar "ações" com implicações financeiras no mundo real. Priorizar protocolos de comércio + um harness operacional robusto é o que os transforma em padrões da indústria para transações.

🌯Analogia · Delivery às 2h da manhã

Você e seus colegas de apartamento, com fome, deployam um assistente de IA para buscar comida

UCP · o app de delivery definitivo

Em 2024, a IA abria o Chrome, clicava em "guacamole extra" num site mal projetado e torcia para não travar. Com o UCP, cada restaurante publica cardápio, horários e customizações numa linguagem de máquina padrão. A IA pergunta "ainda estão abertos? tem burrito vegetariano?", monta o pedido e o restaurante responde com impostos, taxa de entrega e ETA. "O UCP é como sua IA conversa com a loja, olha as opções e monta o pedido perfeito."

AP2 · o cartão dos pais com regras estritas

Comida no carrinho, a IA precisa pagar — e você não vai digitar seu débito no prompt e dizer "vai com tudo". O AP2 é um protocolo aberto com linguagem comum para transações seguras. O Mandate: você aprova a regra "gaste até $25 no Taco Bell". O Handshake: a IA apresenta uma "nota promissória" criptografada e assinada por você; o banco do restaurante verifica a assinatura. Sem taxas escondidas: se o restaurante tentar cobrar $50 em vez de $18,50, o AP2 bloqueia na hora. "O AP2 é o cofre que deixa sua IA pagar com seu dinheiro, mas garante que ela nunca compre uma TV de $1.000 por engano."

1

Descobrir o cardápio

o restaurante publica menu e horários em linguagem de máquina padrão.

UCP
2

Montar o pedido

a IA pergunta, customiza e monta o carrinho; o restaurante responde com impostos, taxa e ETA.

UCP
3

Checar o mandate

a regra digital aprovada por você ("até $25") é verificada antes de qualquer pagamento.

AP2
4

Handshake assinado

a IA apresenta a nota promissória criptografada; o banco do restaurante valida a assinatura digital.

AP2
5

Bloquear discrepâncias

cobrança fora do assinado ($50 ≠ $18,50) é rejeitada instantaneamente — sem taxas escondidas.

AP2
6

Confirmar o pedido

transação verificada, pedido confirmado — o burrito está a caminho.

UCP
UCPAP2
Papelo cérebro que decide o que comprar — maneja o cardápio e põe a comida no carrinhoa carteira que cuida de como pagar com segurança, sem cair em golpe
Integra-se comqualquer fornecedor de negócioo ecossistema de pagamentos
Pilaresintegração unificada · linguagem compartilhada · arquitetura extensível · security-firstautorização & auditabilidade · autenticidade de intenção · accountability por erros e alucinações do agente

Características-chave e benefícios dos protocolos: typed schemas, segurança e open source — a combinação que ataca de frente a dívida de integração e garante neutralidade de vendor.

Mão na massa

O laboratório recomenda o codelab codelabs.developers.google.com/next26/adk-agent-commerce para ver AP2 + UCP rodando juntos.

23

Conclusão: de mecânico a arquiteto

Adotar os padrões fundacionais elimina a dívida técnica esmagadora das integrações bespoke.

1

Padrões eliminam dívida

Adotar MCP, A2A, A2UI, AP2 e UCP elimina a dívida técnica esmagadora das integrações bespoke — e libera foco total para orquestrar lógica de negócio de alto valor.

2

Uma mudança de paradigma

O desenvolvedor deixa de ser o mecânico que fia APIs frágeis e se torna o arquiteto de uma força de trabalho autônoma global.

3

Novas economias de escala

À medida que as camadas de comunicação padronizada amadurecem, elas destravam economias de escala inteiramente novas — transformando como o software enterprise é construído, consumido e monetizado.

"A próxima evolução do software não é escrita:
é orquestrada por agentes interoperáveis."
— Agent Tools & Interoperability · Google
24

Quiz — teste seu domínio do stack

8 perguntas sobre protocolos, arquitetura e comércio agêntico.

pergunta 1 / 8
0/8

25

Cheatsheets

Três referências rápidas para copiar e colar no seu workflow.

mcp-consumption.md
# MCP — CHECKLIST DE CONSUMO

FAÇA
   auditar servidores públicos antes de conectar (revise o código)
   usar RAG para ferramentas (carregar/descartar schemas dinamicamente)
   preferir API Gateways e registries internos (schemas governados)
   debugar com MCP Inspector (dados raw, não prompt às cegas)
   incluir HITL (mostrar inputs antes da chamada)
   logar uso de ferramentas para auditoria

NÃO FAÇA
  ✗ construir se pode consumir — procure um servidor MCP existente
  ✗ MCPs públicos não verificados em produção
  ✗ hardcodar credenciais — use variáveis de ambiente
  ✗ conectar em produção — use projeto dev + dados ofuscados
  ✗ usar para updates — read-only com dados reais
  ✗ acesso amplo a todos os projetos — escopo específico
a2a-implementation.md
# A2A — RECEITA DE IMPLEMENTAÇÃO

EXPOR (supply side)
  1. definir o Agent Card  → capabilities · security · interaction schemas
  2. implementar o Agent Executor (camada de tradução)
     → requests/responses A2A ↔ framework (ADK / LangGraph / bespoke)
  3. estabelecer o endpoint A2A

CONECTAR (demand side)
  # Padrão 1 · ponto a ponto direto
  agent = RemoteA2aAgent(name="x", url="https://…/a2a")

  # Padrão 2 · descoberta via registry
  agent = registry.get_remote_a2a_agent(capability="…")

REGRA DE DECISÃO
  chamador precisa de resultado      → ferramenta (MCP)
  chamador precisa de responsabilidade → agente (A2A)
a2ui-quickref.md
# A2UI — REFERÊNCIA RÁPIDA

CATÁLOGO BÁSICO (18 componentes)
  layout:      Row · Column · List
  display:     Text · Image · Icon · Divider
  containers:  Card · Modal · Tabs
  media:       Video · AudioPlayer
  interactive: Button · TextField · CheckBox · Slider · DateTimeInput · ChoicePicker

DOIS PADRÕES DE GERAÇÃO
  1. LLM gera A2UI     → layout guiado pela intenção (use a2ui-agent-sdk)
  2. Ferramenta devolve → layout determinístico, zero tokens de UI

QUANDO USAR
  "qual é a média?"        → dados (texto)
  "compare estas regiões"  → UI gerada pelo LLM
  "mostre meu dashboard"   → UI construída pela ferramenta
  API-para-API             → dados (JSON)

SEGURANÇA
  agente pede componentes do catálogo — nunca injeta código arbitrário
26

Comece agora — checklists

Três trilhas práticas. Marque o que já fez — o progresso fica salvo no seu navegador.

🔌Adotar MCP no seu workflow

Auditar um servidor MCP público antes de conectar
Configurar credenciais via variáveis de ambiente
Conectar e validar os schemas via handshake
Debugar um payload com o MCP Inspector
Adicionar HITL antes de chamadas sensíveis
0 / 5

🤖Construir arquitetura multi-agente

Especializar: particionar o monolito em sub-agentes focados
Aplicar a lente build vs. buy a cada especialista
Expor um agente com Agent Card + Executor + endpoint
Conectar um especialista remoto via registry
Publicar o especialista num registry (público ou privado)
0 / 5

🪟Habilitar UI generativa e comércio

Instalar o a2ui-agent-sdk e gerar uma UI com o LLM
Mapear componentes do seu design system para o catálogo
Escolher o padrão de geração (LLM vs. ferramenta)
Definir um mandate AP2 para uma transação de teste
Rodar o codelab de agent commerce (UCP + AP2)
0 / 5
27

Glossário

Os termos essenciais do paper, em linguagem direta.

MCP
Model Context Protocol — o "USB-C" que conecta modelos a bancos, filesystems e APIs web via um soquete padronizado.
A2A
Agent-to-Agent — protocolo para agentes descobrirem, negociarem e delegarem trabalho através de fronteiras de rede.
A2UI
Agent-to-User Interface — padrão open-source para agentes declararem intenção de UI com segurança (a "partitura").
AP2
Agent Payments Protocol — pagamentos agênticos seguros e verificáveis, com mandate e handshake assinado.
UCP
Universal Commerce Protocol — linguagem padrão para o agente descobrir produtos, montar pedidos e interagir com o comércio.
Agent Card
o "currículo" padronizado de um agente: capabilities, segurança/compliance e schemas de interação.
Agent Registry
diretório (público ou privado) onde especialistas são publicados e descobertos — a agência de talentos da workforce virtual.
Harness
o andaime ao redor do modelo — ferramentas, transporte, memória e segurança. Agent = Model + Harness.
Orchestrator
o agente (ou dev) que entende a intenção, gerencia o workflow e delega a especialistas — em vez de fiar cada conexão.
Conductor
o papel oposto: fiação manual e ponto a ponto de cada integração — o que os protocolos eliminam.
Problema NxM
a explosão combinatória de N modelos × M ferramentas (O(N×M)); o MCP reduz a O(N+M).
stdio / SSE
os dois transportes MCP: stdio para subprocesso local/prototipagem; SSE over HTTP para streaming em tempo real, local ou remoto.
Generative UI
LLMs criando interfaces dinamicamente em runtime, com base na intenção e no contexto do usuário.
Agent-as-a-Service (AaaS)
modelo de monetização baseado em consumo para agentes — o SaaS da força de trabalho agêntica.
x402 / L402
padrões de microtransação permissionless: HTTP 402 + fatura legível por máquina + token criptográfico de prova de pagamento.
Mandate (AP2)
a regra digital aprovada pelo humano que limita o que o agente pode gastar — ex.: "até $25 no Taco Bell".
28

Continue a jornada

Os papers companions da série — cada guia segue o mesmo formato interativo e trilíngue.

HUBponto de partida

Série Agents Whitepaper — hub

Todos os guias da série em um só lugar.

índicenavegação
D1fundamentos

The New SDLC with Vibe Coding

Agentic Engineering, o Factory Model e a equação Agent = Model + Harness.

vibe codingfactory modelharness
D3contexto & memória

Context Engineering: Sessions, Memory

Como montar, a cada turno, a informação certa dentro da context window.

sessionsmemoryRAG
D4segurança & avaliação

Vibe Coding Agent Security and Evaluation

Como avaliar e proteger agentes: quality gates, métricas e segurança em produção.

evaluationquality gatesagent security
D5produção

Spec-Driven Production Grade Development

Desenvolvimento guiado por specs para levar vibe coding a nível de produção.

spec-drivenproduction gradeworkflow
29

Referências

As 21 endnotes do paper original, na ordem em que aparecem.

Citação do paper

PATLOLLA, Kanchana; OLEJNICZAK, Łukasz; IPPOLITO, Pier Paolo. "Agent Tools & Interoperability" — Agents Whitepaper Series, Google, Maio 2026.

velocidade (menor = mais calmo)10×