Por que a Arquitetura Agentic Venceu

A maioria dos times de engenharia enfrenta uma tensão familiar: você consolidou seus serviços de backend, mas a camada de workflow continua fragmentada. Cada canal de compra — Direto, Self-Serve, Programático — roda em infraestrutura compartilhada, mas a lógica de decisão diverge. Alocação de orçamento, seleção de inventário e tradeoffs de performance são reimplementados por canal e por superfície. Com o tempo, eles se desviam.

A equipe Ads AI do Spotify confrontou exatamente esse problema. Em vez de construir mais um serviço REST com caminhos felizes hard-coded, eles apostaram em uma abordagem agentic: uma camada de decisão unificada e programável que pode entender objetivos, raciocinar sobre sinais compartilhados e orquestrar APIs de anúncios existentes de forma consistente em todos os canais e superfícies.

O insight central: workflows são combinatórios. Você não consegue capturar planejamento, previsão, seleção de público e otimização em uma árvore de decisão estática. Você precisa de agentes que possam raciocinar, adaptar e usar ferramentas.

Fonte: Spotify Engineering Blog

Multi-agent architecture diagram for advertising media planning using Google ADK and Vertex AI Coding Session Visual

O Blueprint Multi-Agente

O Spotify decompôs o workflow de planejamento de mídia em agentes especializados, cada um com uma responsabilidade focada e prompt otimizado. A arquitetura usa o Google Agent Development Kit (ADK) 0.2.0 para orquestração e Vertex AI (Gemini 2.5 Pro) para entendimento de linguagem natural.

Divisão dos Agentes

  1. RouterAgent — O controlador de tráfego. Analisa mensagens de entrada e determina quais informações estão presentes, evitando chamadas LLM desnecessárias.

  2. Agentes de Resolução — Cada um lida com uma dimensão distinta:

    • GoalResolverAgent: Mapeia a intenção do usuário para objetivos de campanha (ALCANCE, CLIQUES, INSTALAÇÕES) e busca categorias de anúncio apropriadas
    • AudienceResolverAgent: Extrai critérios de segmentação de uma taxonomia predefinida — interesses, geografia, faixa etária, gênero
    • BudgetAgent: Interpreta vários formatos de orçamento ($5000, 5k, €10.000) e converte para micro-unidades
    • ScheduleAgent: Lida com parsing de datas, incluindo datas relativas como "próximo mês"
  3. MediaPlannerAgent — O otimizador. Pega todas as informações resolvidas e gera recomendações otimizadas de conjuntos de anúncios usando um motor heurístico baseado em dados históricos de performance.

Regras de Otimização Chave

  • Minimizar métricas de custo (CPM, CPC, CPI) em relação às medianas históricas
  • Mirar campanhas com taxas de entrega próximas a 100%
  • Encontrar campanhas historicamente bem-sucedidas com faixas de orçamento similares
  • Pontuar com base em sobreposição demográfica e de interesses
  • Garantir diversidade em combinações de formato/objetivo
  • Escalar recomendações por orçamento: €0-1.000 → 1 recomendação; €15.000+ → 4-5 recomendações

Execução Paralela em Ação

# Fluxo de orquestração simplificado usando Google ADK
from google.adk import Agent, FunctionTool

router = Agent(
    name="RouterAgent",
    model="gemini-2.5-pro",
    tools=[
        FunctionTool.from_func(extract_goal),
        FunctionTool.from_func(extract_audience),
        FunctionTool.from_func(extract_budget),
        FunctionTool.from_func(extract_schedule)
    ],
    instruction="""
    Analise a mensagem do usuário e determine quais agentes de resolução invocar.
    Retorne um plano estruturado apenas com as informações faltantes.
    """
)

# Cada agente de resolução roda em paralelo
resolved_data = await asyncio.gather(
    goal_resolver.resolve(user_message),
    audience_resolver.resolve(user_message),
    budget_resolver.resolve(user_message),
    schedule_resolver.resolve(user_message)
)

# O MediaPlannerAgent usa todos os dados resolvidos para gerar recomendações
plan = await media_planner.generate(resolved_data)

Impacto na Performance: A criação de planos de mídia caiu de 15-30 minutos para 5-10 segundos. As entradas necessárias do usuário foram de 20+ campos de formulário para 1-3 mensagens em linguagem natural. A latência de resposta do agente fica em ~3-5s com execução paralela.

