0Pricing
AI Agents · Lezione

Chiamare l'API Anthropic: messages

Utilizzi l'API messages di Anthropic: differenze rispetto a OpenAI, posizione del system prompt e best practice specifiche per Claude.

Chiamare l'API Anthropic: messages è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Perché Anthropic?

I modelli Claude spesso offrono un'aderenza alle istruzioni più solida, un utilizzo degli strumenti migliore e finestre di contesto più ampie rispetto a modelli OpenAI equivalenti, e a volte sono anche più economici.

La maggior parte degli agenti in produzione supporta entrambi i provider come alternativa di riserva.

Install the SDK

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

La prima chiamata

L'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.'

Differenze principali rispetto a OpenAI

  1. system è un parametro di primo livello, non un messaggio
  2. max_tokens è OBBLIGATORIO
  3. content è un elenco di blocchi (testo, tool_use e così via)
  4. Non esiste il parametro n: utilizzi più chiamate

Blocchi di contenuto

Anche le risposte testuali arrivano sotto forma di elenco di blocchi:

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

Contenuto a più blocchi

Può anche inviare un elenco di blocchi di contenuto nei messaggi dell'utente (immagini, risultati degli strumenti):

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

Precompilare l'assistant

Forzi la risposta a iniziare in un modo specifico:

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 degli strumenti

Il formato degli strumenti di Anthropic è simile a quello di OpenAI, ma 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)

Restituzione dei risultati degli strumenti

I risultati degli strumenti vengono inseriti in un messaggio dell'utente con un blocco tool_result:

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

Prompt caching

Anthropic supporta il prompt caching: contrassegni i prefissi statici lunghi con cache_control e paghi il 10% quando si verifica un hit nella 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])

Extended thinking

Claude dispone di una modalità "extended thinking" in cui ragiona internamente prima di rispondere:

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

Posizione del system prompt

Dove va inserito il system prompt nell'API Anthropic?

Riepilogo

Ora può effettuare chiamate a entrambi i principali provider. Le differenze sono piccole ma reali: la maggior parte dei team crea un adattatore leggero per passare dall'uno all'altro.

Domande Frequenti

La lezione «Chiamare l'API Anthropic: messages» è gratuita?

Sì — il testo completo di «Chiamare l'API Anthropic: messages» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.

Cosa imparerò in «Chiamare l'API Anthropic: messages»?

Utilizzi l'API messages di Anthropic: differenze rispetto a OpenAI, posizione del system prompt e best practice specifiche per Claude. Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AI Agents?

Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Chiamare l'API Anthropic: messages»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AI Agents?

Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Chiamare l'API OpenAI: chat.completions
  2. Chiamare l'API Anthropic: messages
  3. Streaming delle risposte (SSE)
  4. Consapevolezza dei costi: conteggio dei token e budget
← Torna a AI Agents