
Neste artigo vamos mostrar, de forma prática, como criar um agente utilizando o Google ADK (Agent Development Kit) que:
- consulta informações na internet usando Google Search
- executa uma ferramenta customizada em Python
- utiliza um agente como ferramenta de outro agente
Ao final, teremos uma arquitetura simples e extensível para construir assistentes inteligentes.
O que é o Google ADK
O Google ADK é um framework que facilita a criação de agentes baseados em LLMs capazes de:
- usar ferramentas externas
- interagir com APIs
- delegar tarefas entre agentes
- executar fluxos complexos de raciocínio
Em vez de apenas responder perguntas, um agente pode decidir qual ferramenta utilizar para resolver um problema.
Arquitetura do exemplo
Neste exemplo vamos criar dois agentes:
Agente de busca na web
- Responsável por consultar a internet
- Usa a ferramenta
google_search
Agente principal
- Pode executar duas ações:
- obter a hora atual
- delegar pesquisas ao agente de busca
Isso demonstra um conceito poderoso: agentes podem ser usados como ferramentas de outros agentes.
Importando as bibliotecas
Primeiro importamos os componentes necessários:
from google.adk.agents import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from datetime import datetimeAqui utilizamos:
- Agent → classe principal para criar agentes
- google_search → ferramenta nativa de busca na web
- AgentTool → permite usar um agente como ferramenta
- datetime → para criar uma ferramenta customizada
Criando uma ferramenta customizada
Agora vamos criar uma função simples que retorna a hora atual.
def get_horas():
# Retorna a hora atual no formato HH:MM:SS
horas = datetime.now().strftime("%H:%M:%S")
return horasEssa função será automaticamente interpretada pelo ADK como uma tool que o agente pode utilizar.
Apesar de simples, essa ideia é poderosa:
Qualquer função Python pode virar uma ferramenta.
Por exemplo:
- consultar banco de dados
- chamar APIs
- executar automações
- acessar sistemas internos
Criando um agente de busca na web
Agora criamos um agente especializado em buscar informações na internet.
agente_busca_web = Agent(
model="gemini-2.5-flash",
name='agente_busca_web',
description='Agente que busca a web',
instruction="""Você é o Assistente que consulta a internet usando a ferramenta google_search para o usuário.""",
tools=[
google_search
]
)Esse agente possui:
Modelo
gemini-2.5-flash
Um modelo rápido e eficiente para tarefas de consulta.
Ferramentas
google_search
Assim o agente pode buscar informações atualizadas na internet antes de responder.
Usando um agente como ferramenta
Agora vem uma funcionalidade muito interessante do ADK:
transformar um agente em ferramenta de outro agente.
Isso é feito usando:
AgentTool(agente_busca_web)Assim, o agente principal pode delegar tarefas de pesquisa.
Criando o agente principal
Agora criamos o agente que o usuário realmente irá utilizar.
root_agent = Agent(
model="gemini-2.5-flash",
name='agente_ferramentas',
description='Agente com ferramentas',
instruction="""Você é o Assistente que tem acesso a ferramentas para ajudar o usuário. Use get_horas para obter as horas atuais e agente_busca_web para buscar informações na web.""",
tools=[
get_horas,
AgentTool(agente_busca_web)
]
)Esse agente possui duas ferramentas:
get_horas
Ferramenta Python que retorna a hora atual.
agente_busca_web
Um agente especializado em pesquisas na internet.
Assim, o agente pode decidir automaticamente:
- quando consultar a hora
- quando pesquisar na web
Exemplos de perguntas
Depois de configurado, o agente pode responder perguntas como:
Pergunta
Que horas são agora?
O agente chamará a ferramenta:
get_horas()
Pergunta
Quem ganhou o prêmio Nobel de Física em 2024?
O agente delegará a tarefa para:
agente_busca_web
Que por sua vez utilizará:
google_search
Vantagens dessa arquitetura
Essa abordagem traz vários benefícios:
🔹 Modularidade
Cada agente tem uma responsabilidade específica.
🔹 Escalabilidade
É fácil adicionar novas ferramentas:
- banco de dados
- APIs internas
- automações
- sistemas corporativos
🔹 Especialização
Agentes podem ser especializados em tarefas como:
- pesquisa
- análise de documentos
- execução de comandos
- geração de relatórios
Conclusão
O Google ADK facilita muito a criação de agentes inteligentes que utilizam ferramentas externas.
Neste artigo vimos como:
- criar uma ferramenta Python customizada
- usar Google Search como tool
- criar um agente especializado
- usar um agente como ferramenta de outro agente
Esse padrão é extremamente útil para criar assistentes corporativos, chatbots inteligentes e sistemas de automação baseados em IA.
Todo o código:
from google.adk.agents import Agent
from google.adk.tools import google_search
from google.adk.tools.agent_tool import AgentTool
from datetime import datetime
def get_horas():
# Retorna a hora atual no formato HH:MM:SS
horas=datetime.now().strftime("%H:%M:%S")
return horas
agente_busca_web=Agent(
model="gemini-2.5-flash",
name='agente_busca_web',
description='Agente que busca a web',
instruction="""Você é o Assistente que consulta a internet usando a ferramenta google_search para o usuário.""",
tools=[
google_search
]
)
root_agent = Agent(
model="gemini-2.5-flash",
name='agente_ferramentas',
description='Agente com ferramentas',
instruction="""Você é o Assistente que tem acesso a ferramentas para ajudar o usuário. Use get_horas para obter as horas atuais e agente_busca_web para buscar informações na web.""",
tools=[
get_horas,
AgentTool(agente_busca_web)
]
)