Mémoire à court terme dans la fenêtre de contexte
Stockez l’historique de la conversation dans le tableau de messages : la mémoire la plus simple qui soit, mais avec des limites strictes.
Mémoire à court terme dans la fenêtre de contexte est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 1 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.
La mémoire n'est qu'une liste
La « mémoire » d'un LLM conversationnel est la liste messages que vous envoyez à chaque appel. Le modèle est sans état : il ne sait rien d'une requête à l'autre.
La « mémoire à court terme » correspond à tout ce qui figure dans cette liste à cet instant.
Pourquoi cela fonctionne
Vous ajoutez chaque message utilisateur et chaque réponse de l'assistant. Lorsque vous posez la troisième question, le modèle voit :
messages = [
{'role': 'system', 'content': 'You are helpful.'},
{'role': 'user', 'content': 'My name is Alice.'},
{'role': 'assistant', 'content': 'Nice to meet you, Alice.'},
{'role': 'user', 'content': 'What is my name?'}
]
# Model replies: 'Alice'
for m in messages:
print(f"{m['role']}: {m['content']}")
print("Model replies: Alice")
Limites de la fenêtre de contexte
Chaque modèle possède une fenêtre de contexte stricte : le nombre maximal de jetons combinés dans l'entrée et la sortie.
- gpt-4o-mini : 128 000 jetons
- claude-sonnet-4-5 : 200 000 jetons
- gemini-1.5-pro : 2 millions de jetons
Si vous la dépassez, l'API renvoie une erreur.
Le coût des jetons est linéaire
Vous payez chaque jeton, à chaque tour. Une conversation de 30 tours comportant 500 jetons par tour vous coûte 15 000 jetons d'entrée lors du dernier appel (LAST) uniquement : tout l'historique est rejoué.
Les longues sessions deviennent rapidement coûteuses.
Le phénomène du milieu oublié
Même avec un contexte de 200 000 jetons, les modèles accordent moins d'attention (LESS) au contenu situé au milieu d'une longue invite. Les informations importantes doivent se trouver au début (système) ou à la fin (le message utilisateur le plus récent).
Troncature par fenêtre glissante
La gestion de mémoire la plus simple : conservez le message système et les N derniers tours :
MAX_TURNS = 20 # 10 user + 10 assistant
def trim(messages):
system = messages[0]
rest = messages[1:]
return [system] + rest[-MAX_TURNS:]
demo_messages = [{'role': 'system', 'content': 'sys'}] + [
{'role': 'user' if i % 2 == 0 else 'assistant', 'content': f'msg {i}'} for i in range(30)
]
trimmed = trim(demo_messages)
print(f"Original messages: {len(demo_messages)}")
print(f"Trimmed messages: {len(trimmed)}")
Réduction fondée sur les jetons
Plus précis : réduisez le contenu selon le nombre de jetons plutôt que selon le nombre de tours :
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
def trim_by_tokens(messages, max_tokens=8000):
out = [messages[0]] # keep system
tokens_left = max_tokens - len(enc.encode(messages[0]['content']))
# walk backwards from newest
for m in reversed(messages[1:]):
cost = len(enc.encode(m['content'])) + 4
if cost > tokens_left:
break
out.insert(1, m)
tokens_left -= cost
return outGarder les paires ensemble
Tronquer au milieu d'une paire laisse des appels d'outils orphelins. Réduisez toujours ensemble les tours utilisateur et assistant :
# Bad: cuts after assistant call but before tool result
# Good: trim whole turns (user + all responses)
print("Bad: cuts after assistant call but before tool result")
print("Good: trim whole turns (user + all responses)")
Quand le court terme ne suffit plus
La mémoire à court terme atteint ses limites lorsque :
- la conversation dépasse 20 tours
- l'utilisateur revient le lendemain en attendant un recall
- plusieurs utilisateurs partagent le même agent
Vous avez besoin d'une autre stratégie — consultez les leçons suivantes.
L'instruction système reste épinglée
Le message système doit toujours être le premier élément. Ne le réduisez jamais. Il contient l'identité, les règles et les descriptions des outils.
Épingler les mises à jour système récentes
Si vous ajoutez « remember the user prefers Celsius » comme note système, épinglez-la au début, comme l'instruction système d'origine :
SYSTEM_PROMPT = 'You are a helpful assistant.'
messages = [
{'role': 'system', 'content': SYSTEM_PROMPT},
{'role': 'system', 'content': 'USER PREFERENCE: Celsius units'},
{'role': 'user', 'content': 'What is the weather in Paris?'},
{'role': 'assistant', 'content': 'It is 21C and sunny.'},
]
print('Pinned system messages:')
for m in messages:
if m['role'] == 'system':
print(' -', m['content'])
print('Total messages:', len(messages))
Limite de contexte
Que se passe-t-il lorsque vous dépassez la fenêtre de contexte du modèle ?
Récapitulatif
La mémoire à court terme correspond à la liste des messages. Gérez-la en réduisant le contenu selon une fenêtre glissante ou un nombre de jetons, épinglez le message système et acceptez que le coût augmente avec le nombre de tours.
Questions Fréquemment Posées
La leçon « Mémoire à court terme dans la fenêtre de contexte » est-elle gratuite ?
Oui — le texte complet de « Mémoire à court terme dans la fenêtre de contexte » 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 « Mémoire à court terme dans la fenêtre de contexte » ?
Stockez l’historique de la conversation dans le tableau de messages : la mémoire la plus simple qui soit, mais avec des limites strictes. 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 1 sur 4.
Combien de temps prend la leçon « Mémoire à court terme dans la fenêtre de contexte » ?
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
- Mémoire à court terme dans la fenêtre de contexte
- Pourquoi les contextes longs ne passent pas à l’échelle
- La synthèse comme compression
- Stockages mémoire simples (clé-valeur)