1. Visão geral
Neste codelab, vamos criar algo divertido. Imagine um bazar digital em que seu agente de IA é o comerciante mais inteligente e espirituoso.
Conheça o Raju, seu novo comerciante de IA. Ele vende artefatos digitais incríveis, mas você precisa negociar com ele para conseguir!
Vamos usar o Gemini 3 (o cérebro), o ADK (o Kit de Desenvolvimento de Agente, o corpo) e o Google Cloud Run (o local da loja) para dar vida ao Raju.

O que você vai aprender
Vamos criar toda a pilha para um aplicativo agêntico moderno:

- A loja (Cloud Run): onde seu app fica na Internet.
- O cérebro (Gemini 3): a inteligência que alimenta o Raju.
- O corpo (ADK): o framework que conecta o cérebro às ferramentas.
- O inventário (ferramentas): código Python que Raju usa para verificar o estoque.
- A vitrine (UI): a interface que seus clientes veem.
Você aprenderá o seguinte:
- Configure seu "Digital Dukaan" (ambiente do Google Cloud).
- Contrate o Raju (receba chaves da API Gemini 3).
- Ensine o Raju a negociar (instruções do sistema e personas).
- Dê um inventário ao Raju (ferramentas do ADK).
- Crie uma vitrine (interface de front-end).
- Abra as portas da empresa (implante no Cloud Run).
O que é necessário
- Um projeto do Google Cloud.
- Um senso de humor (para negociação).
- Conhecimento básico de Python.
2. Como configurar o Dukaan (projeto do Cloud)
Antes de criar o Raju, precisamos de um local para a loja. Na nuvem, isso significa um projeto com uma conta de faturamento.
Etapa 1: ativar o faturamento

- Abra o link de resgate em uma janela anônima.
- Faça login com sua conta pessoal do Gmail.
- Clique no botão Acessar créditos.
- Confirme seu e-mail e aceite os termos para ativar o teste.
Etapa 2: criar um projeto

- Acesse a página "Criar projeto".
- Insira um nome de projeto exclusivo (por exemplo,
raju-shop-agent). - No menu suspenso "Conta de faturamento", selecione sua Conta de faturamento de teste.
- Clique em CRIAR e aguarde até que o projeto esteja pronto.
Etapa 3: verificar a vinculação de faturamento

- Acesse a página da conta de faturamento vinculada.
- Se a opção "Vincular uma conta de faturamento" aparecer, clique nela.
- Verifique se a Conta de faturamento de teste está selecionada.
- Agora você já pode criar.
Resumo
Nesta etapa, você configura seu projeto do Google Cloud e sua conta de faturamento, criando a base para seu aplicativo.
Em seguida, vamos configurar o espaço de trabalho em que você vai criar o código em Preparar seu ambiente.
3. Como construir a barraca (configuração do ambiente)
Você precisa de um lugar para executar o código. Você tem duas opções:

Opção 1: Google Cloud Shell (recomendada)
O Cloud Shell é um terminal baseado em navegador que vem pré-instalado com tudo o que você precisa (Python, gcloud CLI, git). Ele tem armazenamento permanente e funciona em qualquer lugar.
1. Ative o Cloud Shell.
Clique no ícone Ativar o Cloud Shell (um símbolo de terminal) na parte superior direita do cabeçalho do console do Google Cloud.

O Cloud Shell será inicializado. Isso envolve:
- Autorizando: Se solicitado, clique em Autorizar para permitir que o Cloud Shell faça chamadas para as APIs do Cloud em seu nome.
- Provisionamento:o Cloud Shell provisiona uma máquina virtual temporária para sua sessão.
- Conectando:em seguida, ele se conecta a essa VM. Todo esse processo pode levar um ou dois minutos.
Aguarde até ver o prompt de comando (user@cloudshell:~ $).
2. Verificar a configuração do projeto
O Cloud Shell geralmente seleciona seu projeto atual de forma automática. Para garantir, verifique:
gcloud config get-value project
Se ele não retornar o ID do projeto (raju-shop-agent), defina-o manualmente:
gcloud config set project raju-shop-agent
Opção 2: terminal local
Se você preferir o terminal do seu próprio notebook (iTerm, PowerShell etc.), terá um pouco mais de configuração para fazer.
1. Instalar pré-requisitos
Verifique se você tem o seguinte instalado:
2. Fazer login e configurar a gcloud
Inicialize a CLI do Google Cloud e faça login na sua conta:
gcloud auth login
Defina seu projeto (substitua raju-shop-agent pelo ID do projeto):
gcloud config set project raju-shop-agent
Configure as credenciais padrão do aplicativo (isso ajuda as ferramentas locais a se comunicar com o Google Cloud):
gcloud auth application-default login
Resumo
Nesta etapa, você escolheu e configurou seu ambiente de desenvolvimento (Cloud Shell ou local).
Em seguida, vamos conhecer a ferramenta que vai ajudar a criar mais rápido em Conheça a CLI do Gemini para reuniões.
4. Conheça seu assistente (CLI do Gemini)
Agora, conheça seu novo melhor amigo para desenvolvimento de IA: a CLI do Gemini!

