06-04-02 — Google Agent Development Kit (ADK)

⏱ 10 minFontes validadas em: 2026-04-29

TL;DR

O Google Agent Development Kit (ADK) é o framework oficial do Google para construir agentes com Gemini. Lançado em abril 2025, foi desenhado especificamente para multi-agent, suporta A2A protocol nativo, MCP client/server, e integra com Vertex AI para deploy e observabilidade. Para quem está no ecossistema Google Cloud, é o equivalente do AF 1.0 da Microsoft — mas em Python/Java, sem suporte .NET.

Arquitetura do ADK

O ADK é organizado em torno de três abstrações principais:

  • Agent: unidade básica com model, tools e instruction
  • Runner: executa o agente e gerencia o ciclo de vida das sessões
  • Session Service: persiste estado entre invocações (in-memory, Firestore, Spanner)
from google.adk.agents import Agent
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from google.adk.tools import google_search
import asyncio

# Agente simples com Gemini
agente_pesquisa = Agent(
    name="pesquisador",
    model="gemini-2.0-flash",
    description="Pesquisa informações na web sobre qualquer tópico",
    instruction="""Você é um pesquisador especializado. 
    Sempre cite fontes e seja objetivo nas respostas.
    Foque em informações recentes e verificáveis.""",
    tools=[google_search]  # ferramenta nativa do Google
)

# Runner gerencia sessões e execução
session_service = InMemorySessionService()
runner = Runner(
    agent=agente_pesquisa,
    app_name="pesquisa-app",
    session_service=session_service
)

async def main():
    session = await session_service.create_session(
        app_name="pesquisa-app",
        user_id="usuario-joao"
    )
    
    from google.genai.types import Content, Part
    message = Content(role="user", parts=[Part(text="Mercado de IA no Brasil 2026")])
    
    async for event in runner.run_async(
        user_id="usuario-joao",
        session_id=session.id,
        new_message=message
    ):
        if event.is_final_response():
            print(event.content.parts[0].text)

asyncio.run(main())

Multi-agent com ADK

ADK tem tipos de agentes especializados para orquestração:

from google.adk.agents import Agent, SequentialAgent, ParallelAgent, LoopAgent

# Agente especialista em clima
agente_clima = Agent(
    name="especialista_clima",
    model="gemini-2.0-flash",
    description="Fornece dados meteorológicos precisos",
    instruction="Você é um meteorologista. Forneça previsões detalhadas.",
    tools=[google_search]
)

# Agente especialista em moda
agente_moda = Agent(
    name="consultor_moda",
    model="gemini-2.0-flash",
    description="Recomenda roupas baseado no clima e contexto",
    instruction="Você é um consultor de moda. Sugira roupas adequadas para o clima informado."
)

# Orquestrador sequencial: clima primeiro, moda depois
agente_orquestrador = SequentialAgent(
    name="assistente_dia",
    sub_agents=[agente_clima, agente_moda],
    description="Consulta clima e recomenda roupas"
)

# Exemplo com ParallelAgent: executa múltiplos agentes em paralelo
agente_paralelo = ParallelAgent(
    name="analista_multifontes",
    sub_agents=[agente_clima, agente_noticias, agente_trafego],
    description="Coleta dados de múltiplas fontes simultaneamente"
)

# LlmAgent como orquestrador inteligente: o LLM decide qual subagente chamar
from google.adk.agents import LlmAgent
orquestrador_llm = LlmAgent(
    name="gerente",
    model="gemini-2.0-flash",
    sub_agents=[agente_clima, agente_moda, agente_noticias],
    instruction="Você gerencia uma equipe de especialistas. Delegue conforme necessário."
)

Integração MCP

from google.adk.tools.mcp_tool import MCPToolset, StdioServerParameters

# Conectar a servidor MCP via stdio (ex: servidor de filesystem)
async def criar_agente_com_mcp():
    tools, exit_stack = await MCPToolset.from_server(
        connection_params=StdioServerParameters(
            command="npx",
            args=["-y", "@modelcontextprotocol/server-filesystem", "/dados/contratos"]
        )
    )
    
    agente = Agent(
        name="analista_documentos",
        model="gemini-2.0-flash",
        tools=tools,  # todas as tools MCP disponíveis automaticamente
        instruction="Analise documentos no filesystem corporativo."
    )
    
    return agente, exit_stack

A2A — interoperabilidade com outros frameworks

from google.adk.a2a import A2AServer, A2AClient

# Expor agente ADK como servidor A2A
# (outros frameworks como AF 1.0 podem descobrir e chamar este agente)
a2a_server = A2AServer(
    agent=agente_pesquisa,
    host="0.0.0.0",
    port=8080
)
# Serve /.well-known/agent.json automaticamente

# Consumir agente remoto via A2A (ex: agente AF 1.0 da Microsoft)
client = A2AClient("https://agente-microsoft.empresa.com/.well-known/agent.json")
resultado = await client.send_task("Analise contratos Q1 2026")

Deploy no Vertex AI

from google.cloud import aiplatform
from google.adk.deploy import VertexAIDeployment

# Deploy direto para Vertex AI Agent Engine
deployment = VertexAIDeployment(
    agent=agente_orquestrador,
    project="meu-projeto-gcp",
    location="us-central1"
)

deployed_agent = await deployment.deploy(
    display_name="Assistente Empresarial v1",
    machine_type="n1-standard-4"
)

print(f"Agent URL: {deployed_agent.resource_name}")
ADK vs AF 1.0 para stack Microsoft: Se seu cliente roda Azure e .NET, o AF 1.0 é a escolha natural. O ADK brilha quando a infraestrutura é Google Cloud (Vertex AI, Firestore, BigQuery) e o modelo principal é Gemini. Para ambientes híbridos, A2A permite que os dois coexistam.

Ferramentas nativas do Google no ADK

ToolO que faz
google_searchBusca na web via Google Search
code_executionExecuta código Python no sandbox
vertex_ai_searchBusca em corpus indexado no Vertex AI
bigquery_toolConsultas SQL no BigQuery
gmail_toolLeitura/envio de emails via Gmail API

Como isso se conecta

  • 06-03-04 AF 1.0: A2A — ADK e AF 1.0 se comunicam via A2A protocol; são interoperáveis
  • Módulo 07 (MCP/A2A) — ADK implementa ambos os protocolos de interoperabilidade
  • 06-04-03 Decision matrix — ADK é a opção Google Cloud na matriz de decisão
  • Google Vertex AI — plataforma de deploy para agentes ADK em produção

Fontes

  1. Google ADK — Official Documentation
  2. GitHub — google/adk-python
  3. Google Cloud Docs — Vertex AI Agent Engine
  4. Google Developers Blog — ADK Launch