🎯 Apresentação

O que você vai aprender

  • O que é a Claude Developer Platform (a API)
  • Sua primeira chamada de API (com setup)
  • Agent loop, tool use, thinking e ferramentas
  • Skills, MCP e gerenciamento de contexto
  • Managed agents e Routines — o agente que trabalha sozinho
  • O Boletim Focus de duas formas: resumo via API (você hospeda) e via Routine (Anthropic hospeda)

🧱 Fundamentos

A Claude Developer Platform

  • É a API: você fala com o Claude a partir do seu código, não do chat
  • Mesma inteligência do claude.ai, agora programável e em escala
  • Você envia mensagens e ferramentas; recebe respostas estruturadas
  • Base para automações, pipelines e agentes

Nota

Para um economista: em vez de colar um boletim no chat toda semana, seu programa chama o Claude automaticamente para cada novo Focus.

Preparando o acesso (setup)

  1. Crie uma conta em console.anthropic.com
  2. Gere uma API key (Settings → API Keys) e guarde com cuidado
  3. Exporte a chave como variável de ambiente e instale o SDK:
export ANTHROPIC_API_KEY="sk-ant-..."   # nunca coloque a chave no código
pip install anthropic                    # SDK Python

Aviso

A API key é como uma senha: nunca vai para o GitHub. Use variáveis de ambiente (local) e Secrets (na nuvem) — exatamente o que faremos na Routine.

Primeira chamada: resumir_focus.py

O mesmo resumo da Routine, mas feito por código que você roda:

import anthropic, pathlib

texto = pathlib.Path("data/focus_2026-06-15.txt").read_text(encoding="utf-8")
client = anthropic.Anthropic()              # lê ANTHROPIC_API_KEY do ambiente

msg = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=600,
    system="Você resume o Boletim Focus. NUNCA invente número: "
           "toda mediana citada deve estar no texto.",
    messages=[{"role": "user",
               "content": f"Resuma em até 200 palavras, com IPCA, Selic, "
                          f"PIB e câmbio e as 3 maiores revisões:\n\n{texto}"}],
)
print(msg.content[0].text)
  • system carrega a regra do projeto; model escolhe o modelo; messages é a conversa

Nota

Script completo e rodável (com a variante de tool use): cursos/claude-platform-101/exemplos/resumir_focus.py

Escolhendo o modelo certo

Modelo Perfil Bom para
Opus 4.8 (claude-opus-4-8) mais capaz análises complexas, raciocínio longo
Sonnet 4.6 (claude-sonnet-4-6) equilíbrio a maioria das tarefas — incl. a Routine
Haiku 4.5 (claude-haiku-4-5...) rápido e barato classificações, tarefas simples em volume

Dica

Regra prática: comece no Sonnet. Suba para Opus se a tarefa exige raciocínio pesado; desça para Haiku quando é simples e em grande quantidade.

🔄 O agent loop e as ferramentas

O agent loop

Um agente não responde uma vez só — ele age em ciclo:

  1. Pensa no objetivo
  2. Usa uma ferramenta (baixar, ler, calcular, commitar)
  3. Observa o resultado
  4. Repete até concluir

Nota

A Routine do Focus é esse loop: ler o .txt → conferir os números → redigir → montar o HTML → publicar.

Tool use — garantindo o número certo

No resumir_focus.py, em vez de o modelo “lembrar” a mediana, ele chama uma ferramenta que lê o número exato dos dados:

tools = [{
  "name": "mediana_focus",
  "description": "Retorna a mediana de mercado de um indicador no Focus",
  "input_schema": {
    "type": "object",
    "properties": {"indicador": {"type": "string"}},
    "required": ["indicador"]
  }
}]
# ... passe tools=tools no client.messages.create(...)
  • O Claude pede mediana_focus("IPCA"); seu código devolve o valor real
  • É a regra “nunca invente número” virando mecanismo, não só instrução

