0Pricing
AI Agents · Leçon

Maîtriser les coûts : comptage des jetons et budgets

Comptez les jetons avec tiktoken, estimez le coût avant l’envoi et imposez des budgets par requête et par jour.

Maîtriser les coûts : comptage des jetons et budgets est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.

Pourquoi le comptage des jetons est important

Vous payez pour chaque jeton. Une boucle d'agent incontrôlée sans budget de jetons peut dépenser des centaines de dollars en quelques minutes.

Le comptage des jetons est la meilleure habitude à adopter pour maîtriser les coûts.

Qu'est-ce qu'un jeton ?

Un jeton est un fragment de texte traité par le modèle. Voici quelques règles approximatives pour l'anglais :

  • 1 jeton ≈ 4 caractères
  • 1 jeton ≈ 0,75 mot
  • 100 jetons ≈ 75 mots

Le code, les émojis et les textes non anglais utilisent davantage de jetons par caractère.

Compter les jetons avec tiktoken (OpenAI)

OpenAI fournit un tokenizer exact :

# 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]

Compter les jetons des messages

Le décompte complet inclut la surcharge liée à la structure des messages :

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

Compter les jetons avec Anthropic

Anthropic propose un point de terminaison de comptage côté serveur :

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

Estimer le coût avant l'envoi

Multipliez le nombre de jetons par le prix par jeton (indiqué sur la page tarifaire du fournisseur) :

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}')

Suivre le coût réel

Après chaque appel, additionnez l'utilisation :

total_cost = 0

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

Budgets par exécution

Définissez une limite stricte pour chaque exécution de l'agent :

MAX_COST_PER_RUN = 0.50  # USD

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

Budgets quotidiens par utilisateur

Suivez le coût par utilisateur dans Redis et réinitialisez-le chaque jour :

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)

Plafonner max_tokens par appel

La principale source de coûts accidentels est la génération d'une réponse de 50 000 jetons. Plafonnez-la :

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

Limiter les étapes des agents

Combinez les plafonds de jetons avec une limite d'étapes (nombre maximal d'itérations) :

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

Plafond de jetons de sortie

Pourquoi définir max_tokens explicitement ?

Récapitulatif

Comptage des jetons, max_tokens par appel, budgets par exécution, quotas par utilisateur et limites d'étapes. Combinez ces cinq mécanismes pour une utilisation sûre en production.

Questions Fréquemment Posées

La leçon « Maîtriser les coûts : comptage des jetons et budgets » est-elle gratuite ?

Oui — le texte complet de « Maîtriser les coûts : comptage des jetons et budgets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Maîtriser les coûts : comptage des jetons et budgets » ?

Comptez les jetons avec tiktoken, estimez le coût avant l’envoi et imposez des budgets par requête et par jour. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Agents ?

Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Maîtriser les coûts : comptage des jetons et budgets » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?

Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Appeler l’API OpenAI : chat.completions
  2. Appeler l’API Anthropic : messages
  3. Diffusion des réponses (SSE)
  4. Maîtriser les coûts : comptage des jetons et budgets
← Retour à AI Agents