A CLI do Gemini é uma interface de linha de comando avançada que ajuda você a:
- Automatize fluxos de trabalho:gerencie seus projetos de IA com eficiência.
- Geração de código:gere código, interface e até mesmo arquivos inteiros.
- Ecossistema de extensões:amplie os recursos com várias extensões, como a do Cloud Run, que vamos usar mais tarde.
1. Instalar a CLI do Gemini (somente terminal local)
Se você estiver usando o terminal do laptop local:
npm install -g @google/gemini-cli
Se você estiver usando o Google Cloud Shell:
A CLI do Gemini já vem pré-instalada no Cloud Shell. Portanto, não é necessário instalar nada.
2. Iniciar e autenticar
Abra uma nova janela do terminal (ou guia) no Cloud Shell (ou terminal local) e inicie a CLI do Gemini:
gemini
Configuração da primeira execução:se esta for a primeira vez que você executa a CLI, ela vai orientar você em um processo de configuração rápida.
- Autenticação:você precisará fazer login. Recomendamos usar sua conta pessoal do Gmail para aproveitar as cotas sem custo financeiro generosas disponíveis para os modelos do Gemini.
- Contexto do projeto:é uma prática recomendada executar
geminina pasta do projeto para que ele entenda o contexto do código. Como ainda não criamos a pasta, executar o comando no diretório inicial está tudo bem por enquanto.
3. Diga "Olá!"
Quando a mensagem gemini> aparecer, faça um teste para garantir que seu cérebro esteja conectado:
Hi
Você vai receber uma resposta amigável do modelo.
4. Comandos essenciais
/quit: digite isso para sair da CLI do Gemini e voltar ao terminal padrão./help: confira uma lista de todos os comandos disponíveis.
Resumo
Nesta etapa, você instalou, autenticou e verificou a CLI do Gemini.
Em seguida, vamos usar o Kit de Desenvolvimento de Agente (ADK) para criar o esqueleto da nossa loja em Opening Shop (The Code).
5. Abastecendo as prateleiras (configuração do projeto)
Não vamos criar do zero (lojistas inteligentes economizam tempo). Vamos usar o Kit de Desenvolvimento de Agente (ADK).
O que é ADK?