O que é thinking

  • Modelos podem raciocinar antes de responder (extended thinking)
  • Útil quando a tarefa exige passos de lógica, não só recuperar texto
  • Ex.: reconciliar revisões do Focus, checar se uma variação faz sentido

Dica

Mais “pensamento” = respostas melhores em problemas difíceis, ao custo de mais tempo e tokens. Ligue quando a análise é não-trivial.

Built-in tools

  • A plataforma oferece ferramentas prontas, hospedadas pela Anthropic:
    • Web search — buscar informação atual
    • Code execution — rodar código para calcular/validar
  • Você ativa sem precisar implementar a ferramenta

Exemplo: pedir ao Claude que calcule a variação % entre duas projeções do Focus usando code execution — conta feita por código, não “no chute”.

🧩 Estendendo o agente

Skills

  • Skills empacotam instruções + arquivos para uma tarefa recorrente
  • O modelo carrega a skill certa sob demanda
  • Padronizam o formato e a qualidade da entrega

Nota

No Focus, o routine-prompt.md funciona como a “skill” da Routine: o roteiro fixo de como montar o resumo (frescor → sanity check → redação → HTML).

MCP

  • Model Context Protocol: padrão para conectar o agente a ferramentas e dados externos
  • Servidores MCP expõem capacidades: GitHub, bancos de dados, APIs
  • O agente passa a ler repositórios, consultar bases, dar push

Dica

A Routine do Focus usa o conector MCP do GitHub para ler o repositório e commitar o HTML do resumo.

Gerenciamento de contexto

  • A janela de contexto é finita — não dá para “ler o repositório inteiro”
  • Boas práticas: trazer só o necessário (o .txt mais recente, não todos)
  • Resumir, paginar, apontar arquivos específicos

Nota

A Routine lê apenas o boletim da semana — contexto enxuto, resposta focada e barata.

🤖 Managed agents e Routines

Dois caminhos para o mesmo resumo

Aspecto Via API — resumir_focus.py Via Routine
Quem hospeda você (sua máquina / um Action) a Anthropic (na nuvem)
Como código com o SDK /schedule, sem código
Modelo escolhido no código escolhido na configuração
Ferramentas tool use no código MCP (GitHub, etc.)
Quando usar controle total, integrar num pipeline agendar sem manter servidor

➡️ A Routine é o caminho de managed agent — é exatamente aqui que ela entra.

Posso usar os dois?

Sim — se cada um tiver um papel. Os dois agendados entregando = duplicação:

⚠️ O problema (os dois em produção)

  • e-mail dobrado (dois pushes disparam o envio)
  • custo dobrado (duas chamadas de modelo)
  • regra “nunca invente número” em dois lugares → desencontra
  • qual dos dois gerou? Mais para manter

✅ O bom uso (papéis distintos)

  • Routine → entrega agendada de produção
  • Script → dev, teste e execução sob demanda
  • ou: script + Action seu (tudo no seu controle) e dispensa a Routine

Dica

Pergunta-chave: quem hospeda o agente? Para produção, escolha um entregador.

O que são managed agents

  • Agentes que rodam na infraestrutura da Anthropic — você não hospeda servidor
  • Recebem um objetivo, usam ferramentas (via MCP) e entregam o resultado
  • A Routine do Focus é um managed agent agendado: roda sozinha no horário

Dica

O pulo do gato: do “rodo na minha máquina” (a chamada de API que você dispara) para “roda na nuvem, no horário, sem mim” — o managed agent.

O fluxo do Focus, ponta a ponta

⚙️  Action coleta   →  🧠 Routine resume  →  📧 Action envia  →  👥 Time recebe
   (seg 9h15)            (seg 10h)             (no push)          (automático)
   baixa + extrai        lê .txt, redige,      SMTP do Gmail
   commita o .txt        commita o HTML        com Secrets
  • Determinístico (scripts Python nos Actions) faz baixar, extrair, enviar
  • Interpretação (a Routine, um LLM) faz ler e redigir o resumo

Passo 12 — Publicar no GitHub

