Claude Opus 4.8 su Synthorai: caching e TTL rispetto a 4.7/4.6
Indice
claude-opus-4-8 è ora disponibile sul gateway Synthorai. Se usi già il prompt caching sulla linea Opus, la notizia è rassicurante e un po’ noiosa: il contratto di caching e TTL non cambia rispetto a 4.7 o 4.6. Stessi marker cache_control, stessi TTL da 5 minuti e 1 ora, stesso sconto in lettura, stessi premi in scrittura. Il tuo codice di caching si riusa così com’è.
C’è esattamente una cosa che è cambiata — ed è cambiata già in 4.7, non in 4.8 — e tocca il tuo budget di token. Questo post la misura per te.
TL;DR
- Claude Opus 4.8 mantiene invariato il contratto di caching di 4.7/4.6: uno sconto in lettura misurato dell’89%, un sovrapprezzo in scrittura di circa 1.25x sul TTL di 5 minuti e di circa 2x su quello di 1 ora.
- Lo stesso testo di sistema riporta circa il 43% di token di input in più su Opus 4.7/4.8 rispetto a 4.5/4.6 (11.394 vs 7.976 token).
- Il prezzo per token è identico lungo tutta la linea Opus: il rapporto di costo 4.8/4.5 di 1.43 corrisponde al rapporto di token di 1.429.
- Il TTFT in lettura a caldo si colloca in una fascia di 2.2-2.8s su tutta la gamma Opus 4.5-4.8; le differenze sono jitter.
Tutti i numeri qui sotto sono stati misurati su
https://synthorai.io/(endpoint Anthropic-native/v1/messages) il 2026-05-29 con un system prompt in inglese di ~8K caratteri,max_tokenspiccolo, una singola esecuzione sequenziale. Riproducili sul tuo prompt prima di citarli.
Disponibilità
import os
from anthropic import Anthropic
anth = Anthropic(
api_key=os.environ["SYNTHORAI_KEY"],
base_url="https://synthorai.io/", # SDK appends /v1/messages
)
msg = anth.messages.create(
model="claude-opus-4-8", # the only line that changes
max_tokens=512,
system=[
{"type": "text", "text": SYSTEM_PROMPT,
"cache_control": {"type": "ephemeral"}},
],
messages=[{"role": "user", "content": question}],
)
print(msg.usage) # cache_creation_input_tokens, cache_read_input_tokens, cost
Cambia claude-opus-4-7 → claude-opus-4-8 e nient’altro nel percorso di caching deve muoversi. La meccanica dietro cache_control è spiegata nel tutorial sul caching; l’architettura del perché la cache esiste è nella Parte 1 della serie.
Comportamento del caching: invariato rispetto a 4.7/4.6
Abbiamo eseguito la stessa sequenza cache write / cache read / no-cache sulla linea Opus recente. La struttura degli sconti è identica dall’inizio alla fine.
| Modello | Costo no-cache | 5m cache write | Cache read | Sconto in lettura |
|---|---|---|---|---|
claude-opus-4-5 | $0.0364 | $0.0452 | $0.0041 | 88.8% |
claude-opus-4-6 | $0.0364 | $0.0452 | $0.0041 | 88.7% |
claude-opus-4-7 | $0.0522 | $0.0654 | $0.0059 | 88.7% |
claude-opus-4-8 | $0.0520 | $0.0654 | $0.0059 | 88.6% |
Due invarianti valgono per tutte e quattro le versioni:
- Sconto in lettura ≈ 89%. Una lettura da cache calda costa ~11% del prezzo di input senza cache. È il 10% di cached-read documentato da Anthropic, invariato.
- Premio in scrittura ≈ 25%. La prima chiamata (a freddo) costa ~1,25× il prezzo senza cache per popolare la cache. Il break-even è a un solo hit.
I valori assoluti in dollari per 4.7 e 4.8 sono più alti di 4.5/4.6, ma come vedremo tra poco è una questione di conteggio dei token, non di economia della cache — le percentuali restano piatte.
Comportamento del TTL: identico a 4.7/4.6
Opus 4.8 gestisce gli stessi due TTL del resto della linea: uno sliding di default a 5 minuti e una finestra opzionale di 1 ora. Abbiamo isolato il percorso del TTL usando un prefisso univoco per ogni chiamata (così nessuna voce di cache scaduta poteva contaminare il risultato) e misurato il premium di scrittura per ciascun TTL:
| Modello | TTL | Scrittura in cache | Premium scrittura vs no-cache |
|---|---|---|---|
claude-opus-4-7 | 5m | $0.0650 | ~1.25× |
claude-opus-4-7 | 1h | $0.1036 | ~2× |
claude-opus-4-8 | 5m | $0.0650 | ~1.25× |
claude-opus-4-8 | 1h | $0.1036 | ~2× |
# 1-hour TTL — same marker syntax on 4.8 as on 4.7/4.6
"cache_control": {"type": "ephemeral", "ttl": "1h"}
L’oggetto usage riporta il bucket del TTL esattamente come prima: cache_creation.ephemeral_5m_input_tokens oppure ephemeral_1h_input_tokens. La scrittura a 1 ora costa ~2× rispetto al no-cache (contro ~1.25× della scrittura a 5 minuti), mentre le letture restano a ~11% indipendentemente dal TTL. Identico a 4.7. Se su 4.7 avevi scelto 5m per la chat live e 1h per gli agenti con pause human-in-the-loop, mantieni le stesse scelte su 4.8.
Time-to-first-token: costante su tutta la linea
Abbiamo misurato il TTFT su warm-read con una chiamata in streaming (5 campioni per modello dopo un warm-up del gateway, riportata la mediana). Su questo prompt di ~8–11K token, il TTFT si colloca in una fascia di ~2.2–2.8 s senza alcun trend significativo tra le versioni: gli intervalli dei campioni si sovrappongono, quindi le differenze sono jitter, non un effetto della versione.
| Modello | TTFT warm-read (mediana) | Intervallo (n=5) |
|---|---|---|
claude-opus-4-5 | 2.72 s | 2.58 – 2.78 s |
claude-opus-4-6 | 2.76 s | 2.65 – 3.01 s |
claude-opus-4-7 | 2.21 s | 1.98 – 2.97 s |
claude-opus-4-8 | 2.47 s | 2.23 – 4.38 s |
Due precisazioni da mettere in chiaro:
- Non ricavarne una classifica. Gli intervalli si sovrappongono molto (il campione alto di 4.8 era un outlier a 4.38 s); con questa dimensione di prompt il TTFT è dominato dal jitter di rete e di coda, non dalla versione del modello. Considera ~2.2–2.8 s come la fascia warm per tutti e quattro.
- Il vantaggio del cache sul TTFT cresce con la lunghezza del prompt. A ~8–11K token il prefill risparmiato da un cache hit è piccolo, quindi il TTFT a freddo e a caldo sono vicini (entrambi ~2–3 s su un gateway già scaldato). Il divario si allarga parecchio a 100K+ token, dove il prefill domina: è lì che una cache calda trasforma un’attesa di diversi secondi in un primo token rapido. I dettagli sono in Parte 1: Come funzionano KV Cache e TTL.
L’unico cambiamento reale: la tokenizzazione (da 4.7)
Ecco cosa devi ricontrollare prima di migrare. Lo stesso testo di sistema conta circa il 43% di input token in più su 4.7/4.8 rispetto a 4.5/4.6.
| Modello | Input token (testo identico) | Costo senza cache |
|---|---|---|
claude-opus-4-5 | ~7.976 | $0.0364 |
claude-opus-4-6 | ~7.977 | $0.0364 |
claude-opus-4-7 | ~11.393 | $0.0522 |
claude-opus-4-8 | ~11.394 | $0.0520 |
Il conteggio dei token cresce con la generazione 4.7 e resta tale su 4.8. Il costo segue il conteggio dei token quasi alla lettera: il rapporto di costo (4.8 / 4.5) è 1,43, quello dei token è 1,429. Il prezzo per token è quindi identico su tutta la linea: la bolletta più alta su 4.7/4.8 dipende interamente dal fatto che lo stesso testo vale più token.
Due conseguenze pratiche:
- Ricalcola il budget sul costo assoluto, non sullo sconto. Lo sconto della cache non cambia (~89% in lettura), ma lo stesso prompt in inglese costa circa il 43% in più in termini assoluti su 4.7/4.8 rispetto a 4.6. Se hai dimensionato il budget per chiamata sui conteggi token di 4.6, sarà sbagliato.
- Ricontrolla la soglia di 1.024 token per l’idoneità alla cache. Anthropic mette in cache solo i prefissi che raggiungono una dimensione minima. Un prompt che su 4.6 stava appena sotto la soglia potrebbe superarla su 4.7/4.8 (più token), e un prompt dimensionato in token per il vecchio tokenizer va rimisurato. Leggi sempre
cache_creation_input_tokens/cache_read_input_tokensdalla risposta reale invece di stimarli con un tokenizer locale che potrebbe non corrispondere.
Stiamo descrivendo un’osservazione misurata — testo identico, circa il 43% di input token riportati in più su 4.7/4.8 — coerente con un aggiornamento del tokenizer/vocabolario alla generazione 4.7. La conclusione non dipende dalla causa: rimisura i conteggi dei token quando migri, perché i calcoli della cache si basano sui token.
Checklist di migrazione (4.6/4.7 → 4.8)
- ✅ Il codice di caching resta invariato. Marcatori
cache_control, numero di breakpoint (fino a 4),ttl: "1h", nomi dei campi di usage: tutto identico. - ✅ Le scelte di TTL restano invariate. 5m per carichi live/di sessione, 1h per carichi a raffiche o agent con pause.
- ✅ L’economia dello sconto resta invariata. ~89% in lettura, ~1,25× in scrittura (5m), ~2× in scrittura (1h).
- ⚠️ Rimisura i conteggi dei token. Se arrivi da 4.5/4.6, aspettati oltre il 40% di input token in più per lo stesso testo (è successo con 4.7). Se arrivi da 4.7, aspettati parità.
- ⚠️ Rivalida le dashboard dei costi. Fidati di
usage.coste dei campi*_input_tokensdella risposta reale, non di una stima in cache della generazione precedente.
In sintesi
Per un team di engineering che già usa la cache su Opus, claude-opus-4-8 è l’upgrade facile: tutta la superficie di caching e TTL è stabile, quindi non c’è nulla da reimparare né codice da riscrivere. Metti in conto lo spostamento del tokenizer se salti da 4.6 o precedenti, verifica i tuoi numeri sull’oggetto usage reale, e vai in produzione.
Per il manuale completo sul caching — struttura dei prompt, debug del tasso di hit, pattern che tengono conto del TTL — consulta la serie sul prompt-caching a partire da Come funzionano KV Cache e TTL e il tutorial pratico in Python.
FAQ
Devo modificare il mio codice cache_control per usare Opus 4.8?
No. La sintassi dei marker, il limite di breakpoint e le opzioni di TTL sono identiche a 4.7/4.6. Cambia il campo model e basta.
Lo sconto sulle cache read è cambiato con la 4.8? No. Una read a caldo costa circa l’11% del prezzo di input senza cache (~89% di sconto) dalla 4.5 alla 4.8, in linea con la tariffa documentata da Anthropic.
È cambiato il sovrapprezzo per il TTL di 1 ora? No. La write a 1 ora costa circa 2× il prezzo di input senza cache; la write a 5 minuti circa 1,25×. Le read restano intorno all’11% a prescindere dal TTL. Come nella 4.7.
Perché lo stesso prompt costa di più sulla 4.8 rispetto alla 4.6? Il prezzo per token è lo stesso: il prompt conta semplicemente più token. Lo stesso testo nelle nostre misurazioni riportava ~8,0K token su 4.5/4.6 e ~11,4K su 4.7/4.8 (un aumento del ~43%), cosa che indica con buona probabilità un cambio di tokenizer nella generazione 4.7. Lo sconto sulla cache non è cambiato.
La 4.8 è un rimpiazzo diretto della 4.7? Sul fronte caching/TTL sì: conteggio dei token ed economics erano già al livello della 4.7, quindi la migrazione dalla 4.7 avviene senza differenze. Non pubblichiamo benchmark di capacità che non abbiamo eseguito; per le affermazioni su qualità e reasoning, consulta la model card di Anthropic.
Verifica: tutte le cifre su caching, TTL, conteggio token, costi e TTFT sono state misurate su https://synthorai.io/ il 2026-05-29 usando l’SDK ufficiale anthropic, in single tenant. Le cifre di costo/token derivano da una singola esecuzione sequenziale; il TTFT è la mediana di 5 campioni per modello dopo il warm-up del gateway. I rapporti di sconto/sovrapprezzo sono stati verificati con la documentazione Prompt Caching di Anthropic. I tuoi numeri varieranno in base a prompt, regione e carico.