Observação: para garantir uma experiência consistente e de alto desempenho, este laboratório pode fornecer respostas armazenadas em cache para algumas solicitações de modelo.
GENAI120
Visão geral
O protocolo Agent2Agent (A2A) resolve um dos grandes desafios que o cenário da IA apresenta: ele permite que agentes de IA generativa, criados em frameworks diversos por diferentes empresas e executados em servidores separados, se comuniquem e colaborem de maneira eficaz como agentes, não apenas como ferramentas. O objetivo do A2A é estabelecer uma linguagem comum para agentes, promovendo um ecossistema de IA mais interconectado, potente e inovador.
O A2A foi criado com base em alguns conceitos principais que o tornam eficiente e flexível:
-
Comunicação padronizada: JSON-RPC 2.0 por HTTP(S).
-
Descoberta de agentes: os cards dos agentes detalham os recursos e as informações de conexão de um agente. Assim, os agentes podem se descobrir e conhecer os recursos uns dos outros.
-
Troca de dados avançados: ele processa texto, arquivos e dados JSON estruturados.
-
Interação flexível: é compatível com solicitação/resposta síncrona, streaming (SSE) e notificações push assíncronas.
-
Prontidão para empresas: é projetado com foco em segurança, autenticação e observabilidade.
Objetivos
Neste laboratório, você aprenderá a fazer o seguinte:
- Configurar o ambiente e instalar o Kit de Desenvolvimento de Agente (ADK).
- Implantar um agente do ADK como um servidor A2A.
- Preparar um card do agente JSON para descrever os recursos de um agente A2A.
- Permitir que outro agente do ADK leia o card do agente A2A implantado e o use como um subagente.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Tarefa 1: instalar o ADK e configurar o ambiente
Neste ambiente de laboratório, a API Vertex AI e a API Cloud Run já foram ativadas para você. Se você seguisse essas etapas no seu próprio projeto, elas seriam ativadas acessando a Vertex AI e seguindo o comando para ativá-las.
Preparar uma guia do editor do Cloud Shell
- Com a janela do console do Google Cloud selecionada, pressione G e S para abrir o Cloud Shell. Como alternativa, clique no botão Ativar o Cloud Shell (
) no canto superior direito do console do Cloud.
- Clique em Continuar.
- Se for preciso autorizar o Cloud Shell, clique em Autorizar.
- No canto superior direito do painel do terminal do Cloud Shell, clique no botão Abrir em uma nova janela (
).
- Clique no ícone de lápis Abrir editor (
) na parte de cima do painel para visualizar os arquivos.
- Na parte de cima do menu de navegação à esquerda, clique no ícone do Explorer (
) para abrir o explorador de arquivos.
- Clique no botão Abrir pasta.
- Na caixa de diálogo "Abrir pasta" exibida, clique em OK para selecionar a pasta inicial da sua conta de estudante.
- Feche qualquer outro tutorial ou painel do Gemini que apareça no lado direito da tela. Assim você terá mais espaço na janela do editor de código.
- Durante o restante deste laboratório, você trabalha nesta janela como seu ambiente de desenvolvimento integrado (IDE, na sigla em inglês) com o editor e o terminal do Cloud Shell.
Baixe e instale o ADK e os exemplos de código para este laboratório
-
Baixe o código deste laboratório e instale o Kit de Desenvolvimento de Agente (ADK) e outros requisitos executando o seguinte código no terminal do Cloud Shell:
gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/* .
export PATH=$PATH:"/home/${USER}/.local/bin"
python3 -m pip install --upgrade google-adk[a2a]==1.31.0 google-genai
Clique em Verificar meu progresso para conferir o objetivo.
Instalar o ADK e configurar o ambiente.
Tarefa 2: analisar o agente do ADK que você vai disponibilizar remotamente
Para este laboratório, imagine que você trabalha para uma empresa de manutenção de estádios, a Cymbal Stadiums. Trabalhando em um projeto, você desenvolveu um agente de geração de imagens que pode criar ilustrações de acordo com as diretrizes da sua marca. Agora várias equipes diferentes na sua organização também querem usá-lo.
Caso você copiasse o código para ser usado como um subagente por muitos agentes, seria muito difícil manter e aperfeiçoar todas essas cópias.
Você pode, em vez disso, implantar o agente uma vez como um agente encapsulado com um servidor A2A, e os agentes das outras equipes podem incorporá-lo consultando-o remotamente.
-
No painel do explorador de arquivos do editor do Cloud Shell, acesse o diretório adk_and_a2a/illustration_agent. Esse diretório contém o agente do ADK que você planeja disponibilizar remotamente. Clique no diretório para abrir.
-
Abra o arquivo agent.py no diretório e role a tela até a seção # Tools.
-
Repare na função generate_image(), que é uma ferramenta usada por esse agente. Ela recebe um comando e realiza um processo de duas etapas. Primeiro, ela usa o SDK de IA Generativa do Google para chamar generate_content(), que retorna os dados brutos da imagem diretamente na resposta. Em seguida, a função usa a biblioteca do Cloud Storage para fazer o upload desses bytes de imagem para um bucket do Google Cloud Storage. Por fim, a ferramenta retorna um URL para o arquivo de imagem recém-criado.
-
A instruction (instrução) fornecida ao root_agent dá orientações específicas para que o agente use comandos de geração de imagens que respeitem as diretrizes da marca da empresa. Por exemplo, ela especifica:
- um estilo de ilustração específico: (Corporate Memphis)
- uma paleta de cores (roxos e verdes em gradientes de pôr do sol)
- exemplos de imagens de estádios/esportes e manutenção, já que a empresa trabalha com manutenção de estádios
-
Para ver o recurso na prática, primeiro você precisa escrever um arquivo .env para definir as variáveis de ambiente exigidas pelos agentes do ADK. Execute o comando a seguir no terminal do Cloud Shell para gravar esse arquivo no diretório.
cd ~/adk_and_a2a
cat << EOF > illustration_agent/.env
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}
GOOGLE_CLOUD_LOCATION=global
MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}}
IMAGE_MODEL={{{project_0.startup_script.gemini_flash_image_model_id | gemini_flash_image_model_id}}}
EOF
-
Execute o comando a seguir para copiar o .env para outro diretório do agente que você vai usar neste laboratório:
cp illustration_agent/.env slide_content_agent/.env
-
Para permitir que o agente crie um URL assinado para as imagens, você precisa representar uma conta de serviço dedicada. Execute o comando abaixo para configurar o Application Default Credentials com representação:
gcloud auth application-default login \
--impersonate-service-account=illustration-agent-sa@{{{project_0.project_id|YOUR_GCP_PROJECT_ID}}}.iam.gserviceaccount.com
-
No terminal do Cloud Shell, confirme que você quer fazer a autenticação com uma conta pessoal. Digite Y para confirmar e pressione Enter.
-
Clique no link fornecido e selecione sua conta de estudante do Qwiklabs para a autenticação.
-
Depois da autenticação, você vai receber um código de autorização. Use o botão Copiar para copiar o código e retorne ao terminal do Cloud Shell.
-
Cole o código copiado no terminal do Cloud Shell e pressione Enter.
-
Agora, use o comando abaixo no terminal do Cloud Shell para iniciar a interface de desenvolvimento do Kit de Desenvolvimento de Agente:
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
Saída
INFO: Started server process [2434]
INFO: Waiting for application startup.
+-------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://localhost:8000. |
+-------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
-
Para visualizar a interface da web em uma nova guia, clique no link http://127.0.0.1:8000 na parte de baixo da saída do terminal.
-
Uma nova guia do navegador é aberta com a interface de desenvolvimento do ADK.
-
Na guia da interface de desenvolvimento do ADK, no menu suspenso Selecionar app à esquerda, selecione illustration_agent.
-
Envie ao agente um texto que poderia ser usado em uma apresentação de recrutamento:
Quando nos apoiamos, podemos realizar grandes conquistas!
-
Depois de um ou dois minutos, o agente vai responder com o comando gerado e uma prévia da imagem.
Exemplo de saída
-
Observe que o comando enviado ao agente não incluiu esportes, estádios ou trabalhos de manutenção, mas o agente juntou seu texto com as diretrizes da marca em um único comando para o modelo de geração de imagens.
Quando terminar de analisar o agente básico, feche a guia do navegador.
-
Volte ao terminal do Cloud Shell e pressione CTRL+C para interromper o servidor.
Clique em Verificar meu progresso para conferir o objetivo.
Analisar o agente do ADK.
Tarefa 3: implantar o agente como um servidor A2A
Nesta tarefa, você vai seguir as etapas para implantar esse agente como um agente A2A remoto. Um agente A2A se identifica e mostra seus recursos ao exibir um card do agente.
-
Execute o comando abaixo para criar um arquivo agent.json:
cat << EOF > illustration_agent/agent.json
{
"name": "illustration_agent",
"description": "An agent designed to generate branded illustrations for Cymbal Stadiums.",
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["application/json"],
"skills": [
{
"id": "illustrate_text",
"name": "Illustrate Text",
"description": "Generate an illustration to illustrate the meaning of provided text.",
"tags": ["illustration", "image generation"]
}
],
"url": "https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app/a2a/illustration_agent",
"capabilities": {},
"version": "1.0.0"
}
EOF
-
Analise o JSON no arquivo agent.json. Observe que ele dá ao agente um name (nome) e uma description (descrição), além de identificar algumas skills (habilidades). Ele também indica um url em que é possível chamar o próprio agente.
O url do agente é criado para ser o URL do serviço do Cloud Run depois de ser implantado de acordo com as instruções deste laboratório.
Embora tenha um nome parecido com skills, o parâmetro capabilities (recursos) aqui é usado apenas para indicar capacidades como streaming.
-
Execute o comando abaixo para criar um arquivo requirements.txt no diretório illustration_agent:
cat << EOF > illustration_agent/requirements.txt
google-adk[a2a]==1.31.0
EOF
-
No comando abaixo, você usa adk deploy cloud_run com a flag --a2a para implantar o agente no Cloud Run como um servidor A2A:
adk deploy cloud_run \
--project {{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} \
--region {{{project_0.default_region| GCP_LOCATION}}} \
--service_name illustration-agent \
--a2a \
illustration_agent \
-- \
--service-account=illustration-agent-sa@{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}.iam.gserviceaccount.com \
--set-env-vars="GOOGLE_CLOUD_LOCATION=global"
-
Quando solicitado, digite Y e pressione ENTER para permitir respostas não autenticadas.
Enquanto o agente é implantado, confira estes argumentos transmitidos ao comando:
- Os códigos
--project e --region definem o projeto e a região em que o serviço do Cloud Run será implantado.
- O código
--service_name define o nome do serviço do Cloud Run.
- A flag
--a2a indica que ele precisa ser hospedado como um agente A2A. Isso significa que ele será encapsulado pela classe A2aAgentExecutor, que conecta o ADK aos agentes A2A. Essa classe traduz a linguagem do protocolo A2A de tarefas e mensagens para a linguagem de eventos usada por um executor do ADK.
- O separador
-- é usado para transmitir flags diretamente ao comando gcloud run deploy. Todas as flags listadas depois de -- são ignoradas pela ferramenta ADK e processadas diretamente pela CLI do Google Cloud. Aqui, esse separador é usado para atribuir a conta de serviço dedicada e definir a variável de ambiente GOOGLE_CLOUD_LOCATION na implantação inicial.
Observação: a implantação leva de 5 a 10 minutos. Se ocorrer um erro PERMISSION_DENIED, tente executar o comando acima novamente.
Saída esperada:
Você deve ver etapas relacionadas à criação de um Dockerfile e à implantação do contêiner, depois à implantação do serviço, seguidas de:
Service [illustration-agent] revision [illustration-agent-00001-xpp] has been deployed and is serving 100 percent of traffic.
Service URL: https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app
Clique em Verificar meu progresso para conferir o objetivo.
Implantar o agente como um servidor A2A.
Tarefa 4: Ativar outro agente do ADK para chamar este agente remotamente
Nesta tarefa, você permite que um segundo agente do ADK identifique os recursos do seu agente de ilustração e o chame remotamente. Esse segundo agente vai criar conteúdo para uma apresentação de slides. Ele deve escrever um título e algumas frases para o corpo do texto e depois transferir para o agente de ilustração para gerar uma imagem que ilustre esse texto.
-
No terminal do Cloud Shell, execute o comando a seguir para copiar o arquivo JSON do card do agente para o diretório adk_and_a2a e mudar o nome dele para indicar que ele representa o illustration_agent.
cp illustration_agent/agent.json illustration-agent-card.json
-
No painel do explorador de arquivos do editor do Cloud Shell, acesse o diretório adk_and_a2a/slide_content_agent e abra o arquivo agent.py.
Revise a instruction (instrução) desse agente para entender como ele pega a sugestão de um usuário para um slide, usa para criar um título e um texto, e então pede que seu agente A2A forneça uma ilustração para o slide.
-
Cole o código abaixo no cabeçalho # Agents próximo da linha 16 para adicionar o agente remoto com a classe RemoteA2aAgent do ADK:
illustration_agent = RemoteA2aAgent(
name="illustration_agent",
description="Agent that generates illustrations.",
agent_card=(
"illustration-agent-card.json"
),
)
-
Adicione o illustration_agent como um subagente do root_agent. Para isso, inclua o parâmetro abaixo em # Add the sub_agents parameter below no mesmo arquivo:
sub_agents=[illustration_agent]
-
Salve o arquivo.
-
Use este comando para iniciar a interface no terminal do Cloud Shell:
cd ~/adk_and_a2a
adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
-
Clique novamente no link http://127.0.0.1:8000 na saída do terminal para iniciar a interface de desenvolvimento do ADK.
-
Na guia do navegador da interface de desenvolvimento do ADK, no menu suspenso Selecionar app à esquerda, selecione slide_content_agent.
-
Peça ao agente uma ideia para um slide:
Create content for a slide about our excellent on-the-job training.
Você verá esta resposta:
- Um título e um texto escritos pelo próprio slide_content_agent.
- Uma chamada para transfer_to_agent, indicando uma transferência para o illustration_agent.
- A resposta do illustration_agent com a nova imagem.
Saída esperada:
Clique em Verificar meu progresso para conferir o objetivo.
Ativar outro agente do ADK para chamar o agente remotamente.
Parabéns!
Neste laboratório, você demonstrou o poder da colaboração entre agentes com o protocolo A2A. Você também implantou um agente local do ADK no Cloud Run como um microsserviço discreto e detalhou as habilidades dele com um card de agente padronizado. Depois, você transferiu com segurança as tarefas de um agente independente secundário. Com essas habilidades básicas, você tem tudo o que precisa para começar a criar ecossistemas escalonáveis de vários agentes em equipes distribuídas.
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 20 de abril de 2026
Laboratório testado em 20 de abril de 2026
Copyright 2026 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.