Publique esta pasta no GitHub. Faça nesta ordem e me mostre a saída:
1. git init e branch principal main.
2. Primeiro commit com todos os arquivos, mensagem no imperativo.
3. gh repo create resumo-focus --public --source=. --remote=origin --push
4. Me mostre a URL do repositório.

Depois, dispare o Action de coleta à mão (aba ActionsRun workflow) e confira os data/focus_*.{pdf,txt} na main.

Passo 13 — Credenciais: App Password + Secrets

  1. No Google: ligue a verificação em 2 etapas e gere uma senha de app (16 dígitos) em myaccount.google.com/apppasswords
  2. Guarde nos Secrets do GitHub (pelo Claude Code, via gh):
gh secret set FOCUS_SMTP_USER         --repo SEU-USUARIO/resumo-focus
gh secret set FOCUS_SMTP_APP_PASSWORD --repo SEU-USUARIO/resumo-focus
gh secret set FOCUS_EMAIL_DEST        --repo SEU-USUARIO/resumo-focus
gh secret set FOCUS_EMAIL_BCC         --repo SEU-USUARIO/resumo-focus

Passo 14 — Conectar o Claude ao GitHub

A Routine roda remota: precisa de dois acessos ao GitHub.

  • App (a permissão): em github.com/apps/claude, instale marcando só o repo resumo-focus — com permissão de push
  • Conector MCP (as ferramentas): em claude.ai → Connectors → GitHub → Connect (se não aparecer, use https://api.githubcopilot.com/mcp)

Aviso

App e MCP andam juntos: o App dá a entrada no repo; o MCP dá as ferramentas para agir. Um sem o outro não funciona.

Passo 15 — Criar a Routine

Crie uma Routine agendada com o /schedule:
- Nome: resumo-focus
- Repositório: seu-usuario/resumo-focus (com push habilitado)
- Agenda (cron): 0 13 * * 1  — toda segunda às 13h UTC (10h BRT)
- Modelo: claude-sonnet-4-6
- Conector MCP: o github (ler o repo e dar push no HTML)
- Prompt da Routine: use exatamente o conteúdo do routine-prompt.md
Antes de criar, me mostre o resumo da configuração para eu confirmar.

O primeiro disparo

  • Não espere até segunda: rode “Run now” (ou /schedule run resumo-focus)
  • A Routine clona o repo → lê o .txt → sanity check → monta o HTML → commita
  • O push aciona o Action de envio → o e-mail chega ao time

Dica

Cadastre seu e-mail no FOCUS_EMAIL_BCC para receber uma cópia de cada disparo e acompanhar a qualidade.

🛠️ Construindo com o Claude Code

Plataforma + Claude Code

  • O Claude Code é, ele mesmo, um agente construído sobre a plataforma
  • Você usou ele para escrever o projeto; a Routine o coloca para rodar sozinho
  • Para ir além, o Agent SDK permite criar seus próprios agentes em código

Dica

Mesma base, três formas: chat (Claude 101), agente no terminal (Code 101), agente programável/agendado (Platform 101).

✅ Conclusão

Mensagens-chave

  • A plataforma é o Claude programável: API, ferramentas e agentes
  • O resumo, dois caminhos: API (você roda resumir_focus.py) ou Routine (managed agent, na nuvem)
  • O agent loop + tool use + MCP dão ações ao modelo
  • Managed agents / Routines fazem o trabalho rodar sozinho na nuvem
  • Separe determinístico (scripts) de interpretação (LLM)
  • Segurança primeiro: API key e senhas em variáveis de ambiente / Secrets

O fim da jornada

De uma pasta vazia a um sistema que trabalha sozinho — em 15 passos:

  • Claude 101 — o conceito e a redação
  • Code 101 — Passos 1–11: o projeto, construído ao vivo
  • Platform 101 — Passos 12–15: a Routine, rodando toda segunda

O resumo do Focus chega ao time sem ninguém apertar nada.

Obrigado! — Análise Macro