0Pricing
AI Agents · Aula

Chamando a API da Anthropic: messages

Utilize a API messages da Anthropic: diferenças em relação à OpenAI, posicionamento do prompt do sistema e práticas recomendadas específicas do Claude.

Chamando a API da Anthropic: messages é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Por que Anthropic?

Os modelos Claude geralmente seguem melhor as instruções, usam melhor as ferramentas e têm janelas de contexto maiores do que modelos OpenAI equivalentes — e às vezes são mais baratos.

A maioria dos agentes em produção oferece suporte aos dois provedores como fallback.

Install the SDK

# pip install anthropic
import anthropic
client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from env

Sua primeira chamada

O endpoint é messages.create:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    system='You are a concise assistant.',
    messages=[
        {'role': 'user', 'content': 'Capital of France?'},
    ],
)
print(response.content[0].text)
# 'Paris.'

Principais diferenças em relação a OpenAI

  1. system é um parâmetro de nível superior, não uma mensagem
  2. max_tokens é REQUIRED
  3. content é uma lista de blocos (texto, uso de ferramenta etc.)
  4. Não há parâmetro n — use várias chamadas

Blocos de conteúdo

Até mesmo as respostas de texto vêm como uma lista de blocos:

response.content              # list of blocks
response.content[0].type      # 'text' or 'tool_use'
response.content[0].text      # the text content
response.stop_reason          # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokens

Conteúdo com vários blocos

Você também pode enviar uma lista de blocos de conteúdo nas mensagens do usuário (imagens, resultados de ferramentas):

messages = [{
    'role': 'user',
    'content': [
        {'type': 'text', 'text': 'What is in this image?'},
        {'type': 'image', 'source': {
            'type': 'base64',
            'media_type': 'image/png',
            'data': image_base64
        }}
    ]
}]

Preenchimento prévio do assistente

Force a resposta a começar de uma maneira específica:

messages = [
    {'role': 'user', 'content': 'Return a JSON object.'},
    {'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    messages=messages,
)
# Output starts after '{', guaranteed to be JSON.

Uso de ferramentas

O formato de ferramentas da Anthropic é semelhante ao da OpenAI, mas usa input_schema:

tools = [{
    'name': 'get_weather',
    'description': 'Get current weather',
    'input_schema': {
        'type': 'object',
        'properties': {'city': {'type': 'string'}},
        'required': ['city']
    }
}]

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    tools=tools,
    messages=messages,
)
if response.stop_reason == 'tool_use':
    for block in response.content:
        if block.type == 'tool_use':
            print(block.name, block.input)

Retorno de resultados das ferramentas

Os resultados das ferramentas são incluídos em uma mensagem do usuário com um bloco tool_result:

messages.append({
    'role': 'user',
    'content': [{
        'type': 'tool_result',
        'tool_use_id': 'toolu_abc',
        'content': json.dumps(weather_data)
    }]
})

Armazenamento em cache de instruções

A Anthropic oferece armazenamento em cache de instruções: marque prefixos estáticos longos com cache_control e pague 10% nos acertos de cache:

system = [
    {'type': 'text', 'text': '...long system prompt...',
     'cache_control': {'type': 'ephemeral'}}
]
for block in system:
    print(f"type={block['type']} cache_control={block['cache_control']}")
    print("text preview:", block['text'][:30])

Raciocínio estendido

O Claude tem um modo de "raciocínio estendido" no qual raciocina internamente antes de responder:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=4096,
    thinking={'type': 'enabled', 'budget_tokens': 2048},
    messages=messages,
)

Localização da instrução do sistema

Onde a instrução do sistema deve ser colocada na API da Anthropic?

Recapitulação

Agora você pode chamar os dois principais provedores. As diferenças são pequenas, mas reais — a maioria das equipes cria um adaptador fino para alternar entre eles.

Perguntas Frequentes

A aula “Chamando a API da Anthropic: messages” é grátis?

Sim — o texto completo de “Chamando a API da Anthropic: messages” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Chamando a API da Anthropic: messages”?

Utilize a API messages da Anthropic: diferenças em relação à OpenAI, posicionamento do prompt do sistema e práticas recomendadas específicas do Claude. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Agents?

Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Chamando a API da Anthropic: messages”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Agents?

Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Chamando a API da OpenAI: chat.completions
  2. Chamando a API da Anthropic: messages
  3. Transmissão de respostas (SSE)
  4. Controle de custos: contagem de tokens e orçamentos
← Voltar para AI Agents