Aller au contenu
PROJET WEB DYNAMIQUE

Fenêtre de contexte

🧠 Fenêtre de Contexte : La Mémoire des IA

🎯 C'est quoi exactement ?

La fenêtre de contexte, c'est la mémoire à court terme de ton chatbot IA. Imagine-la comme la RAM de ton ordi, mais pour les conversations.

En gros :

  • 🔢 Elle se mesure en tokens (pas en mots !)
  • 💬 Elle contient tout l'historique de la conversation
  • 🧮 1000 tokens ≈ 750 mots en anglais (un peu moins en français)

⚠️ Important : Si l'historique est pourri, les réponses seront pourries aussi. Garbage in, garbage out !

🔤 Le Token : La Brique Élémentaire

C'est quoi un token ?

Un token, c'est pas un mot. C'est plutôt un morceau de texte que l'IA comprend.

Exemples de découpage :

  • "Bonjour" → 1 token
  • "anticonstitutionnellement" → 5-6 tokens
  • "Fine Tuning is fun for all!" → 8 tokens

🎮 Règles du jeu

  • Les espaces comptent
  • La ponctuation compte
  • Les emojis = souvent 2 tokens 😎
  • Les langues asiatiques (🇨🇳🇯🇵🇰🇷) = plus de tokens par caractère

📊 L'Évolution Explosive des Fenêtres de Contexte

🚀 De 512 tokens à 2 millions en 7 ans !

Timeline de la folie :

Année Modèle Fenêtre 🤯 Facteur
2018 GPT-1 512 tokens x1 (base)
2019 GPT-2 1K tokens x2
2020 GPT-3 2K tokens x4
2022 GPT-3.5 4K tokens x8
2023 GPT-4 8K → 128K x250 !
2024 Gemini 1.5 Pro 1M tokens x2000 !!
2025 Gemini 2.5 Pro 1-2M tokens x4000 !!!

💡 Fun fact : En 2025, certains modèles peuvent lire l'intégralité de la Bible (Ancien + Nouveau Testament = ~773K mots) en un seul coup !

📝 Tailles de Textes Connus en Tokens

Pour bien visualiser ce que ça représente :

📱 Textes Courts

  • Tweet (280 caractères) → ~50-70 tokens
  • Email professionnel → 200-400 tokens
  • Thread Twitter (10 tweets) → ~500-700 tokens

📄 Textes Moyens

  • Article de blog → 1,500-2,500 tokens
  • Constitution des États-Unis → ~6,000 tokens
  • Déclaration d'Indépendance US → ~1,750 tokens

📚 Romans & Livres

  • The Great Gatsby → ~62,000 tokens (47K mots)
  • Harry Potter à l'école des sorciers → ~100,000 tokens
  • Harry Potter et l'Ordre du Phénix → ~340,000 tokens
  • Le Hobbit → ~126,000 tokens
  • Lord of the Rings (trilogie complète) → ~607,000 tokens

💭 Analogie : Gemini 2.5 Pro avec ses 2M tokens pourrait lire plus de 3 fois toute la saga Harry Potter d'un coup !


📤 Limites d'Output : L'Autre Face de la Médaille

🎯 Output ≠ Input !

Pendant longtemps, les modèles pouvaient lire beaucoup mais écrire peu.

📈 L'Évolution des Limites d'Output

Génération 1 (2022-2023) : L'Ère des 4K

  • GPT-3.5 → 4K tokens max (~3000 mots)
  • GPT-4 → 4K tokens
  • Claude 3 → 4K tokens

Génération 2 (2024) : Le Passage à 8-16K

  • DeepSeek V3 → 8K tokens
  • Gemini 1.5 Pro → 8K tokens
  • GPT-4o → 16K tokens

Génération 3 (2025) : L'Explosion ! 🚀

  • DeepSeek R1 (Reasoner) → 32K tokens
  • Gemini 2.5 Pro65K tokens 🏆
  • Claude Sonnet 4 → 64K tokens

💡 Pourquoi c'est important ?

Avant (4K limit) :

  • ❌ Impossible de générer un rapport complet
  • ❌ Code tronqué en plein milieu
  • ❌ Documents incomplets

Maintenant (65K limit) :

  • ✅ Rapports complets de 50 pages
  • ✅ Codebases entières
  • ✅ Documentation technique complète

✅ Scripts et analyses de bout en bout

gemini_generated_image_t8e2wmt8e2wmt8e2(1)

🎭 Les Modèles Actuels (Décembre 2025)

🏆 Le Top 3 des Champions (Décembre 2025)

Rang Modèle Context Output 💰 Prix 🌟 Spécialité
🥇 Gemini 2.5 Pro 2M 65K $$$ Multimodal + output géant
🥈 Claude Sonnet 4 1M 64K $$ Qualité d'écriture
🥉 DeepSeek V3.2 128K 8K $ Sparse attention, -50% coût

📋 Tableau Complet des Modèles Actuels

