MODULO 5.4

🐍 Construindo Tools

Crie scripts Python executaveis que fazem o trabalho pesado: APIs, transformacoes, integracoes. Tools sao a camada deterministica do framework WAT.

6
Topicos
40
Minutos
Avancado
Nivel
Pratico
Tipo
1

🐍 Python Scripts Executaveis

Cada tool e um script Python independente que faz uma unica coisa bem feita. Isso e fundamental: tools atomicos sao mais faceis de testar, debugar e reutilizar.

Exemplo: fetch_youtube_data.py

import
os
import
json
from
googleapiclient.discovery
import
build
# Carrega API key do .env
API_KEY = os.getenv('YOUTUBE_API_KEY')
youtube = build('youtube', 'v3', developerKey=API_KEY)
def
fetch_channel_stats(channel_id):
request = youtube.channels().list(
part='statistics,snippet',
id=channel_id
)
return
request.execute()

💡 Regra de Ouro

Um tool = uma funcao. Se seu script faz duas coisas diferentes (ex: buscar dados E enviar email), divida em dois scripts separados.

2

🔌 API Integrations

A maioria das automacoes uteis envolve conectar multiplos servicos via APIs. O agente e excelente em gerar codigo de integracao porque conhece a documentacao dessas APIs.

APIs Comuns

  • • YouTube Data API - videos, canais, analytics
  • • Gmail API - enviar, ler emails
  • • Google Sheets API - ler/escrever planilhas
  • • OpenAI API - GPT para processamento
  • • Perplexity - pesquisa inteligente
  • • Slack/Discord - notificacoes

Bibliotecas Python

  • requests - chamadas HTTP genericas
  • google-api-python-client - Google APIs
  • openai - OpenAI official
  • anthropic - Claude API
  • python-dotenv - carregar .env

⚠️ Cuidados com APIs

  • Rate limits: APIs tem limites de requisicoes - implemente retry logic
  • Custos: Algumas APIs cobram por chamada - monitore uso
  • Autenticacao: OAuth pode expirar - trate refresh tokens
3

🔄 Data Transformations

Dados brutos raramente estao no formato que voce precisa. Tools de transformacao processam, agregam, filtram e formatam dados para o proximo estagio do pipeline.

Exemplo: analyze_data.py

import
pandas
as
pd
import
json
def
analyze_youtube_data(raw_data_path):
# Carrega dados brutos
with
open(raw_data_path)
as
f:
data = json.load(f)
# Converte para DataFrame
df = pd.DataFrame(data['videos'])
# Calcula metricas
stats = {
'total_views': df['views'].sum(),
'avg_engagement': df['engagement'].mean(),
'top_videos': df.nlargest(10, 'views')
}
return
stats

Bibliotecas Essenciais

  • pandas: Manipulacao de dados tabulares
  • json: Parsing e serialization de JSON
  • csv: Leitura/escrita de CSVs
  • datetime: Manipulacao de datas
4

📦 Dependencias e Instalacao

O agente instala automaticamente bibliotecas necessarias via pip quando identifica que estao faltando. Ele tambem pode criar um requirements.txt para reproducibilidade.

1

Deteccao Automatica

O agente identifica imports que falharam e instala o pacote correto

2

pip install

pip install pandas google-api-python-client python-dotenv
3

requirements.txt

Para reproducibilidade, o agente pode gerar um arquivo de dependencias

5

🐛 Erro e Correcao

Quando um tool falha, o agente nao desiste - ele le o stack trace, identifica a causa, corrige o codigo e tenta novamente. Este e o self-improvement loop em acao.

🔄 Loop de Auto-Correcao

1.Tool executa e falha com erro
2.Agente le o stack trace completo
3.Identifica a linha/causa do problema
4.Modifica o codigo para corrigir
5.Executa novamente para verificar
6.Se funcionar, atualiza o workflow

⚠️ Quando Intervir

Se o agente entrar em loop tentando a mesma correcao varias vezes, interrompa e de contexto adicional. As vezes ele precisa de informacao que nao tem.

6

✅ Tool Validation

O agente testa cada tool isoladamente apos criar, antes de integrar no workflow completo. Isso evita descobrir bugs no meio de uma execucao complexa.

✓ Validacoes que o Agente Faz

  • • Executa o script com inputs de teste
  • • Verifica se o output esta no formato esperado
  • • Checa se nao ha erros de sintaxe
  • • Testa casos de borda simples

✗ O que Voce Deve Verificar

  • • Logica de negocio correta
  • • Dados sensiveis protegidos
  • • Comportamento em producao
  • • Custos de API esperados

🚀 Proximo Passo

Com tools criados, no proximo modulo vamos explorar MCP Servers - uma forma de dar superpoderes ao agente conectando a servicos externos.

📋 Resumo do Modulo

Um tool = uma funcao - scripts atomicos sao mais faceis de manter
APIs sao o core das automacoes - conecte servicos via Python
Transformacoes processam dados - pandas e seu melhor amigo
Dependencias sao automaticas - o agente instala o que precisa
Self-improvement loop - erros sao corrigidos automaticamente

Proximo Modulo:

5.5 - MCP Servers Avancados: Exa, Playwright e integraces poderosas