Por Que o ADK Go 1.0 é Importante Agora
Agentes de IA estão saindo de scripts experimentais para serviços de produção. O maior desafio? O não-determinismo. Quando um agente falha, você precisa saber o motivo — foi uma ferramenta quebrada? Um alucinação do modelo? Uma chamada de API latente?
O ADK Go 1.0 resolve isso de frente com integração nativa ao OpenTelemetry (OTel), um sistema de plugins para preocupações transversais, e um fluxo de confirmação humana (HITL) alinhado ao Safe AI Framework (SAIF) do Google.
Essa versão também traz paridade de funcionalidades com os ADKs Java e Python através de definições de agentes em YAML, facilitando a iteração sobre o comportamento do agente sem recompilar binários Go.
Fonte: Google Developers Blog - ADK Go 1.0
O Que Há de Novo no ADK Go 1.0
1. Integração Nativa com OpenTelemetry
Cada chamada de modelo e loop de execução de ferramenta agora gera traces e spans estruturados. Você pode conectar qualquer backend compatível com OTel (Cloud Trace, Jaeger, etc.) e visualizar a "cadeia de pensamento" do agente junto com suas métricas de aplicação existentes.
// Inicialização OTel no ADK Go
telemetryProviders, err := telemetry.New(ctx, telemetry.WithOtelToCloud(true))
if err != nil {
log.Fatal(err)
}
defer telemetryProviders.Shutdown(ctx)
// Registrar como provedores OTel globais
telemetryProviders.SetGlobalOtelProviders()
// Inicializar o runner com suporte a Telemetria
r, _ := runner.New(runner.Config{
Agent: myAgent,
Telemetry: telemetry.NewOTel(tp),
})
2. Sistema de Plugins para Agentes Auto-Curáveis
A lógica central do agente permanece limpa. Plugins cuidam de logging, filtros de segurança e — nosso favorito — o plugin Retry and Reflect. Quando uma chamada de ferramenta falha, ele intercepta o erro, realimenta o modelo e permite que o agente se auto-corrija e tente novamente.
// Adicionando Plugins ao Runner
r, _ := runner.New(runner.Config{
Agent: myAgent,
SessionService: mySessionService,
PluginConfig: runner.PluginConfig{
Plugins: []*plugin.Plugin{
// Tenta novamente chamadas de ferramenta com reflexão
retryandreflect.MustNew(retryandreflect.WithMaxRetries(3)),
// Logging centralizado para cada turno
loggingplugin.MustNew(""),
},
},
})
3. Confirmação Humana no Loop (HITL)
Para operações sensíveis — transações financeiras, alterações em bancos de dados de produção — você pode marcar ferramentas com RequireConfirmation: true. O agente pausa, emite um evento de confirmação e aguarda um sinal humano antes de prosseguir.
// Configuração de Ferramenta com Humano no Loop
myTool, _ := functiontool.New(functiontool.Config{
Name: "delete_database",
Description: "Deleta uma instância de banco de dados de produção.",
RequireConfirmation: true, // Dispara o fluxo de aprovação HITL
}, deleteDBFunc)
4. Definição de Agentes via YAML
Defina agentes de forma declarativa em YAML — sem necessidade de alterar código Go para ajustes de configuração. Isso separa a configuração da lógica de negócio e permite iteração rápida sobre a persona do agente e hierarquias de subagentes.
# agent_config.yaml
name: atendimento_cliente
description: Um agente que atende dúvidas de clientes de uma companhia aérea.
instruction: >
Você é um agente de atendimento que ajuda usuários a reservar voos.
Você é sempre prestativo.
tools:
- name: "google_search"
- name: "builtin_code_executor"
sub_agents:
- "agente_politicas"
- "agente_reservas"
5. Protocolo Agent2Agent (A2A) Refinado
O ADK Go agora orquestra comunicação perfeita entre agentes Go, Java e Python. Ele gerencia automaticamente a ordenação de eventos e agregação de respostas, garantindo processamento confiável de dados mesmo durante streams de resposta parcial.

Limitações e Cuidados
- Curva de aprendizado do OTel: Se seu time ainda não usa OpenTelemetry, vai precisar investir tempo configurando o backend de tracing e entendendo a semântica de spans/traces.
- Ordem dos plugins importa: O plugin Retry and Reflect é poderoso, mas pode mascarar problemas mais profundos se usado sem critério. Sempre registre os erros originais.
- Trade-off YAML vs. código: Definições YAML são ótimas para iteração rápida, mas lógica de agente complexa ainda pode exigir código Go para controle fino.
- Latência do HITL: Fluxos com humano no loop introduzem sobrecarga operacional. Certifique-se de que os eventos de confirmação sejam roteados para as pessoas certas com SLAs adequados.
Próximos Passos
- Quickstart: Siga o guia oficial de início rápido do ADK Go para construir seu primeiro agente.
- Aprofunde-se no OTel: Aprenda a exportar traces para Cloud Trace, Jaeger ou Grafana Tempo.
- Explore o A2A: Tente orquestrar um sistema multi-agente com um agente Python ADK e um agente Go ADK.
- Preparação para produção: Adicione plugins para rate limiting, autenticação e logging de auditoria.
Para uma visão mais ampla sobre arquiteturas modulares e escaláveis para times, confira nosso guia sobre Building Vertical Microfrontends on Cloudflare. Se você também trabalha com geração de imagens por IA, veja como Integrate Recraft's Advanced Image Models with Vercel AI Gateway.

Comparação: ADK Go vs. Outros Frameworks de Agentes
| Funcionalidade | ADK Go 1.0 | LangChain (Go) | Agentes Go Personalizados |
|---|---|---|---|
| Tracing OTel | Nativo (embutido) | Requer configuração manual | Manual |
| Sistema de Plugins | Primeira classe (retry, logging, etc.) | Plugins da comunidade | Faça você mesmo |
| Confirmação HITL | Embutido (flag na ferramenta) | Via callbacks | Implementação customizada |
| Configuração YAML | Suporte de primeira classe | Não disponível | Não disponível |
| Protocolo A2A | Nativo (Go ↔ Java ↔ Python) | Não suportado | Protocolo customizado |
| Curva de Aprendizado | Moderada | Baixa a moderada | Alta |
O ADK Go 1.0 brilha quando você precisa de observabilidade e segurança de nível de produção prontas para uso. Para protótipos simples, LangChain pode ser mais rápido. Para controle máximo, agentes personalizados ainda vencem — mas com custo.
![]()
Conclusão
O ADK Go 1.0 é um passo sólido para tornar agentes de IA prontos para produção. A combinação de OpenTelemetry nativo, um sistema de plugins para auto-correção e confirmação humana no loop aborda os três maiores desafios na implantação de agentes: observabilidade, confiabilidade e segurança.
Se você está construindo sistemas multi-agente em Go, esse framework merece uma atenção séria. Comece com o Quickstart, experimente o plugin Retry and Reflect, e não pule o fluxo HITL para ferramentas sensíveis.
O futuro dos agentes Go chegou. Vamos construir juntos.