Modèle Context Output 💡 Note Spéciale
OpenAI
GPT-5 256-400K ~64K Dernière génération
GPT-4o 128K 16K Multimodal rapide
GPT-4 Turbo 128K 4K Ancienne génération
Anthropic
Claude Sonnet 4 1M 64K Top qualité
Claude 3.5 Sonnet 200K 8K Génération précédente
Claude 3 Opus 200K 4K Legacy
Google
Gemini 2.5 Pro 1-2M 65K 🏆 Plus gros output du marché
Gemini 2.0 Flash 1M 8K Rapide et efficace
Gemini 1.5 Pro 1M 8K Needle champion (99.7%)
DeepSeek
V3.2 🆕 128K 8K Sparse attention, -50% coût
V3.2-Speciale 🥇 128K 8K Gold medals IMO/IOI 2025
V3.1 128K 8K Génération précédente
R1 (Reasoner) 64K 32K Mode reasoning

🧠 Le "Thinking" : Quand l'IA Réfléchit

🤔 C'est quoi le "thinking" ?

Certains modèles (Claude, DeepSeek R1, Gemini 2.5, GPT-5) peuvent maintenant montrer leur raisonnement avant de répondre.

Comment ça marche :

  1. 💭 L'IA génère une trace de réflexion (thinking)
  2. ✍️ Puis elle donne sa réponse finale
  3. 📊 Le thinking compte dans les tokens d'output

Exemple avec DeepSeek R1 :

<think>
Hmm, l'utilisateur demande la racine carrée de 144.
Voyons... 12 x 12 = 144
Donc la réponse est 12.
</think>

La racine carrée de 144 est 12.

⚙️ Comment Contrôler le Thinking

Méthode 1 : Max Tokens (Gemini, Anthropic, Qwen)

// Limite directe du nombre de tokens de réflexion
"reasoning": {
  "max_tokens": 2000  // Max 2000 tokens pour penser
}

Supporté par :

  • ✅ Gemini thinking models
  • ✅ Anthropic (Claude) via reasoning.max_tokens
  • ✅ Alibaba Qwen (mappé sur thinking_budget)

Méthode 2 : Effort Level (OpenAI, xAI)

// Contrôle par pourcentage d'effort
"reasoning": {
  "effort": "high"  // 80% des tokens pour penser
}

Niveaux disponibles :

Effort % de max_tokens Utilisation
high ~80% Problèmes très complexes
medium ~50% Tâches normales
low ~20% Simple
minimal ~10% Très simple
none 0% Désactive le thinking

Supporté par :

  • ✅ OpenAI (o1, o3, GPT-5 series)
  • ✅ xAI (Grok models)

⚠️ Le Piège du Thinking

Dans les conversations multi-tours :

  • ❌ On n'envoie PAS le thinking dans les messages suivants
  • ✅ On ne garde que la réponse finale
  • 💡 Pourquoi ? Pour économiser des tokens

Conséquence :

  • L'IA perd la trace de pourquoi elle a fait certaines choses
  • Elle ne peut pas "revoir son raisonnement"
  • Mais on économise des tonnes de tokens !

🔍 Tests "Needle in a Haystack" : Trouver l'Aiguille

🎯 Le Concept

