Passez un contrat PDF de 50 pages à une IA, posez une question précise sur un détail, et elle inventera le montant de la clause de résiliation. Pourquoi ?
C'est le piège de la Fenêtre de Contexte.
On pense souvent : "Si le modèle accepte 100 000 tokens, je lui envoie tout et il lira." Grave erreur. Poussez trop d'informations dans une IA, et elle oubliera ce qui est au milieu.
Voici comment structurer vos données pour éviter cela.
1. La Fenêtre de Contexte
La fenêtre de contexte = le nombre maximum de tokens qu'une IA peut traiter en une seule fois (votre texte + sa réponse).
Les modèles actuels acceptent 128K à 10M tokens, mais attention : la capacité réelle est d'environ 60-70%. Au-delà, la qualité s'effondre brutalement.
Règle simple : Ne dépassez jamais 60-70% de la limite annoncée.
2. Le syndrome "Needle in a Haystack"
Une IA ne lit pas comme un humain. Elle mémorise parfaitement le début et la fin, mais le milieu est une zone de flou (lost in the middle).
Conséquence : Si votre instruction est au milieu d'un long texte, l'IA aura tendance à sauter l'information et inventera une réponse.
3. Solutions
A Le "Sandwich Prompting"
Placez votre prompt en 3 couches :
INSTRUCTION (début) → DONNÉES (milieu) → QUESTION (fin)
✅ ⚠️ ✅
# ✅ Approche efficace
prompt = f"""
INSTRUCTION : Vous êtes un auditeur financier.
--- DÉBUT DU DOCUMENT ---
{texte_tres_long}
--- FIN DU DOCUMENT ---
QUESTION : Quelle est la marge nette du T3 ? Répondez UNIQUEMENT avec la valeur.
"""
Règle : Séparateurs visuels (---) + question à la fin = consigne fraîche dans la mémoire de l'IA.
B Context Caching (requêtes répétées)
Pour plusieurs questions sur le même document : mettre en cache. Réduit les coûts de 90%.
cached = cache.get(hash)
if cached:
response = model.generate(question, context=cached)
else:
response = model.generate(doc + question)
cache.set(hash, context)
C RAG (documents volumineux)
Si votre document dépasse systématiquement les 20 000 ou 30 000 tokens, l'optimisation de prompt ne suffira plus. La vraie solution d'ingénierie s'appelle le RAG (Retrieval-Augmented Generation).
Au lieu de donner le livre de 300 pages à lire à l'IA, on utilise un moteur de recherche (Vector DB) pour extraire uniquement les 3 pages qui parlent de la "marge nette", et on n'envoie que ces 3 pages au LLM.
Résultat : Moins de tokens lus = Moins cher, 10x plus rapide, et zéro hallucination.
D Résumé de contexte (conversations longues)
Une autre stratégie efficace : compresser périodiquement l'historique de conversation pour retenir les informations clés tout en réduisant l'usage de tokens.
Messages 1-10 (10K tokens) → Résumé condensé (1K tokens) + Messages 11-20
4. Choisir la bonne fenêtre
| Cas d'usage | Fenêtre recommandée | Modèle |
|---|---|---|
| Chatbot support | 32K-128K | Llama 3.1 |
| Documents <50K mots | 128K | DeepSeek V3 |
| Contrats juridiques | 200K-400K | Claude Sonnet |
| Analyse de code | 32K-128K | Claude Sonnet |
| Livres complets | 1M+ | Gemini 2.5 Pro |
| Review repo complet | 1M-10M | Gemini 3 Pro |
Règle : Prenez 1.5x votre usage moyen comme marge de sécurité.
📌 L'essentiel
- La capacité réelle = 60-70% de la fenêtre annoncée
- Le milieu est oublié → Sandwich Prompting (instruction → données → question)
- Context Caching pour requêtes répétées (-90% coût)
- RAG pour documents >20-30K tokens
- Résumé pour conversations longues
Et après ?
Vous savez auditer vos tokens, choisir le bon modèle et structurer votre contexte. Dans le prochain article, nous allons apprendre à oublier le langage naturel et à coder nos prompts en Markdown et XML pour des systèmes enfin robustes.
Article précédent → Comprendre les Tokens
Article suivant → Prompting Efficient : Parlez Markdown/XML (En cours de rédaction)
Top comments (0)