Integração de Ferramentas via Function Calling

O Spotify usa o FunctionTool do Google ADK para dar aos agentes acesso a dados reais. As anotações @Schema fornecem ao LLM informações estruturadas sobre os parâmetros das ferramentas, ancorando as saídas na realidade e prevenindo alucinações.

Developer analyzing agent orchestration and parallel execution flow in a cloud environment Software Concept Art

Trade-offs e Lições Aprendidas

Decisões de Design

DecisãoAbordagem EscolhidaJustificativa
Agente único vs. multi-agenteMulti-agenteMelhor latência, manutenibilidade e paralelização
Estratégia de cacheCache em memória para dados históricosMinimiza latência; dados de performance são limitados e atualizados periodicamente
Modo de respostaSíncronoImplementação inicial mais simples; streaming planejado para o futuro

Principais Aprendizados

1. Prompt engineering é engenharia de software Trate prompts como código — controle de versão, testes, iteração. Pequenas mudanças nas palavras afetam drasticamente a consistência da saída. Seja explícito sobre o formato, forneça exemplos concretos e construa guardrails tanto na camada de prompt quanto na de parsing.

2. Limites dos agentes importam Muitos agentes aumentam a latência e a sobrecarga de coordenação. Poucos criam prompts monolíticos e difíceis de manter. Regra de ouro: um agente por habilidade ou fonte de dados distinta.

3. Ferramentas permitem ancoragem LLMs alucinam. Ao fornecer agentes com ferramentas que acessam dados reais (alvos geográficos, categorias de anúncio, performance histórica), você ancora as saídas na realidade. O LLM raciocina sobre o que fazer; as ferramentas fornecem dados precisos.

Limitações e Cuidados

  • Risco de alucinação permanece: Mesmo com saídas ancoradas em ferramentas, o LLM pode interpretar mal os resultados ou inventar etapas de raciocínio intermediárias. Monitoramento contínuo e guardrails são essenciais.
  • Sobrecarga de coordenação de agentes: Embora a execução paralela ajude, a própria camada de orquestração introduz latência e complexidade. Para workflows mais simples, uma abordagem de agente único pode ser mais pragmática.
  • Problema de cold start: O motor heurístico depende de dados históricos. Para campanhas novas ou objetivos de nicho com dados esparsos, as recomendações podem ser menos confiáveis.
  • Carga de manutenção de prompts: Conforme o sistema evolui, os prompts de cada agente precisam de refinamento contínuo. O desvio de prompt pode degradar silenciosamente a performance.

Próximos Passos

O roadmap do Spotify inclui:

  • Respostas em streaming via server-sent events para feedback em tempo real
  • Refinamento multi-turn para otimização iterativa de campanhas
  • Integração de A/B testing para testar automaticamente planos recomendados por IA contra linhas de base
  • Modelos fine-tuned para terminologia de publicidade específica do domínio

Para times considerando um caminho similar: comece pequeno. Escolha um workflow limitado onde a fragmentação mais dói, construa um protótipo multi-agente mínimo e meça o trade-off entre latência e qualidade antes de escalar.

AI-powered advertising platform interface showing natural language media plan generation IT Technology Image

Conclusão: O Futuro da Automação de Workflows

O Ads AI do Spotify demonstra que workflows complexos e de múltiplas etapas são adequados para arquiteturas multi-agente. Ao decompor o planejamento de mídia em agentes especializados — cada um com prompts focados, ferramentas relevantes e responsabilidades claras — eles criaram um sistema poderoso e sustentável.

A combinação do Google ADK para orquestração, Vertex AI para capacidades de LLM e dados históricos de performance cria um sistema que não apenas entende o que os anunciantes querem — ele sabe o que realmente funciona.

A lição: Em vez de hard-codificar mais workflows determinísticos por canal, trate seu domínio como um conjunto de agentes modulares que consomem sinais compartilhados, otimizam conjuntamente para objetivos do usuário e restrições de negócio, e usam APIs existentes como ferramentas. É assim que você centraliza a tomada de decisão uma vez e a projeta em todos os lugares.

Leitura Recomendada

Este conteúdo foi elaborado com o auxílio de ferramentas de IA, com base em fontes confiáveis, e revisado pela nossa equipe editorial antes da publicação. Não substitui o aconselhamento de um profissional especializado.