Agentes¶
Root Agent (Orquestrador)¶
O root_agent é o ponto de entrada de todas as conversas. Ele utiliza o padrão Coordinator/Dispatcher do Google ADK.
Estrutura¶
root_agent = LlmAgent(
name="root_agent",
model="gemini-2.5-flash",
tools=[PreloadMemoryTool(), AgentTool(research_agent), faq_tool],
sub_agents=[
discovery_agent,
quote_agent,
utils_agent,
support_agent,
booking_info_agent,
# ... (via feature flags)
],
before_agent_callback=before_agent_callback_combined,
after_agent_callback=save_session_to_memory_callback,
)
Responsabilidades¶
- Roteamento — Identificar qual sub-agent deve tratar
- Prompt dinâmico — Gerar instruções baseadas nas flags ativas
- Transferência — Pasar contexto entre sub-agents
- Resposta direta — Para saudações e perguntas gerais
Sub-Agentes¶
Padrão de Delegação¶
| Padrão | Mecanismo | Quando Usar |
|---|---|---|
| LLM-driven transfer | sub_agents + transfer_to_agent |
Fluxos multi-turn (resposta volta ao usuário) |
| Call-and-return | AgentTool |
Invocação pontual (resultado volta ao orquestrador) |
Discovery Agent¶
Busca experiências e guias turísticos.
Tools: busca_produtos, detalhes_experience, detalhes_guia, disponibilidade_calendario, disponibilidade_horarios, listar_guias_experience
Quote Agent¶
Calcula preços com variações e faixas etárias.
Tools: tem_variacao, listar_variacoes, calcular_preco, cotacao_moeda
Booking Agent¶
Emite reservas no sistema.
Tools: buscar_usuario, buscar_agencia, criar_conta_agencia, criar_conta_viajante, validar_dados_reserva, emitir_reserva_guia, emitir_reserva_experience, obter_reserva
Payment Agent¶
Processa pagamentos via cartão tokenizado.
Tools: verificar_parcelas, gerar_token_cartao, processar_pagamento
Support Agent¶
Encaminha para atendimento humano via WhatsApp.
Tools: Nenhuma (gera link diretamente via LLM)
Custom Tour Agent¶
Qualifica leads para tours customizados.
Tools: gerar_briefing_tour, gerar_formulario_suporte
Adicionando Novo Agente¶
Consulte Como Adicionar Novo Agente