Da primeira chamada a aplicações reais com a API da Anthropic
claude.aiAnalogia
Se o claude.ai é conversar com o assistente, a API é contratá-lo como funcionário: ele faz a tarefa sozinho, no horário e no formato que você programar.
model, max_tokens e messages são o mínimocontent) — pegue o .text| Modelo | ID | Quando usar |
|---|---|---|
| Opus 4.8 | claude-opus-4-8 |
mais capaz; raciocínio e tarefas difíceis |
| Sonnet 4.6 | claude-sonnet-4-6 |
equilíbrio; alto volume em produção |
| Haiku 4.5 | claude-haiku-4-5 |
rápido e barato; tarefas simples |
Dica
Comece no Opus para acertar a qualidade; migre para Sonnet/Haiku quando o volume crescer e o custo importar. Preços (por 1M tokens, entrada/saída): Opus $5/$25, Sonnet $3/$15, Haiku $1/$5.
user e assistantmessages = [
{"role": "user", "content": "Meu foco é inflação no Brasil."},
{"role": "assistant", "content": "Certo — IPCA, núcleos e expectativas."},
{"role": "user", "content": "Liste 3 indicadores que devo acompanhar."},
]
resp = client.messages.create(
model="claude-opus-4-8", max_tokens=1024, messages=messages,
)output_config.format garante uma resposta que valida no seu schemaresp = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{"role": "user", "content":
"Extraia as medianas do Focus: IPCA, Selic, PIB e câmbio para 2026."}],
output_config={"format": {"type": "json_schema", "schema": {
"type": "object",
"properties": {
"ipca": {"type": "number"}, "selic": {"type": "number"},
"pib": {"type": "number"}, "cambio": {"type": "number"},
},
"required": ["ipca", "selic", "pib", "cambio"],
"additionalProperties": False,
}}},
)Nota
Para uma mesa de análise: avalie se o resumo do Focus traz sempre as 4 medianas antes de confiar o prompt à automação.
tool_use); seu código executa e devolve o tool_resulttool_use → resultado → resposta finalmessages = [{"role": "user", "content": "Qual o dólar em 2026-06-15?"}]
resp = client.messages.create(
model="claude-opus-4-8", max_tokens=1024, tools=tools, messages=messages,
)
if resp.stop_reason == "tool_use":
bloco = next(b for b in resp.content if b.type == "tool_use")
resultado = cotacao_dolar(**bloco.input) # você executa
messages += [
{"role": "assistant", "content": resp.content},
{"role": "user", "content": [{
"type": "tool_result", "tool_use_id": bloco.id,
"content": str(resultado),
}]},
]
resp = client.messages.create( # 2ª chamada: resposta final
model="claude-opus-4-8", max_tokens=1024, tools=tools, messages=messages,
)effort ajusta o esforçodocument antes do texto da perguntaimport base64
pdf = base64.standard_b64encode(open("focus.pdf", "rb").read()).decode()
resp = client.messages.create(
model="claude-opus-4-8", max_tokens=1024,
messages=[{"role": "user", "content": [
{"type": "document", "source": {
"type": "base64", "media_type": "application/pdf", "data": pdf}},
{"type": "text", "text": "Resuma as 5 mensagens principais deste boletim."},
]}],
)resp = client.messages.create(
model="claude-opus-4-8", max_tokens=1024,
system=[{"type": "text", "text": relatorio_grande,
"cache_control": {"type": "ephemeral"}}],
messages=[{"role": "user", "content": "Quais foram as revisões do PIB?"}],
)
print(resp.usage.cache_read_input_tokens) # > 0 = acerto de cachemcp_servers + mcp_toolsetNota
Em vez de programar cada integração na mão, você “pluga” um servidor MCP — por exemplo, uma base de cotações ou o repositório de relatórios da casa.
Dica
Para uma equipe: pergunte “qual a metodologia da casa para o PIB?” e o Claude responde com base nos documentos internos, citando a fonte — em vez de inventar.
Nota
Resumir o Focus toda semana é um workflow (passos fixos). “Investigar o que explica a revisão do PIB” é mais um agente (caminho aberto).
import anthropic
client = anthropic.Anthropic()
def resumir(texto_relatorio: str) -> str:
resp = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
system="Você é um economista. Resuma em pt-BR, sem inventar números.",
messages=[{"role": "user", "content":
f"Resuma em 5 bullets:\n\n{texto_relatorio}"}],
)
return resp.content[0].text
print(resumir(open("relatorio.txt").read()))Dica
É a semente do projeto Focus: ler o boletim, resumir e (mais adiante) automatizar o envio. Aqui só montamos o tijolo da API.
| Função | O que a API resolve |
|---|---|
| Economista | Resumir atas/relatórios em lote, via PDF |
| Analista quant | Extrair dados estruturados (JSON) de textos |
| Risco | Classificar e sintetizar notas com eval de qualidade |
| Gestor/RI | Gerar rascunhos padronizados de cartas mensais |
| Time/Dados | Busca corporativa com RAG + MCP |
model + max_tokens + messagesObrigado! — Análise Macro