Tracciamento dei Costi SDK
Il Claude Agent SDK fornisce informazioni dettagliate sull’utilizzo dei token per ogni interazione con Claude. Questa guida spiega come tracciare correttamente i costi e comprendere il reporting dell’utilizzo, specialmente quando si gestiscono utilizzi di strumenti paralleli e conversazioni multi-step. Per la documentazione API completa, consulta il riferimento TypeScript SDK.Comprensione dell’Utilizzo dei Token
Quando Claude elabora le richieste, riporta l’utilizzo dei token a livello di messaggio. Questi dati di utilizzo sono essenziali per tracciare i costi e fatturare gli utenti in modo appropriato.Concetti Chiave
- Steps: Uno step è una singola coppia richiesta/risposta tra la tua applicazione e Claude
- Messaggi: Messaggi individuali all’interno di uno step (testo, utilizzi di strumenti, risultati di strumenti)
- Utilizzo: Dati di consumo dei token allegati ai messaggi dell’assistente
Struttura del Reporting dell’Utilizzo
Utilizzo di Strumenti Singolo vs Parallelo
Quando Claude esegue strumenti, il reporting dell’utilizzo differisce in base al fatto che gli strumenti vengano eseguiti sequenzialmente o in parallelo:Esempio di Flusso di Messaggi
Ecco come vengono riportati i messaggi e l’utilizzo in una tipica conversazione multi-step:Regole Importanti per l’Utilizzo
1. Stesso ID = Stesso Utilizzo
Tutti i messaggi con lo stesso campoid riportano utilizzo identico. Quando Claude invia più messaggi nello stesso turno (ad es., testo + utilizzi di strumenti), condividono lo stesso ID messaggio e dati di utilizzo.
2. Addebita Una Volta Per Step
Dovresti addebitare agli utenti solo una volta per step, non per ogni singolo messaggio. Quando vedi più messaggi dell’assistente con lo stesso ID, usa l’utilizzo da uno qualsiasi di essi.3. Il Messaggio Risultato Contiene l’Utilizzo Cumulativo
Il messaggio finaleresult contiene l’utilizzo cumulativo totale da tutti gli step nella conversazione:
Implementazione: Sistema di Tracciamento dei Costi
Ecco un esempio completo di implementazione di un sistema di tracciamento dei costi:Gestione dei Casi Limite
Discrepanze nei Token di Output
In rari casi, potresti osservare valori diversi dioutput_tokens per messaggi con lo stesso ID. Quando questo accade:
- Usa il valore più alto - L’ultimo messaggio in un gruppo tipicamente contiene il totale accurato
- Verifica contro il costo totale - Il
total_cost_usdnel messaggio risultato è autorevole - Segnala inconsistenze - Segnala problemi al repository GitHub di Claude Code
Tracciamento dei Token di Cache
Quando usi il prompt caching, traccia questi tipi di token separatamente:Migliori Pratiche
- Usa gli ID Messaggio per la Deduplicazione: Traccia sempre gli ID messaggio elaborati per evitare doppi addebiti
- Monitora il Messaggio Risultato: Il risultato finale contiene l’utilizzo cumulativo autorevole
- Implementa il Logging: Registra tutti i dati di utilizzo per audit e debug
- Gestisci i Fallimenti con Grazia: Traccia l’utilizzo parziale anche se una conversazione fallisce
- Considera lo Streaming: Per risposte in streaming, accumula l’utilizzo man mano che arrivano i messaggi
Riferimento dei Campi di Utilizzo
Ogni oggetto utilizzo contiene:input_tokens: Token di input base elaboratioutput_tokens: Token generati nella rispostacache_creation_input_tokens: Token usati per creare voci di cachecache_read_input_tokens: Token letti dalla cacheservice_tier: Il livello di servizio usato (ad es., “standard”)total_cost_usd: Costo totale in USD (solo nel messaggio risultato)
Esempio: Costruzione di una Dashboard di Fatturazione
Ecco come aggregare i dati di utilizzo per una dashboard di fatturazione:Documentazione Correlata
- Riferimento TypeScript SDK - Documentazione API completa
- Panoramica SDK - Iniziare con l’SDK
- Permessi SDK - Gestione dei permessi degli strumenti