Le contexte
Le système, les instructions, l'historique, les documents récupérés, le résultat des outils. Tout ce que le modèle voit tient dans une fenêtre de taille limitée.
Comment ça marche
Un LLM, c'est un cerveau dans un bocal: très fort pour une seule chose, produire la suite la plus probable d'un texte. Il ne garde rien entre deux appels. Tout ce qui ressemble à de la mémoire, de l'action ou de la fiabilité est construit autour de lui, par du code. Ce code s'appelle le harness.
01 · Le mécanisme
Il reçoit une suite de tokens (des morceaux de mots), calcule une distribution de probabilités sur le token suivant, en choisit un, puis recommence avec ce token ajouté. Une réponse de 300 mots représente environ 400 tokens: c'est donc environ 400 passes du même calcul.
Le système, les instructions, l'historique, les documents récupérés, le résultat des outils. Tout ce que le modèle voit tient dans une fenêtre de taille limitée.
Des milliards de paramètres figés pendant l'usage. Pas d'apprentissage en direct: le modèle ne « retient » pas ce qu'on lui dit.
La réponse s'écrit token par token. Un texte, ou une demande structurée (appel d'outil, JSON) que le code doit interpréter.
02 · Stateless
Entre deux messages, le modèle n'a pas d'état « en cours ». Quand vous avez l'impression qu'il se souvient, c'est parce que le code renvoie tout l'historique à chaque appel. Si le code oublie une ligne, le modèle l'a oubliée.
# Chaque tour: le code reconstruit TOUT le contexte, le modèle n'a pas de mémoire propre messages = [system_prompt, *historique, nouvelle_question] reponse = llm.generate(messages) # fonction pure: contexte -> texte historique += [nouvelle_question, reponse] # la « mémoire » est ici, dans votre code
Conséquence directe: la mémoire, les documents, les droits d'accès, les garde-fous et la continuité d'une tâche sont des décisions d'ingénierie, pas des propriétés magiques du modèle.
03 · Le schéma
Le modèle est la pièce au centre, figée. Le harness est tout le reste: il décide quoi mettre dans le contexte, quelles données aller chercher, quels outils autoriser, quoi valider et quand s'arrêter.
Il choisit ce qui entre: quelques lignes de mémoire, les passages RAG pertinents, les règles de la version en vigueur, l'état réel du dossier.
Il renvoie du texte ou une intention structurée: « appelle get_stock(sku) ». Il ne touche à rien lui-même.
Il exécute l'outil avec des droits précis, vérifie le schéma, bloque ou escalade si besoin, et journalise tout.
Le modèle relit tout et continue, jusqu'à une réponse finale ou un arrêt contrôlé par le harness.
04 · Ce que ça change
Un bon modèle avec un mauvais contexte donne une mauvaise réponse. C'est le premier levier.
Ce qui est gardé, résumé ou oublié est décidé par votre code, avec des règles de confidentialité.
Le modèle ne peut agir que via les outils que vous exposez, avec les droits de l'utilisateur.
Évals, traces et coût par tâche: c'est ce qui sépare une démo d'un système en production.
Glossaire
Pour voir comment ces briques s'assemblent sur un cas concret: comment automatiser vos processus métier →