
Monitoraggio costi LLM: controlla la spesa prima che esploda (2026)
Il monitoraggio costi LLM è la differenza tra una fattura a sorpresa da 412$ e un ping su Slack all'80% del budget. Questo mese Claude Sonnet 5 costa 3,00$ per milione di token in input, e un singolo loop agente fuori controllo può bruciarli in un pomeriggio. La maggior parte dei team configura il tracciamento in un giorno; l'alert è la parte che salta.
Punti chiave:
- Il monitoraggio costi LLM associa a ogni richiesta un conteggio di token e una stima in dollari, poi aggrega per modello e team.
- Cinque metriche da tenere d'occhio: token per richiesta, costo per feature/team/modello, cache hit ratio, costo per conversazione, tasso di picco.
- I budget di LiteLLM, le trace di Langfuse o Datadog LLM Observability attivano la visibilità sulla spesa in meno di un giorno.
- Le dashboard mostrano stime; i prezzi con input in cache e gli sconti batch fanno atterrare la fattura quasi sempre sotto quei numeri.
Cosa traccia davvero il monitoraggio costi LLM?
Il monitoraggio costi LLM è la pratica di associare un conteggio di token e una stima in dollari a ogni richiesta LLM, per poi aggregare quelle stime per modello, feature e team, così da poter lanciare un alert sulla spesa prima che arrivi la fattura. La stima viene calcolata per richiesta a partire dai prezzi dei token pubblicati, aggregata secondo i tag che applichi alla chiamata e confrontata con un budget fissato in anticipo.
La matematica sottostante è neutrale rispetto ai vendor. La risposta d'uso di ogni provider scompone i token in campi, e la documentazione sui costi di Datadog descrive esplicitamente le relazioni. Le convenzioni semantiche GenAI di OpenTelemetry standardizzano quegli stessi campi tra i vendor, quindi una dashboard costruita su di esse non è legata a un singolo provider.
| Campo | Cosa conta | Fatturato a |
|---|---|---|
| input_tokens | Tutto ciò che invii: system prompt, cronologia, contesto recuperato, la domanda | Tariffa base di input |
| output_tokens | Tutto ciò che il modello genera | Tariffa base di output (3-6x l'input) |
| cache_read_tokens | Input riutilizzato da una cache precedente | 0,1x-0,25x dell'input base |
| cache_write_tokens | Input scritto in cache per la prima volta | ~1,25x l'input base (TTL 5 min di Anthropic) |
| reasoning_tokens | Catena di ragionamento interna, un sottoinsieme dell'output | Tariffa di output |
Tre relazioni fanno gran parte del lavoro: token totali = input + output; input = non in cache + cache_read + cache_write; e i token di ragionamento stanno dentro l'output, alla tariffa di output. Azzecca quelle e la stima per richiesta resta accurata; ignorale e la dashboard si discosta dalla fattura ogni mese. Il monitoraggio dei costi è uno dei pilastri dell'osservabilità AI; tracing e valutazioni sono gli altri due, e condividono lo stesso vocabolario di campi.
La tua dashboard mostra una stima; la fattura è l'unica metrica di costo che non va mai in cache.
Quanto costa 1 milione di token in un LLM?
Dipende dal modello e dalla direzione: 1M di token costa 0,14$ come input di DeepSeek-V4 e 15,00$ come output di GPT-5.6 Terra, un divario di 100x sulla stessa unità. Ecco quattro modelli dalla nostra ricerca sui prezzi del 14 luglio 2026, verificati sulle pagine ufficiali:
| Modello | Input / 1M token | Output / 1M token | Input in cache / 1M token |
|---|---|---|---|
| Claude Sonnet 5 | 3,00$ | 15,00$ | 0,30$ |
| GPT-5.6 Terra | 2,50$ | 15,00$ | 0,25$ |
| Gemini 2.5 Pro | 1,25$ | 10,00$ | 0,31$ |
| DeepSeek-V4 | 0,14$ | 0,28$ | 0,003$ |
Fonti: prezzi OpenAI e prezzi Anthropic. Una nota: Claude Sonnet 5 ha un prezzo di lancio di 2,00$ in input / 10,00$ in output fino al 31 agosto 2026, poi torna ai numeri qui sopra.
Le 5 metriche che contano davvero
Cinque metriche coprono il tracciamento dei costi LLM, e la maggior parte dei team finisce per presidiarne con gli alert solo due. Parti dalle prime due righe: i token per richiesta intercettano il prompt bloat il giorno stesso in cui compare, e il costo per team è il numero che prima o poi l'amministrazione ti chiederà. Le altre tre rifiniscono il quadro una volta attivate le prime.
| Metrica | Come si calcola | Perché conta | Soglia di alert |
|---|---|---|---|
| Token per richiesta | Somma input + output per chiamata, raggruppa per feature | Prompt bloat e context stuffing emergono qui per primi | +30% sulla mediana a 7 giorni |
| Costo per feature / team / modello | Somma il costo stimato, raggruppa per tag o virtual key | La base su cui girano chargeback e budget | 80% del budget mensile |
| Cache hit ratio | cache_read / token di input totali | Ratio basse significano che paghi a prezzo pieno i prompt ripetuti | Sotto il 50% su traffico stabile |
| Costo per conversazione / sessione | Somma il costo di tutti i turni di una sessione | Smaschera gli agenti multi-turn fuori controllo che la vista per richiesta non vede | 2x la sessione al 90° percentile |
| Tasso di picco / anomalia | Variazione giorno su giorno della spesa totale | L'unica metrica che intercetta un loop rotto prima della fattura | +50% giorno su giorno |
Una nota sulla granularità: Datadog memorizza il costo a livello di richiesta in nanodollari (miliardesimi di dollaro), come indicato nella sua documentazione sui costi. A 0,14$ per milione di token, una singola richiesta a DeepSeek-V4 può costare meno di un millesimo di centesimo, quindi aggrega prima di arrotondare, o il traffico dei modelli piccoli sparisce dal report.
Se non tieni traccia di nient'altro, tieni traccia delle righe uno e due. I token per richiesta sono l'avviso più precoce che hai; il costo per team è quello che sopravvive al contatto con un ufficio contabilità.
Tre modi per attivare il monitoraggio costi LLM
Zero delle pagine in cima alla SERP per questa query pubblicano una sola riga di codice eseguibile, quindi ecco tre setup funzionanti. Ognuno va in produzione in meno di un giorno, e si combinano tra loro: noi usiamo i primi due insieme.
Quello che usiamo davvero in produzione: nel nostro setup, ogni agente cliente parla con il proxy LiteLLM tramite una propria virtual key, con un budget mensile su ogni chiave e Langfuse che traccia ogni richiesta dietro il proxy. Quando abbiamo messo in produzione i due insieme, la divisione dei compiti era il punto: il proxy applica i limiti, le trace spiegano cosa li ha consumati. Ognuna delle nostre chiavi cliente porta anche un tpm_limit di 100.000 token al minuto come secondo fusibile; in base alla documentazione di LiteLLM, il proxy rifiuta le richieste una volta raggiunto il limite, e quel comportamento documentato è ciò su cui facciamo affidamento, non un benchmark che abbiamo misurato noi. La nostra configurazione salta a piè pari LiteLLM 1.82.7 e 1.82.8, le due versioni coinvolte nell'incidente supply chain di marzo 2026, e fissa il tag dell'immagine invece di galleggiare su latest.
Proxy LiteLLM: virtual key + budget
Techsy usa un setup del proxy LiteLLM in produzione con una virtual key per cliente e un budget mensile su ogni chiave. La richiesta qui sotto è la forma documentata nella documentazione virtual_keys di LiteLLM: in base a quella documentazione, quando la spesa cumulativa su questa chiave supera i 50$ in un mese, il proxy rifiuta le richieste successive con un errore di budget superato, invece di registrare un avviso a posteriori.
curl -X POST http://localhost:4000/key/generate \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"key_alias": "client-acme-search",
"max_budget": 50.0,
"budget_duration": "monthly",
"tpm_limit": 100000,
"models": ["anthropic/claude-sonnet-4-5"]
}'Fai i conti con i prezzi pubblicati: a 3,00$ / 15,00$ per milione di token di Claude Sonnet 5, 50$ comprano circa 16,7M di token in input o 3,3M di token in output, più o meno una settimana di traffico per uno dei nostri agenti cliente più leggeri. È esattamente il raggio d'azione che vogliamo. Il tpm_limit è il secondo fusibile: un loop fuori controllo fa scattare i 100K token al minuto molto prima di far scattare il budget mensile. L'attribuzione per utente funziona allo stesso modo tramite l'endpoint users, e la nostra guida ai migliori strumenti LLM gateway spiega quando un proxy si guadagna il suo posto e quando è solo un hop in più.
Langfuse: tracing dei costi con @observe
L'autocompletamento di Google abbina "langfuse monitoring" a questa query, e per una buona ragione: Langfuse è l'impostazione predefinita open source per il tracing. Il suo SDK Python avvolge il client del tuo provider così che ogni chiamata diventi una trace che porta con sé i conteggi dei token e un costo calcolato, secondo la documentazione sul tracing di Langfuse:
# pip install langfuse openai
from langfuse import observe
from langfuse.openai import openai # drop-in wrapper, auto-traces
@observe()
def answer(question: str):
return openai.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": question}],
)
answer("what is llm cost monitoring")
# the trace now carries usage.total_tokens and total_cost,
# priced from Langfuse's model price cardsIl costo atterra sulla trace senza che tu debba fare conti sui token; raggruppa le trace per sessione o id utente per aggregazioni per feature, e fai self-hosting se i dati non possono lasciare la tua rete.
Datadog LLM Observability: se ci sei già dentro
Se il tuo team usa già gli agenti Datadog, la sua documentazione sui costi LLM è il riferimento singolo più completo di questa pagina: costo a livello di richiesta in nanodollari, cost_tags personalizzati per suddivisioni per team e feature, e una vera sezione di troubleshooting per i buchi nei costi parziali. Il limite onesto: funziona solo con Datadog. Le metriche non lasciano la piattaforma, e non c'è un'alternativa open source se i prezzi smettono di andare bene. Sceglilo per consolidare, non per flessibilità.
Come si collegano budget, alert e chargeback?
Si collega su tre livelli: un tetto di budget che rifiuta le richieste al raggiungimento del limite, un alert via webhook che scatta a una soglia percentuale prima del tetto, e virtual key per team che trasformano showback e chargeback in una query invece che in una discussione. LiteLLM li offre tutti e tre nativamente; i pattern si trasferiscono a qualsiasi gateway con budget a livello di chiave.
Un budget che si limita a contare è un report; un budget che rifiuta le richieste al tetto è un controllo.
Alert che scattano prima del picco
Imposta l'alert all'80% del tetto, non al 100%. LiteLLM include nativamente gli alert su Slack: imposta alerting: ["slack"] e alerting_threshold: 80 in general_settings, punta la variabile d'ambiente SLACK_WEBHOOK_URL a un canale, e quando una chiave supera la soglia arriva un messaggio così:
{
"text": "LLM budget alert: client-acme-search spent $40.18 of its $50.00 monthly cap (80.4%). Top model: anthropic/claude-sonnet-4-5."
}All'80%, un essere umano ha ancora giorni per agire: declassare il modello, stringere il prompt, o alzare il tetto con un nome sull'approvazione. Un alert al 100% è un'autopsia.
Da showback a chargeback
Showback significa che ogni team vede la propria spesa; chargeback significa che viene detratta dal suo budget. Entrambi girano su un solo ingrediente: una virtual key per team, con tag alla creazione. Il report mensile è allora un group-by sulla tabella della spesa:
| Team | Budget mensile | Spesa a oggi | Stato |
|---|---|---|---|
| search | 50$ | 40,18$ | alert scattato all'80% |
| support-chat | 200$ | 112,40$ | in linea |
| evals-batch | 30$ | 29,97$ | tetto raggiunto, rifiuta |
| sandbox | 10$ | 1,06$ | in linea |
Formato di esempio, non dati di clienti. La riga evals-batch è il pattern che funziona come previsto: il lavoro batch ha corso fino al suo tetto e si è fermato, invece di sanguinare silenziosamente nella fattura. Il comportamento di enforcement è documentato nella documentazione virtual_keys di LiteLLM, incluso come si azzera la durata del budget.
Perché la tua dashboard non combacia con la fattura?
Perché le dashboard fatturano a prezzo di listino mentre le fatture applicano sconti che il tuo monitoraggio non vede mai. L'input in cache atterra a 0,1x-0,25x del prezzo base, il batch a metà, e i token di ragionamento si fatturano alla tariffa di output dall'interno del conteggio di output. Quando i due numeri divergono, di solito è la fattura quello più basso, e il divario è quasi sempre uno di quattro modificatori.
| Modificatore di prezzo | Moltiplicatore tipico | Effetto sulla tua stima |
|---|---|---|
| Input in cache (cache read) | 0,1x-0,25x dell'input base | La dashboard va alta se fattura le hit di cache a prezzo pieno |
| Batch API | 0,5x su input e output | I job asincroni costano metà del numero tracciato |
| Token di ragionamento | 1x tariffa di output, contati dentro l'output | Le catene di pensiero lunghe bruciano budget di output in silenzio |
| Scrittura in cache | ~1,25x l'input base | La prima richiesta in una finestra di cache costa leggermente di più |
Il catalogo aperto pydantic/genai-prices mostra perché questi moltiplicatori variano da modello a modello: ogni provider fissa i propri fattori di cache e batch, quindi una singola tabella di prezzi hardcoded va fuori sincrono il giorno in cui un provider revisiona i suoi listini. La documentazione sui costi di Datadog documenta l'altra metà del problema, i buchi nei costi parziali in cui un campo token mancante restituisce COST UNAVAILABLE per una richiesta. Controlla lì quando la dashboard segna meno della fattura; controlla la tabella degli sconti quando segna di più. Il meccanismo dietro il moltiplicatore più grande è il prompt caching LLM, e un cache hit ratio alto è la ragione più comune per cui una stima tracciata supera la fattura reale.
Una stima di costo senza sconti cache-hit e batch è un tetto massimo, non una previsione.
Quali strumenti fanno davvero il tracciamento dei costi LLM?
Sei strumenti coprono la maggior parte dei setup in produzione: Langfuse, LiteLLM, Helicone e Portkey sul lato open source e gateway, Datadog e Braintrust sul lato commerciale. La divisione onesta è enforcement contro osservabilità: un proxy può rifiutare le richieste a un certo budget, mentre uno strumento di tracing misura la spesa a posteriori. La maggior parte degli stack maturi finisce con uno di ciascuno.
| Strumento | Tipo | Approccio al tracciamento costi | Piano gratuito | Sceglilo se... |
|---|---|---|---|---|
| Langfuse | Open source | Costo per trace dalle schede prezzi dei modelli, self-hostable | Self-hosted gratis; piano hobby gratuito su cloud | Vuoi l'open source e la proprietà dei dati |
| LiteLLM | Proxy open source | Budget per chiave e team applicati al gateway | Gratis (OSS); enterprise a pagamento | Ti servono budget che rifiutano le richieste, non che si limitano a contare |
| Helicone | Gateway open source | Log di costo a livello di proxy per chiave e modello | Piano gratuito con limiti di frequenza | Vuoi uno swap di proxy in una riga senza toccare gli SDK |
| Portkey | Gateway commerciale | Budget per virtual key più analisi dei costi | Piano developer gratuito | Vuoi gateway, prompt e valutazioni in un unico pannello |
| Datadog LLM Observability | Commerciale | Metriche di richiesta in nanodollari più cost_tags | Prova di 14 giorni | Usi già Datadog per tutto il resto |
| Braintrust | Commerciale | Spesa collegata alle valutazioni per progetto | Piano gratuito | Il tuo lavoro sui costi parte dalle valutazioni, non dalle fatture |
Una nota sui contenuti dei vendor in questo spazio: la comparison 2026 degli strumenti di cost tracking fatta da Braintrust mette sé stessa al primo posto e omette tutte le opzioni open source della tabella qui sopra. Leggi i listicle dei vendor per i loro dati, non per le loro classifiche.
Per un team che parte da zero, noi useremmo LiteLLM davanti e Langfuse dietro: il proxy applica i budget, le trace li spiegano, e l'accoppiata non costa nulla finché non passi ai piani hosted. Se stai valutando le due opzioni predefinite per il tracing, il nostro confronto Langfuse vs Langsmith entra nel merito di quella scelta, e la panoramica sulle migliori piattaforme di osservabilità AI copre l'intero campo.
Dal monitoraggio al taglio dei costi
Il monitoraggio mostra dove vanno i soldi; il passo successivo è decidere quanti ne vanno lì. Le tre leve, in ordine di resa: mettere in cache gli input ripetuti, instradare le richieste facili verso modelli più economici, e ridimensionare il modello dove la qualità ancora regge. La nostra guida su come ridurre i costi API LLM copre ogni leva, e il confronto prezzi API LLM è l'input per tutta la matematica qui sopra.
La nostra prospettiva: quando la spesa LLM di un cliente lo coglie di sorpresa, prima monitoriamo e poi tagliamo, mai il contrario. I team che mettono in cache prima di misurare finiscono di solito per mettere in cache i prompt sbagliati. Il monitoraggio ti dice dove vanno i soldi; caching e routing decidono quanti ne vanno lì. Se la tua fattura fa già male, richiedi una consulenza gratuita e guarderemo i numeri insieme a te.
L'autore
Mert Batur è Co-Founder di Techsy.io, dove il team mette in produzione agenti AI, sistemi di automazione e pipeline voice/SDR per clienti B2B. Scrive dello stack di tooling LLM che il team Techsy usa davvero in produzione. Collegalo su LinkedIn.
Domande frequenti
Quanto costa 1 milione di token in un LLM?
A prezzo di listino, da 0,14$ a 15$ per milione a seconda del modello e della direzione: l'input di DeepSeek-V4 costa 0,14$ per milione, mentre l'output di GPT-5.6 Terra costa 15$. I token di output costano da 3 a 6 volte la tariffa di input su tutti i principali provider. La tabella nella prima sezione ha quattro modelli, e il nostro confronto prezzi API LLM li quota tutti e diciassette, verificati sulle pagine di OpenAI e Anthropic a luglio 2026.
Cos'è l'ottimizzazione dei costi LLM?
La pratica di abbassare il costo per richiesta senza sacrificare la qualità: prompt caching per gli input ripetuti, routing dei task facili verso modelli più economici, Batch API per il lavoro asincrono, e dimensionamento del modello per feature. Il monitoraggio costi LLM è il prerequisito, perché non puoi ottimizzare ciò che non hai attribuito. Il cache hit ratio e il costo per feature sono le due metriche che indicano per prime le leve più grandi.
Perché gli LLM costano così tanto?
L'inferenza è vincolata al calcolo: ogni token generato esegue un forward pass completo del modello sulle GPU, e i modelli di ragionamento spendono token extra per pensare prima di rispondere, fatturati alle tariffe di output. I system prompt lunghi moltiplicano quel costo su ogni singola richiesta. La fattura cresce con la verbosità su entrambi i lati della chiamata, ed è per questo che i token per richiesta sono la prima metrica che vale la pena guardare.
Quanto costa un LLM negli USA?
I prezzi delle API sono in dollari e globali: OpenAI, Anthropic e Google applicano lo stesso prezzo di listino per milione di token, che la richiesta parta dall'Ohio o da Osaka. Le differenze regionali emergono nel self-hosting, dove le ore di GPU variano per regione cloud, e nelle piattaforme hosted che aggiungono un ricarico. Per il lavoro via API, la posizione cambia la latenza, non il prezzo.
Come traccio i costi LLM per team?
Emetti una virtual key per team tramite un proxy come LiteLLM, assegna a ogni chiave il tag del nome del team alla creazione, e aggrega la spesa per quel tag. Ogni richiesta porta così l'attribuzione dal momento in cui viene fatta, senza parsing dei log. La tabella di showback nella sezione sui budget qui sopra è il prodotto finale: team, budget mensile, spesa a oggi, stato.
Langfuse o Datadog per il tracciamento dei costi LLM: quale scelgo?
Scegli Langfuse se vuoi open source, self-hosting e dati sotto il tuo controllo: è gratuito da gestire e traccia il costo per richiesta out of the box. Scegli Datadog solo se il tuo team lo usa già per l'infrastruttura, perché le sue funzionalità di costo LLM non lasciano la piattaforma. Per la maggior parte dei team che parte da zero, Langfuse più un proxy LiteLLM batte ciascuna delle due opzioni da sola.
I costi LLM stimati combaciano con la fattura reale?
No, e di solito la fattura è più bassa. Le dashboard fatturano a prezzo di listino mentre l'input in cache atterra a 0,1x-0,25x e i job batch a 0,5x, quindi un carico di lavoro con molta cache vede la fattura reale arrivare ben sotto la stima tracciata. Campi token mancanti spingono l'errore nella direzione opposta. La tabella delle derive qui sopra elenca ogni moltiplicatore e dove guardare.
Come imposto un alert sui picchi di spesa LLM?
Imposta un alert di soglia all'80% del budget mensile di ogni team, recapitato su Slack via webhook, più un alert di anomalia giorno su giorno a +50% per i loop che bruciano in fretta. LiteLLM offre nativamente il pattern di soglia tramite l'impostazione alerting_threshold. Un alert all'80% lascia giorni per reagire; un alert al 100% conferma solo che il tetto ha fatto il suo lavoro.
Esiste un tracker di costi LLM gratuito?
Sì, tre credibili. Langfuse self-hosted è gratuito e open source, con un piano hobby gratuito su cloud secondo la pagina prezzi di Langfuse. I budget per chiave integrati di LiteLLM non costano nulla sul proxy open source. Il piano gratuito di Helicone copre i log di costo a livello di proxy con limiti di frequenza. I piani gratuiti coprono il monitoraggio; enforcement e alerting su scala è dove iniziano i piani a pagamento.
Conclusione
Scegli un percorso di setup oggi, perché l'alert che vorrai tra sei settimane richiede un pomeriggio per essere collegato adesso. La versione breve:
- Prima traccia i token per richiesta e il costo per team; aggiungi le altre tre metriche quando quelle funzionano.
- Un budget che rifiuta le richieste è un controllo; uno che si limita a contare è un report.
- Imposta l'alert all'80%, su Slack, prima che la fattura possa sorprendere qualcuno.
- La tua dashboard è una stima; i prezzi con input in cache e batch fanno atterrare la fattura quasi sempre sotto di essa.
Se preferisci che qualcuno guardi i tuoi numeri insieme a te, richiedi una consulenza gratuita.