O ADK é seu "sistema de gerenciamento de loja". É um framework flexível que lida com:
- Orquestração: gerenciamento de tarefas complexas (como Raju verificando o inventário enquanto fala com um cliente).
- Gerenciamento de estado: lembrar o nome do cliente e o que ele pediu há 5 minutos.
- Ferramentas: conexão com sistemas externos, como seu banco de dados de inventário.
Vamos usar o pacote de ativação do agente para configurar um "Dukaan" pronto para produção instantaneamente. Ela nos dá uma base segura e escalonável para que possamos nos concentrar nas vendas.
No terminal do Cloud Shell (ou terminal local), execute este comando para gerar o agente:
uvx agent-starter-pack create raju-shop
A CLI vai fazer algumas perguntas para configurar sua loja. Escolha as seguintes opções (digite o número e pressione Enter):
- Tipo de agente: escolha
1(adk_base: um agente ReAct básico). - Destino da implantação: escolha
2(Cloud Run: execução de contêiner sem servidor). - Tipo de sessão: escolha
1(In-memory session: simples e rápido). - Runner de CI/CD: escolha
3(Skip: vamos implantar manualmente por enquanto).
Aguarde a conclusão do processo. Depois disso, insira o diretório da loja e instale as dependências:
cd raju-shop
make install
source .venv/bin/activate
Conhecer e configurar o agente
Agora que o pacote inicial está configurado, revise a estrutura.
1. Verificar a estrutura de pastas
Execute o comando a seguir para ver como sua loja está organizada:
tree .
Você vai ver uma estrutura como esta:
.
├── app
│ ├── __init__.py
│ ├── agent.py
│ ├── app_utils
│ │ ├── telemetry.py
│ │ └── typing.py
│ └── fast_api_app.py
├── Dockerfile
├── GEMINI.md
├── Makefile
├── pyproject.toml
├── README.md
├── tests
│ ├── integration
│ │ ├── test_agent.py
│ │ └── test_server_e2e.py
│ └── unit
│ └── test_dummy.py
└── uv.lock
O arquivo mais importante é app/agent.py. É aqui que o cérebro do Raju fica!
2. Percorrer o código
Abra app/agent.py no editor do Cloud Shell (ou no ambiente de desenvolvimento integrado local) e dê uma olhada rápida:
root_agent = Agent(...): define sua IA. Ele tem ummodel(cérebro) etools(mãos).- Ferramentas: você vai encontrar funções Python como
get_weather. São ferramentas que o agente pode usar. app = App(...): isso envolve seu agente em um servidor da Web para que possamos conversar com ele.
Testar localmente
No terminal do Cloud Shell (ou terminal local), execute o agente:
adk web
Esse comando inicia um servidor da Web local na porta 8000.
Se estiver usando o Cloud Shell:
- Clique no botão Visualização na Web (canto superior direito, parece um olho).
- Selecione Alterar porta.
- Digite
8000e clique em Alterar e visualizar.
Se estiver usando o terminal local:
- Abra o navegador e acesse
http://localhost:8000.
Quando a interface abrir:
- Selecione "app": no menu suspenso no canto superior esquerdo, selecione o agente chamado app. Ignore
root_agentoutest_agentse eles aparecerem. - Diga "Olá": digite "Olá!" e veja se ele responde.
Pressione Ctrl+C no terminal para interromper o servidor adk web quando terminar.
Resumo
Nesta etapa, você criou a estrutura do projeto, o configurou para a API Gemini e executou seu primeiro agente localmente.
Em seguida, vamos dar uma personalidade e um nome ao nosso agente em Treinamento do Raju (a persona).
6. Treinando Raju (a persona)
No momento, o agente é sem graça. Vamos dar uma personalidade a ele!

Em vez de escrever código, vamos apenas dizer ao Gemini o que queremos.
1. Defina a persona
Execute este comando no terminal para "ensinar" ao Raju quem ele é:
gemini "In agent.py, update the root_agent instruction. You are Raju, a bargaining shopkeeper in a digital bazaar. You sell: Brass Lamp (50 coins), Silk Scarf (500 coins). Your goal is to sell high and be funny. Speak with an Indian-English flair."
2. Verificar o código
Abra app/agent.py. O Gemini vai escrever a instrução do sistema para você.
3. Testar localmente
Agora, converse com o Raju! No terminal do Cloud Shell (ou terminal local):
adk web
Abra a interface da Web (porta 8000 da visualização na Web ou localhost:8000), selecione o agente app e tente estes comandos:
- "Quero a lâmpada de latão, mas 50 moedas é demais!"
- "O que você vende, meu amigo?"
Veja como ele reage! Ele precisa ser engraçado, dramático, mas se recusar a vender muito barato.
Resumo
Nesta etapa, você personalizou as instruções do sistema do agente para criar "Raju", um comerciante que gosta de barganhar e tem uma personalidade única.
Em seguida, vamos dar a Raju a capacidade de verificar o estoque real em O inventário (adição de ferramentas).
7. O inventário (ferramentas de adição)
Raju precisa saber o que ele realmente tem em estoque. Vamos dar a ele um "banco de dados" e uma ferramenta para verificar.

