TL;DR: Este guia ensina como construir um sistema multiagente usando o Agent Development Kit (ADK) do Google para criar um Trend Finder de IA automatizado. O sistema utiliza agentes especializados – um para buscas no Google e outro para análise do Reddit – coordenados por um agente orquestrador que gera relatórios de tendências em IA. A arquitetura multiagente oferece escalabilidade, manutenibilidade e robustez superiores aos agentes únicos.
Takeaways:
- Sistemas multiagente superam agentes individuais através da especialização de funções e processamento paralelo
- A configuração requer credenciais do Reddit API e Google Cloud, com estrutura de projeto organizada em subagentes especializados
- O agente orquestrador coordena especialistas (Google Search e Reddit) para coletar dados e sintetizar relatórios formatados
- A arquitetura é facilmente expansível com novos especialistas como análise de sentimento, documentação automática e notificações
- O ADK oferece interface web para visualização e depuração do fluxo de trabalho entre agentes
Como Construir um Sistema Multiagente Poderoso: Guia Completo para Criar um Trend Finder de IA com ADK
Você já imaginou transformar um agente de IA simples em uma equipe coordenada de especialistas? Se você está buscando elevar suas habilidades em desenvolvimento de agentes de IA, este guia é exatamente o que você precisa.
A diferença entre um agente básico e um sistema multiagente robusto pode determinar o sucesso ou fracasso do seu projeto. Enquanto um agente individual tem limitações claras, uma arquitetura multiagente desbloqueia possibilidades praticamente ilimitadas.
Neste artigo, você descobrirá como construir um sistema multiagente escalável usando o Agent Development Kit (ADK) do Google, criando um Trend Finder de IA que coleta insights de múltiplas fontes automaticamente.
Por Que Sistemas Multiagente São o Futuro da IA
Imagine ter uma equipe de especialistas trabalhando 24/7 para você. Um expert em pesquisas no Google, outro especialista em análise de comunidades Reddit, e um gerente orquestrando tudo perfeitamente.
Essa é exatamente a proposta dos sistemas multiagente. Em vez de sobrecarregar um único agente com múltiplas responsabilidades, você cria uma arquitetura onde cada agente tem uma especialização específica.
Os benefícios são evidentes:
- Escalabilidade: Adicione novos especialistas conforme necessário
- Manutenibilidade: Cada agente tem responsabilidades bem definidas
- Eficiência: Processamento paralelo de tarefas complexas
- Robustez: Falhas isoladas não comprometem todo o sistema
Preparando o Ambiente: Credenciais e Configurações Essenciais
Obtendo Credenciais da API do Reddit
Para que nosso agente acesse o Reddit programaticamente, precisamos configurar as credenciais da API. Este processo é gratuito e leva apenas alguns minutos.
Siga estes passos:
- Acesse o Reddit Apps: Faça login na sua conta Reddit e navegue até https://www.reddit.com/prefs/apps
- Crie um Novo Aplicativo: Role até o final da página e clique em “are you a developer? create an app…”
- Preencha o Formulário:
- Nome: Trend Spotter Agent
- Tipo: Selecione “script”
- URL de redirecionamento: http://localhost:8080
Após criar o aplicativo, você verá suas credenciais. Por segurança, armazene-as como variáveis de ambiente:
export REDDIT_CLIENT_ID="SEU_CLIENT_ID"
export REDDIT_CLIENT_SECRET="SEU_CLIENT_SECRET"
export REDDIT_USER_AGENT="TrendSpotterAgent/0.1 by u/SeuUsername"
Configurando o Ambiente Google Cloud
O próximo passo é configurar o ADK para se conectar ao Google Cloud:
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT="seu-projeto"
export GOOGLE_CLOUD_LOCATION="us-central1"
gcloud auth application-default login
Este comando permite que o ADK faça solicitações autorizadas em seu nome, habilitando o acesso aos serviços do Google Cloud.
Construindo a Estrutura do Projeto
A organização adequada do projeto é fundamental para o sucesso do sistema multiagente. Vamos criar uma estrutura de pastas lógica e escalável.
Execute os seguintes comandos:
# Criar a pasta principal do projeto
mkdir trend-spotter && cd trend-spotter
# Criar o pacote Python principal
mkdir trend_spotter
touch trend_spotter/__init__.py
touch trend_spotter/agent.py
touch trend_spotter/prompt.py
# Criar arquivos de configuração
touch pyproject.toml requirements.txt
# Criar e ativar ambiente virtual
python3 -m venv venv && source venv/bin/activate
Após definir a estrutura básica, crie o diretório para os subagentes:
mkdir trend_spotter/sub_agents
touch trend_spotter/sub_agents/__init__.py
Desenvolvendo os Subagentes Especialistas
O Especialista em Buscas Google
Nosso primeiro subagente será especializado em pesquisas no Google. Crie o arquivo trend_spotter/sub_agents/google_search_agent.py
:
from google.adk.agents import Agent
from google.adk.tools import google_search
MODEL = "gemini-2.5-pro-preview-05-06"
# Prompt estruturado para controlar o formato de saída
google_search_SUB_AGENT_PROMPT = """
**Role:**
- You are a specialist Research Assistant.
- Your only purpose is to execute a Google Search based on instructions from your manager and return the raw, structured results.
**Tools:**
- You have access to one tool: `Google Search`.
**Output Format:**
For each search result, you MUST provide the Title, Link, and Snippet. Each complete result must be separated by '---'.
---
Title: [Title of the first search result]
Link: [Full URL of the first search result]
Snippet: [Snippet text of the first search result]
---
"""
google_search_agent = Agent(
model=MODEL,
name="google_search_agent",
description="An expert at using google_search to find recent information and return a structured list of results including URLs.",
instruction=google_search_SUB_AGENT_PROMPT,
tools=[google_search]
)
O Especialista em Reddit
Para o agente Reddit, primeiro precisamos criar uma ferramenta personalizada. Crie o arquivo trend_spotter/tools.py
:
import os
import praw
def search_hot_reddit_posts(subreddit_names: list[str], limit_per_subreddit: int = 5) -> str:
"""
Searches a list of subreddits for their current hot posts and returns their titles and URLs.
Args:
subreddit_names: A list of subreddit names to search
limit_per_subreddit: The number of top posts to retrieve from each subreddit
Returns:
A formatted string containing post information
"""
try:
reddit = praw.Reddit(
client_id=os.environ["REDDIT_CLIENT_ID"],
client_secret=os.environ["REDDIT_CLIENT_SECRET"],
user_agent=os.environ["REDDIT_USER_AGENT"],
read_only=True,
)
all_posts = []
for sub_name in subreddit_names:
subreddit = reddit.subreddit(sub_name)
for post in subreddit.hot(limit=limit_per_subreddit):
if post.score > 5:
all_posts.append(f"Title: {post.title}\nLink: {post.url}")
return "\n---\n".join(all_posts) if all_posts else "No hot posts found"
except Exception as e:
return f"Error searching Reddit: {e}"
Agora crie o agente Reddit em trend_spotter/sub_agents/reddit_agent.py
:
from google.adk.agents import Agent
from trend_spotter.tools import search_hot_reddit_posts
MODEL = "gemini-2.5-pro-preview-05-06"
reddit_agent = Agent(
name="reddit_agent",
model=MODEL,
description="An expert at finding hot posts on specific Reddit subreddits using its tool.",
tools=[search_hot_reddit_posts]
)
Criando o Agente Orquestrador Principal
O agente orquestrador é o cérebro do nosso sistema multiagente. Ele coordena os subagentes e sintetiza os resultados.
Substitua o conteúdo de trend_spotter/prompt.py
:
ORCHESTRATOR_PROMPT = """
**Role:**
- You are the highly-capable manager of an AI research team.
- Your purpose is to produce a high-quality, detailed intelligence report for 'The Agent Factory' podcast.
- Your focus is exclusively on developments in AI agents that are impactful and relevant to software developers.
**Tools:**
- You have a team of two specialist agents available to you as tools:
1. `google_search_agent`: An expert at performing general web searches for news, releases, and technical articles.
2. `reddit_agent`: An expert at finding real, hands-on developer conversations on specific subreddits.
**Task:**
1. **Discover the Current Date:** Your very first action is to delegate to your `google_search_agent`. Instruct it to find the current date.
2. **Delegate Focused Research:**
- Based on the date, calculate the start and end dates for the last 7 days.
- Instruct the `google_search_agent` to find news about new open-source agent frameworks, updates to popular libraries (like LangChain, ADK, CrewAI or LlamaIndex), and technical tutorials about building agents within the calculated date range using `after:YYYY-MM-DD` and `before:YYYY-MM-DD` operators.
- Instruct the `reddit_agent` to find the hottest developer conversations about practical challenges, new techniques, and opinions on new tools from subreddits like 'LocalLLaMA', 'MachineLearning', 'LangChain', 'AI_Agents', 'LLMDevs', and 'singularity'.
3. **Synthesize and Create the Final Report:**
- Review the information provided by **both** specialist agents.
- Combine, filter, and deduplicate the findings.
- **Pay special attention to topics that appear in multiple sources**, as these are likely the most important and should be prioritized.
**Final Report Format:**
**Top 5 Trends for Agent Developers**
1. **[Trend 1 Name]**: [A 1-2 sentence explanation of this trend.] **(Source: [URL])**
* **Developer Impact**: [Why this matters to developers.]
* **Prioritization Rationale**: [Why this topic was selected.]
**Top 5 Releases for Agent Developers**
1. **[Release 1 Name]**: [A 1-2 sentence explanation of the tool, framework, or model.] **(Source: [URL])**
* **Developer Impact**: [Why this matters to developers.]
* **Prioritization Rationale**: [Why this topic was selected.]
**Top 5 Questions from Agent Developers**
1. **[Question 1 Topic]**: [A 1-2 sentence explanation of what developers are asking.] **(Source: [URL])**
* **Developer Impact**: [Why this matters to developers.]
* **Prioritization Rationale**: [Why this topic was selected.]
"""
Agora configure o agente principal em trend_spotter/agent.py
:
from google.adk.agents import Agent
from google.adk.core import AgentTool
from trend_spotter.prompt import ORCHESTRATOR_PROMPT
from trend_spotter.sub_agents.google_search_agent import google_search_agent
from trend_spotter.sub_agents.reddit_agent import reddit_agent
MODEL = "gemini-2.5-pro-preview-05-06"
root_agent = Agent(
model=MODEL,
name="trend_spotter",
description="An AI research manager that coordinates specialist agents to produce comprehensive intelligence reports on AI agent developments.",
instruction=ORCHESTRATOR_PROMPT,
tools=[
AgentTool(google_search_agent),
AgentTool(reddit_agent)
]
)
Executando Seu Sistema Multiagente
Com todos os componentes criados, é hora de executar o sistema. Primeiro, certifique-se de que o arquivo pyproject.toml
está configurado corretamente:
[project]
name = "trend_spotter"
version = "0.1.0"
[tool.adk.agents]
trend_spotter = "trend_spotter.agent:root_agent"
Atualize as dependências no requirements.txt
:
google-adk
praw
Execute os comandos finais:
# Instalar dependências
pip install -e .
# Iniciar a interface web
adk web
Visualizando os Resultados
A interface web do ADK oferece uma visualização detalhada de como seu sistema multiagente funciona. Na aba ‘Event’, você verá:
- O agente orquestrador delegando tarefas aos subagentes
- O agente Google Search executando pesquisas estruturadas
- O agente Reddit coletando discussões relevantes
- A síntese final dos resultados em um relatório formatado
O resultado final será um relatório abrangente contendo:
Top 5 Trends for Agent Developers
- Multi-Agent Orchestration: Frameworks like ADK and CrewAI are enabling developers to build sophisticated agent teams that can handle complex workflows autonomously.
- Developer Impact: Reduces development time and increases system reliability through specialized agent roles.
- Prioritization Rationale: High volume of discussion on Reddit and mentioned in multiple tech articles.
Expandindo Seu Sistema: Próximos Passos
A beleza dos sistemas multiagente está na sua capacidade de expansão. Considere adicionar:
Novos Especialistas
- Agente de Análise de Sentimento: Para avaliar o tom das discussões
- Agente de Documentação: Para salvar relatórios automaticamente no Google Docs
- Agente de Notificação: Para enviar resumos via Slack ou email
Ferramentas Avançadas
- Integração com APIs de Notícias: Para fontes de informação adicionais
- Análise de Tendências Temporais: Para identificar padrões ao longo do tempo
- Filtros Inteligentes: Para personalizar o tipo de conteúdo coletado
Otimizações de Performance
- Cache de Resultados: Para evitar consultas desnecessárias
- Processamento Paralelo: Para acelerar a coleta de dados
- Retry Logic: Para lidar com falhas temporárias de API
Depuração e Monitoramento
O ADK oferece ferramentas poderosas para depuração. Use a visualização de rastreamento para:
- Identificar gargalos no fluxo de trabalho
- Monitorar o desempenho de cada subagente
- Otimizar prompts com base nos resultados observados
Considerações de Segurança e Boas Práticas
Ao trabalhar com sistemas multiagente, mantenha em mente:
Segurança de Credenciais
- Sempre use variáveis de ambiente para armazenar credenciais
- Implemente rotação regular de chaves de API
- Monitore o uso de APIs para detectar anomalias
Gestão de Recursos
- Defina limites de rate para evitar sobrecarga de APIs
- Implemente timeouts apropriados para cada agente
- Monitore custos de API regularmente
Qualidade dos Dados
- Valide dados de entrada antes do processamento
- Implemente verificações de qualidade nos resultados
- Mantenha logs detalhados para auditoria
Conclusão: O Poder dos Sistemas Multiagente
Você acabou de construir um sistema multiagente sofisticado que demonstra o verdadeiro potencial da arquitetura de agentes especializados. Este Trend Finder de IA não é apenas uma ferramenta útil – é um modelo para sistemas muito mais complexos.
A arquitetura multiagente que você implementou oferece:
- Escalabilidade: Facilmente expansível com novos especialistas
- Manutenibilidade: Código organizado e responsabilidades claras
- Flexibilidade: Adaptável a diferentes domínios e casos de uso
- Robustez: Resistente a falhas através da especialização
Os sistemas multiagente representam o futuro do desenvolvimento de IA. Eles permitem criar soluções que seriam impossíveis com agentes únicos, abrindo portas para aplicações revolucionárias em diversos setores.
Agora é sua vez de expandir este sistema. Que novos especialistas você adicionará? Quais fontes de dados inexploradas podem enriquecer seus relatórios? As possibilidades são infinitas.
Pronto para levar seu sistema multiagente para o próximo nível? Explore a documentação oficial do Google Cloud ADK e descubra funcionalidades avançadas que podem transformar sua arquitetura em uma solução de nível empresarial.
Fonte: Baseado no artigo “YOUR FIRST MULTI-AGENT SYSTEM: A BEGINNER’S GUIDE TO BUILDING AN AI TREND FINDER WITH ADK” de Shir Meir Lador.