L'idée :
Cacher une info spécifique (l'"aiguille") dans un énorme contexte (la "botte de foin") et voir si l'IA la retrouve.

Exemple concret :

Contexte : 100,000 tokens d'essais de Paul Graham
Aiguille : "La meilleure chose à faire à San Francisco 
           est de manger un sandwich à Dolores Park"
Question : "D'après le contexte, que recommande-t-on 
           de faire à San Francisco ?"

📊 Résultats des Tests (2024-2025)

GPT-4 (128K context)

  • ✅ Performance stable jusqu'à 64K tokens
  • ⚠️ Déclin à partir de 100K tokens
  • ❌ Problème "lost in the middle" : oublie le milieu du contexte

Claude 2.1 (200K context)

  • 😕 Score initial : 27% de précision
  • 🎯 Avec prompt optimisé : jusqu'à 98% !
  • 💡 Très sensible à la formulation

Gemini 1.5 Pro (1M context)

  • 🏆 >99.7% de précision jusqu'à 1M tokens
  • 🎥 Test audio : 100% de précision sur 107h d'audio (5 jours !)
  • 🎬 Test vidéo : 99.8% sur 10.5h de vidéo

Test Multi-Needles (100 aiguilles)

  • Gemini 1.5 Pro : 60% de rappel à 1M tokens
  • Performance diminue avec le nombre d'aiguilles
  • Le raisonnement sur les infos retrouvées est plus dur que la simple récupération

🎨 Needle in Haystack - Visualisation

💡 Leçon : Plus la fenêtre est grande, plus c'est dur de retrouver les infos ! Mais Gemini 1.5 Pro est un beast.

🔗 Extension & Recherche Documentaire

🗄️ Récupération Augmentée (RAG)

Les modèles ne se limitent pas à leur fenêtre de contexte. Ils peuvent aller chercher des infos ailleurs !

Le fonctionnement :

  1. 🔍 Recherche dans des documents externes
  2. 📊 Recherche dans des bases de données
  3. 🌐 Recherche sur Internet (Google, Bing)
  4. 💾 Récupération depuis des APIs

Avantages :

  • ✅ Accès à des infos à jour
  • ✅ Pas limité par la fenêtre de contexte
  • ✅ Sources vérifiables

Inconvénients :

  • ⏱️ Plus lent
  • 💰 Plus coûteux
  • 🎯 Qualité dépend de la recherche

🌐 Recherche Internet Intégrée

Les modèles récents (GPT-4, Claude 3, Gemini) peuvent faire des recherches sur Internet directement.

Cas d'usage :

  • 📰 Actualités récentes
  • 📈 Données en temps réel
  • 🔬 Publications scientifiques récentes
  • 🏢 Infos sur des entreprises

💰 Le Coût de la Mémoire

💸 Ça Coûte Combien ?

La règle d'or :

Attention = Complexité Quadratique
Doubler la longueur du contexte = Quadrupler le coût computationnel

Pourquoi ?

Dans les transformers classiques, chaque token doit "regarder" tous les autres tokens :

  • 1,000 tokens → 1,000 × 1,000 = 1 million de comparaisons
  • 2,000 tokens → 2,000 × 2,000 = 4 millions de comparaisons
  • 10,000 tokens → 10,000 × 10,000 = 100 millions de comparaisons
Coût = O(L²) où L = longueur du contexte

C'est pour ça que les longues fenêtres coûtent très cher !

Exemples de pricing (Gemini 2.5 Pro) :

  • Input : $0.00125 par 1000 tokens
  • Output : $0.005 par 1000 tokens

Scénario réel :

Prompt : 100,000 tokens
Réponse : 10,000 tokens

Coût input : 100 × $0.00125 = $0.125
Coût output : 10 × $0.005 = $0.05
Total : $0.175 par requête

Pour 1000 requêtes/jour → $175/jour** → **$5,250/mois 💀

🎯 Optimisation des Coûts

Techniques :

  1. 📉 Utiliser le modèle le plus petit qui fait le job
  2. ✂️ Tronquer le contexte intelligemment
  3. 🔄 Utiliser le cache de contexte (si dispo)
  4. 🎯 Limiter la taille d'output
  5. 📊 Router vers des modèles plus petits quand possible

🎭 Anatomie d'un Prompt (Détails Techniques)

🗣️ Les Différents Rôles

Chaque message dans la conversation a un rôle :

1. System (Caché, au début)

"Tu es un assistant expert en programmation Python.
Réponds toujours avec du code commenté."
  • Définit le comportement global
  • L'utilisateur ne le voit pas
  • Compte dans les tokens !

2. User (Orange)

"Comment faire une boucle for en Python ?"
  • Messages de l'utilisateur
  • Visibles dans l'interface

3. Assistant (Bleu)

# Voici un exemple de boucle for
for i in range(10):
    print(i)
  • Réponses du modèle
  • Générées par l'IA

4. Function (Vert, caché)

{
  "name": "web_search",
  "arguments": {
    "query": "latest Python version"
  }
}
  • Appels d'outils/fonctions
  • Recherche web, APIs, etc.
  • Invisibles pour l'utilisateur

🔄 Le Cycle de la Conversation

À chaque nouveau message, TOUT l'historique est renvoyé !

🚨 Problèmes Courants & Solutions

❌ Problème 1 : "Lost in the Middle"

Le problème :
Les modèles se souviennent mieux du début et de la fin du contexte, mais oublient le milieu.

Solution :

  • Mettre les infos importantes au début OU à la fin
  • Répéter les infos cruciales

❌ Problème 2 : Dépassement de Limite

Le problème :

Error: Context length exceeded (150000 > 128000)

Solutions :

  1. ✂️ Tronquer l'historique
  2. 📝 Résumer les anciens messages
  3. 🔄 Router vers un modèle avec + de contexte
  4. 🗑️ Supprimer les messages moins importants

❌ Problème 3 : Contexte de Mauvaise Qualité

Le problème :
Trop d'infos = confusion

Solution :

❌ Mauvais :
"Voici 50 pages de documentation sur tout..."

✅ Bon :
"Voici la section pertinente sur X :
[extrait ciblé de 500 tokens]"

🎓 Récap' Final

✅ Ce qu'il faut retenir

  1. Fenêtre de contexte = mémoire à court terme de l'IA
  2. Tokens ≠ mots (1 token ≈ 0.75 mot en anglais)
  3. Évolution folle : 512 tokens (2018) → 2M tokens (2025)
  4. Output évolue aussi : 4K → 65K tokens
  5. Thinking compte dans les tokens d'output
  6. "Lost in the middle" : mettre les infos importantes au début/fin
  7. Coûts : x2 tokens = x4 calcul
  8. Tests Haystack : Gemini 1.5 Pro = champion (99.7%)

🚀 L'Avenir

Tendances 2025+ :

  • 🌟 Fenêtres de 10M tokens en approche
  • 🧠 Meilleure gestion du "middle" du contexte
  • 💰 Baisse des coûts
  • ⚡ Vitesse accrue
  • 🎯 Récupération d'infos plus précise

🔗 Sources & Pour Aller Plus Loin

📚 Documentation Officielle

🔬 Articles Techniques

🛠️ Outils Pratiques