1. Criar a ferramenta
Execute este único comando para criar o inventário, a ferramenta e conectá-la a Raju:
gemini "In agent.py, create a dictionary INVENTORY with items: Brass Lamp (price 50, stock 5), Silk Scarf (price 500, stock 2), Taj Mahal (price 2000, stock 0). Then create a tool function check_inventory(item_name) that checks this dict. Finally, update the root_agent to use this tool and remove the default weather tools."
2. Verificar o Magic
Abra app/agent.py novamente. Você vai notar que o Gemini:
- Criou o dicionário
INVENTORY. - Escreveu a função Python
check_inventory. - Atualizamos a lista
tools=[...]na definição do agente.
3. Testar o inventário
- Reinicie o servidor (Ctrl+C e
adk web). - Pergunte ao Raju:
- "Você tem algum Taj Mahal?" (Ele deve dizer NÃO, o estoque é 0).
- "Quanto custa o lenço de seda?" Ele precisa verificar o preço real.
Resumo
Nesta etapa, você implementou uma ferramenta check_inventory, removeu a desordem padrão e conectou a ferramenta ao seu agente.
Em seguida, vamos levar Raju para a nuvem em Raju's Shop Goes Live (Deploying the Backend).
8. A loja do Raju fica on-line (implantação do back-end)
É hora de abrir para o mundo! Antes de criar a fachada da loja, vamos implantar o cérebro e o inventário de Raju (seu agente) na nuvem.

Importante: gerenciamento de terminais
Talvez você tenha o adk web em execução no terminal atual da etapa anterior.
- Mantenha em execução se quiser continuar testando localmente.
- Abra uma NOVA janela do terminal/guia para as etapas de implantação a seguir.
- Observação:sempre que você mudar
agent.py, pare (Ctrl+C) e reinicieadk webpara que as mudanças entrem em vigor.
1. Preparar a CLI do Gemini
Na janela do terminal NOVO:
- Verifique se você já está na CLI do Gemini (procure o comando
gemini>). - Se estiver, digite
/quitpara sair e voltar ao shell padrão. - Confirme que você está na pasta do projeto:
cd raju-shop
2. Instalar a extensão do Cloud Run
Instale a extensão do Cloud Run para a CLI do Gemini no terminal do Cloud Shell (ou terminal local):
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
3. Reinicialize a CLI do Gemini
Inicie a CLI do Gemini novamente para usar a nova extensão:
gemini
O prompt da CLI do Gemini vai aparecer.
4. Implantar o agente
Há duas maneiras de usar as extensões da CLI do Gemini:
Opção 1: o comando de barra (manual): você pode digitar explicitamente o comando e as flags:
/deploy --source . --name raju-agent --region us-central1 --allow-unauthenticated
Opção 2: linguagem natural (recomendada): é a maneira mais fácil e eficiente. Basta pedir ao Gemini para fazer isso por você, e ele vai usar o servidor MCP para chamar as ferramentas certas.
Cole este comando na CLI do Gemini:
Deploy this agent app to cloud run on google cloud using the cloud-run MCP server.
Use project raju-shop-agent in us-central1 region.
Name the service raju-agent.
IMPORTANT: Make sure to allow unauthenticated invocations so my frontend can talk to it.
A CLI pode pedir confirmação para usar a ferramenta cloud-run. Pressione Enter ou digite y para aprovar.
Aguarde a mágica:isso leva de 2 a 3 minutos. Quando terminar, você vai receber uma mensagem de sucesso como esta:
✦ I've successfully deployed your agent app to Cloud Run.
Service Details:
* Service Name: raju-agent
* Project: raju-shop-agent
* Region: us-central1
* URL: https://raju-agent-xyz123-uc.a.run.app
* Console: View in Google Cloud Console (...)
5. Verificar a implantação
Quando a implantação for concluída, a CLI do Gemini vai fornecer um URL do serviço. Copie este URL.
Verificação do navegador (está ativo?) Cole o URL no navegador.
- Sucesso:você vai ver a documentação do FastAPI (interface do Swagger) ou uma página de destino genérica do ADK. Isso confirma que o serviço do Cloud Run está em execução e acessível.
- Falha:se você receber um erro 403 Forbidden, talvez tenha esquecido de permitir "invocações não autenticadas" no prompt de implantação.
Vamos testar a lógica de negociação real na próxima etapa criando um front-end adequado.
Resumo
Nesta etapa, você implantou o back-end do seu agente no Google Cloud Run usando a extensão da CLI do Gemini, tornando-o acessível com um URL público.
Em seguida, vamos criar uma vitrine linda para os clientes conversarem com o Raju em Como criar a vitrine (interface do usuário de front-end).
9. Decorar a loja (interface de front-end)
Um terminal de texto é chato. Queremos uma vitrine vibrante!

