AgentsHarnais 🇷🇺 12.08.2026 18:02

L'évolution de la compression du contexte dans les agents d'IA

LangChainLangChain OpenRouterOpenRouter
Les agents d'IA s'appuient sur un historique de messages pour maintenir le contexte, mais de longs journaux mettent à rude épreuve la fenêtre de contexte du modèle de langage de grande taille (LLM) et dégradent ses performances. L'évolution de la compression du contexte passe du simple écimage de la fin à la synthèse, en passant par la protection du début et de la fin, et enfin à la séparation de l'historique stocké du contexte de travail, avec des outils pour récupérer les détails à la demande.
Les agents IA sont un cycle d'échange de messages entre un utilisateur et un modèle de langage (LLM), où le modèle peut appeler des outils ou des MCP. Chaque interaction s'ajoute à l'historique de conversation, qui est généralement envoyé en entier lors de l'appel suivant au modèle. Cependant, les fenêtres de contexte, bien que vastes, ne sont pas illimitées, et les performances se dégradent avec des historiques volumineux et mal structurés. L'article classique « Perdu au milieu » (Lost in the Middle) montre une courbe en forme de U : les modèles utilisent mieux le début et la fin des longues entrées que le milieu. L'article retrace l'évolution des approches pour compresser le contexte : la suppression simple de la fin (fenêtre glissante) dans LangChain via trim_messages ; la synthèse des anciens messages dans un bloc de résumé à l'aide de SummarizationMiddleware dans create_agent ; puis la protection des premiers N messages et de la fin fraîche tout en compressant le milieu, comme le montre Hermes Agent et la compression middle-out d'OpenRouter. L'approche la plus récente sépare l'historique stocké du contexte de travail : l'historique complet est conservé en externe (par exemple, dans un fichier), l'appel au modèle reçoit une vue avec la fin fraîche plus un résumé, et l'agent dispose d'outils comme lire_fichier ou grep pour récupérer des détails dans l'historique complet. La bibliothèque Deep Agents de LangChain implémente cela dans son SummarizationMiddleware, bien que le nom soit confusément partagé avec le middleware de base. Cette évolution s'inscrit dans la tendance plus large de l'ingénierie de contexte, qui consiste à distinguer ce que l'agent sait (historique complet, résultats d'outils, compétences) de ce qui entre dans l'appel suivant au modèle.
Source: Habr — хаб ИИ — original
Nos articles précédents sur ce sujet ↓
Infos fraîches