AI Agents · Lezione

Consapevolezza dei costi: conteggio dei token e budget

Conteggi i token con tiktoken, stimi il costo prima dell'invio e applichi budget per richiesta e giornalieri.

Lezione 4 di 413 passaggi

Consapevolezza dei costi: conteggio dei token e budget è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 4 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.

Perché è importante contare i token

Lei paga per ogni token. Un ciclo senza fine dell'agente, privo di un budget di token, può spendere centinaia di dollari in pochi minuti.

Contare i token è la più importante abitudine per controllare i costi.

Che cos'è un token?

Un token è una porzione di testo elaborata dal modello. Regole empiriche approssimative per l'inglese:

  • 1 token ~ 4 caratteri
  • 1 token ~ 0,75 parole
  • 100 token ~ 75 parole

Il codice, le emoji e il testo non inglese usano più token per carattere.

Contare i token con tiktoken (OpenAI)

OpenAI fornisce un tokenizer preciso:

# pip install tiktoken
import tiktoken

enc = tiktoken.encoding_for_model('gpt-4o-mini')
tokens = enc.encode('Hello, world!')
print(len(tokens))   # 4
print(tokens)        # [9906, 11, 1917, 0]

Contare i token nei messaggi

Il conteggio completo include l'overhead della struttura dei messaggi:

def count_message_tokens(messages, model='gpt-4o-mini'):
    enc = tiktoken.encoding_for_model(model)
    total = 0
    for m in messages:
        total += 4  # role + structural
        total += len(enc.encode(m['content']))
    return total + 2  # priming

Contare i token con Anthropic

Anthropic offre un endpoint server-side per il conteggio:

count = client.messages.count_tokens(
    model='claude-sonnet-4-5',
    system='You are helpful.',
    messages=[{'role': 'user', 'content': 'Hello'}],
)
print(count.input_tokens)

Stimare il costo prima dell'invio

Moltiplichi il numero di token per il prezzo per token (indicato nella pagina dei prezzi del provider):

INPUT_PRICE = 0.150 / 1_000_000   # gpt-4o-mini: $0.15 / 1M input tokens
OUTPUT_PRICE = 0.600 / 1_000_000

input_tokens = count_message_tokens(messages)
est_input_cost = input_tokens * INPUT_PRICE
print(f'Estimated input cost: ${est_input_cost:.6f}')

Tenere traccia del costo effettivo

Dopo ogni chiamata, sommi l'utilizzo:

total_cost = 0

response = client.chat.completions.create(...)
cost = (
    response.usage.prompt_tokens * INPUT_PRICE +
    response.usage.completion_tokens * OUTPUT_PRICE
)
total_cost += cost

Budget per esecuzione

Imposti un limite rigido per ogni esecuzione dell'agente:

MAX_COST_PER_RUN = 0.50  # USD

if total_cost > MAX_COST_PER_RUN:
    raise BudgetExceeded(f'Cost {total_cost} exceeds limit')

Budget giornalieri per utente

Tenga traccia del costo per utente in Redis e lo reimposti ogni giorno:

key = f'cost:{user_id}:{today_date}'
current = float(redis.get(key) or 0)
if current + cost > 5.0:
    raise QuotaExceeded()
redis.incrbyfloat(key, cost)
redis.expireat(key, midnight_tomorrow_ts)

Limite di max_tokens per chiamata

La principale fonte di costi accidentali è la generazione di una risposta di 50.000 token. Imposti un limite:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    max_tokens=2048,  # never more than 2k output
)

Limite di passi per gli agenti

Combini i limiti di token con un limite di passi (numero massimo di iterazioni):

MAX_STEPS = 20
for step in range(MAX_STEPS):
    response = run_step(...)
    if response.is_final():
        break
else:
    raise StepLimitExceeded()

Limite dei token di output

Perché impostare esplicitamente max_tokens?

Riepilogo

Conteggio dei token, max_tokens massimo per chiamata, budget per esecuzione, quote per utente e limiti di passi. Applichi tutti e cinque i livelli per un ambiente di produzione sicuro.

Gratis per iniziare

Impara AI Agents con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
60
Lezioni
239

Domande Frequenti

La lezione «Consapevolezza dei costi: conteggio dei token e budget» è gratuita?

Sì — il testo completo di «Consapevolezza dei costi: conteggio dei token e budget» è 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 «Consapevolezza dei costi: conteggio dei token e budget»?

Conteggi i token con tiktoken, stimi il costo prima dell'invio e applichi budget per richiesta e giornalieri. 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 4 di 4.

Quanto tempo richiede la lezione «Consapevolezza dei costi: conteggio dei token e budget»?

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