Como a API ADK funciona
Para criar uma interface personalizada, você precisa entender como se comunicar com o back-end do agente. Ele segue um fluxo de duas etapas:
- Inicializar sessão:antes de conversar, você precisa criar um ID de sessão (como um carrinho de compras).
POST /apps/app/users/{user_id}/sessions/{session_id}
- Enviar mensagem:para conversar, envie seu texto ao endpoint de execução.
POST /run(o payload incluiappName,userId,sessionIde seutext).
- Saiba mais:confira os documentos da API de ambiente de execução do ADK e da Referência da API Python.
Vamos usar essa lógica para criar nosso front-end.
Há duas maneiras de criar essa interface:
Opção 1: Google Antigravity (recomendado, apenas local)
Se você estiver trabalhando na sua máquina local, a melhor experiência é com o Google Antigravity. É um IDE nativo de IA que permite "vibe code" em toda a interface.
1. Fazer o download e instalar
Faça o download do instalador para seu SO na página de download do Google Antigravity e instale-o.
2. Abra seu espaço de trabalho
Inicie o Antigravity. Abra sua pasta raju-shop como um espaço de trabalho. Isso dá à IA contexto sobre todo o projeto.
3. Gerar a interface com o Gerenciador de agentes
Em vez de escrever o código linha por linha, vamos pedir que um agente de IA faça isso para nós usando o Gerenciador de agentes.
- Localize a interface de chat do Gerente de agentes (geralmente no lado direito).
- Cole o seguinte comando no chat:
Create a single file HTML chat interface named `index.html`. It should have a colorful header that says 'Raju's Royal Artifacts'. It should look like an Indian market stall with orange and pink colors.
**Backend Integration:**
The chat should send messages to my deployed agent at: <YOUR_DEPLOYED_AGENT_URL>
**API Logic:**
1. **On Load:** Generate a random userId and sessionId. Call `POST /apps/app/users/{userId}/sessions/{sessionId}` to initialize.
2. **On Send:** Call `POST /run` with a JSON payload containing `appName: "app"`, `userId`, `sessionId`, and `newMessage: { role: "user", parts: [{ text: userInput }] }`.
3. **Display:** Show the user's message and the agent's response (from `content.parts[0].text`).
Substitua o URL do marcador de posição pelo URL real do serviço na etapa de implantação.
- Assista enquanto o agente escreve o código para você. Você pode mudar para a visualização do editor para ver o arquivo sendo criado em tempo real.
4. Teste a fachada da sua loja
O Google Antigravity tem recursos de prévia integrados. Clique no botão "Visualizar" (geralmente um ícone de olho) para ver a vitrine em tempo real. Se preferir, disponibilize localmente com python3 -m http.server 8000.
Opção 2: CLI do Gemini (compatível com o Cloud Shell)
Se você estiver no Cloud Shell, use a CLI do Gemini para criar o front-end em segundos.
Execute este comando no terminal:
gemini "Create a single file HTML chat interface named index.html. Header: 'Raju\'s Royal Artifacts', Indian market theme (orange/pink). Backend: <YOUR_DEPLOYED_AGENT_URL>. Logic: On load, generate random user/session IDs and POST to /apps/app/users/{uid}/sessions/{sid}. On chat, POST to /run with appName='app', userId, sessionId, and newMessage structure. Parse the JSON response to show the agent text." > index.html
(Lembre-se de substituir
com seu URL real do Cloud Run!
Resumo
Nesta etapa, você usou o Google Antigravity para "vibe code" um front-end HTML personalizado que se conecta ao back-end do atendente.
Em seguida, vamos completar o quadro hospedando essa vitrine na Web em Colocando a vitrine no ar.
10. Grande inauguração (implantação do front-end)
O Raju está on-line (back-end), mas a loja dele precisa de um endereço público (front-end). Peça ao Google Antigravity para implantar nossa interface no cloud.

1. Peça ao gerente de agentes para implantar
Não precisamos sair do ambiente de desenvolvimento integrado. Basta pedir para o gerente de agentes cuidar da implantação.
Cole este comando no chat:
"Implante meu index.html como um site estático no Google Cloud Run. Nomeie o serviço como raju-shop-frontend. Verifique se ele está acessível ao público".
2. Assista a Magic
O agente provavelmente vai:
- Crie um
Dockerfileou uma configuração para veicular arquivos estáticos (como usar nginx ou python). - Crie a imagem do contêiner.
- Executar o comando
gcloud run deploypara você.
3. Visite sua loja!
Quando o agente terminar, ele vai fornecer um URL (por exemplo, https://raju-shop-frontend-xyz.run.app). Clique nele.
Parabéns! Agora você tem um app de barganha totalmente implantado e com tecnologia de IA. Envie o link para seus amigos e veja se eles conseguem um desconto!
Resumo
Nesta etapa, você usou o Antigravity Agent Manager para conteinerizar e implantar seu aplicativo de front-end no Cloud Run.
Você criou o full stack! Vamos concluir em Horário de fechamento (conclusão).
11. Horário de fechamento (conclusão)

Parabéns! Você concluiu o desafio do agente "Comerciante negociador". Você transformou Raju de uma simples ideia em um comerciante de IA totalmente implantado e interativo no bazar digital. Você já conheceu o poder do desenvolvimento com agentes.
Resumo da sua jornada:
- Google Cloud:configure seu projeto e sua conta de faturamento e implante o agente no Cloud Run.
- Gemini 3:o cérebro inteligente que impulsiona a persona e as habilidades de negociação de Raju.
- Kit de desenvolvimento de agentes (ADK): o framework que forneceu uma base pronta para produção com observabilidade (telemetria) integrada, tornando seu agente robusto desde o primeiro dia.
- CLI do Gemini:seu assistente de linha de comando para tarefas rápidas, testes e extensões.
- Google Antigravity:o ambiente de desenvolvimento integrado de última geração em que você "vibra codificado" sua interface e orquestra a implantação.
Próximas etapas para seu Digital Dukaan:
- Corrija os testes com falha:você mudou o código, mas e os testes? Os testes padrão (
tests/unit/test_agent.py) ainda procuram informações sobre o clima. Use a CLI do Gemini para atualizar automaticamente. Tente:gemini "Update the tests in tests/unit/test_agent.py to test the new check_inventory tool instead of weather." - Inventário dinâmico:faça com que as quantidades de inventário de Raju sejam atualizadas quando um item for "vendido". Você pode adicionar lógica para diminuir
stockno dicionárioINVENTORYdepois de uma "compra" bem-sucedida? - Ferramenta de gateway de pagamento:implemente uma ferramenta
process_paymentsimulada. O Raju pode chamar essa ferramenta quando um acordo for fechado. - Conheça o Antigravity:saiba mais sobre o Gerenciador de agentes e os Espaços de trabalho do Antigravity. Você pode pedir ao agente para refinar seu
index.htmle mostrar um recibo em tempo real? - Compartilhe sua loja:a loja do Raju está disponível na Internet! Compartilhe o URL do front-end com seus amigos e veja se eles conseguem um negócio melhor do que você!
Recursos
12. Limpeza
Para evitar cobranças desnecessárias na sua conta do Google Cloud pelos recursos usados neste codelab, siga estas etapas.
1. Desimplantar serviços do Cloud Run (economia de custos opcional)
Se você quiser interromper possíveis cobranças relacionadas aos serviços implantados, mas manter o projeto e outras configurações intactos, desimplante os serviços do Cloud Run.
Abra o terminal do Cloud Shell (ou terminal local) e execute os seguintes comandos gcloud:
# Undeploy the backend agent
gcloud run services delete raju-agent --region us-central1
# Undeploy the frontend shop (if you deployed it)
gcloud run services delete raju-shop-frontend --region us-central1
2. Excluir projeto do Google Cloud (interrupção total de custos)
Se você quiser garantir que não haverá mais despesas e remover completamente todos os recursos criados durante este codelab, a etapa mais definitiva é excluir todo o projeto do Google Cloud.
- Acesse a página "Projetos" no Console do Google Cloud.
- Selecione o projeto (
raju-shop-agent) e clique em Excluir. - Siga as instruções para confirmar a exclusão do projeto.