Objectifs de cette leçon
- Comprendre la fenêtre de contexte
- Calculer les tokens
- Optimiser l'espace
Fenêtre de contexte et tokens 📐
Qu'est-ce qu'un token ?
Un token est l'unité de base que le modèle traite.
| Texte | Tokens approximatifs |
|---|---|
| "Bonjour" | 1 token |
| "Application web" | 2 tokens |
| 1000 mots | ~1300 tokens |
💡 Astuce : Un token ≈ 4 caractères en anglais, ~3 caractères en français.
La fenêtre de contexte
La fenêtre de contexte est la quantité de tokens que le modèle peut traiter en une seule fois.
| Modèle | Fenêtre de contexte |
|---|---|
| GPT-3.5 | 4K tokens |
| GPT-4 | 128K tokens |
| Claude 3 | 200K tokens |
Que se passe-t-il quand le contexte est plein ?
- Les tokens les plus anciens sont tronqués
- L'IA perd du contexte
- La qualité de la réponse diminue
- L'IA peut oublier des instructions importantes
Optimiser l'espace de contexte
❌ Mauvaise approche
// Tout copier-coller dans le prompt // + historique complet de la conversation // = contexte énorme et coûteux
✅ Bonne approche
// Fournir uniquement le contexte pertinent // Résumer les parties non critiques // Garder les instructions essentielles
Stratégies d'optimisation
| Stratégie | Économie |
|---|---|
| Résumer l'historique | 50-70% |
| Fournir uniquement le code pertinent | 30-60% |
| Éviter les répétitions | 20-40% |
| Compresser les instructions | 15-30% |
Exercice pratique
Transformez ce prompt long en version optimisée :
Original (45 tokens) :
"Bonjour, j'aimerais vraiment que tu puisses s'il te plaît m'aider à créer une application web moderne avec React qui utilise TypeScript et qui a une base de données"
Optimisé (18 tokens) :
"Crée app web React/TypeScript avec BDD"
Compter les tokens avant d'envoyer
L'API Anthropic propose un endpoint de comptage de tokens qui vous permet de déterminer le nombre de tokens avant d'envoyer un message :
curl https://api.anthropic.com/v1/messages/count_tokens \ --header "x-api-key: $ANTHROPIC_API_KEY" \ --header "content-type: application/json" \ --header "anthropic-version: 2023-06-01" \ --data '{ "model": "claude-opus-4-8", "system": "Tu es un développeur senior", "messages": [{ "role": "user", "content": "Crée une API REST avec auth JWT" }] }'
{ "input_tokens": 28 }
💡 Le comptage de tokens est gratuit et fonctionne avec le même format que l'endpoint Messages (outils, images, PDF, réflexion étendue).
Chaque modèle a son propre tokenizer
Les modèles récents (Claude Opus 4.7+, Fable 5, Mythos 5, Sonnet 5) utilisent un tokenizer plus récent qui produit environ 30% de tokens en plus pour le même texte :
| Modèle | Tokenizer | Impact |
|---|---|---|
| Claude 3.5 Sonnet | Ancien | Référence |
| Claude Sonnet 5 | Nouveau | +30% tokens |
| Claude Fable 5 | Nouveau | +30% tokens |
⚠️ Ne réutilisez pas les comptages mesurés sur un ancien modèle. Recomptez toujours avec le modèle que vous prévoyez d'utiliser.
Les tokens système ne sont pas facturés
Les tokens ajoutés automatiquement par Anthropic pour des optimisations système ne vous sont pas facturés. Seul votre contenu est facturé.
Résumé
- Un token ≈ 4 caractères en anglais, ~3 en français
- La fenêtre de contexte est limitée
- Utilisez l'endpoint
/v1/messages/count_tokenspour compter avant d'envoyer - Chaque modèle a son propre tokenizer (+30% sur les modèles récents)
- Le comptage est gratuit mais soumis aux limites de débit
- Optimisez en fournissant uniquement le nécessaire
- Résumez l'historique quand la conversation est longue