La recherche en IA te passionne ?
Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Optimiser le contexte, une ressource précieuse et limitée pour les agents IA
Dans le domaine de l'intelligence artificielle, les échecs rencontrés ne sont souvent pas dus à la capacité intrinsèque des modèles, mais plutôt à la manière dont le contexte est élaboré, transmis et maintenu. Ce problème s'avère complexe car le domaine évolue rapidement et les techniques utilisées sont encore en pleine maturation. Une grande partie de ce travail repose sur une approche expérimentale, fortement influencée par le contexte, les contraintes et l'environnement spécifiques dans lesquels les systèmes opèrent.
Dans mes recherches sur les systèmes multi-agents, j'ai observé un schéma récurrent : la performance des modèles dépend moins de la quantité de contexte fourni que de la précision avec laquelle ce contexte est structuré. Cet article a pour objectif de partager mes apprentissages en matière de gestion du contexte, considéré comme une ressource limitée. Il s'agit de décider quelles informations inclure ou exclure et comment structurer ces données pour que les agents restent cohérents, efficaces et fiables sur la durée.
Ingénierie du contexte
L'ingénierie du contexte consiste à fournir les informations, outils et formats adéquats à un modèle de langage de grande taille (LLM) pour accomplir une tâche spécifique. Une ingénierie du contexte réussie implique de déterminer le plus petit ensemble de tokens à fort signal, maximisant ainsi la probabilité que le LLM produise un résultat de qualité.
En pratique, cela se traduit généralement par quatre actions principales :
- Décharger les informations vers des systèmes externes, permettant ainsi au modèle de ne pas tout gérer en interne.
- Récupérer dynamiquement les informations nécessaires plutôt que de tout précharger.
- Isoler le contexte pour éviter que les sous-tâches ne se contaminent mutuellement.
- Réduire l'historique de manière à conserver uniquement ce qui sera utile pour l'avenir.
Un problème fréquent est la pollution du contexte, où une surcharge d'informations inutiles, conflictuelles ou redondantes distrait le LLM.
Compaction du contexte
La compaction du contexte est une réponse efficace à la pollution du contexte. Lorsqu'un modèle approche de la limite de sa capacité contextuelle, il résume son contenu et ouvre une nouvelle fenêtre de contexte avec ce résumé. Cette méthode est particulièrement utile pour les tâches de longue durée, permettant au modèle de poursuivre son travail sans dégradation significative des performances.
Des recherches récentes sur le pliage de contexte proposent une alternative : les agents gèrent activement leur contexte de travail. Un agent peut se scinder pour traiter une sous-tâche, puis se replier une fois celle-ci achevée, condensant les étapes intermédiaires tout en conservant un résumé concis des résultats obtenus.
Communication entre agents
Avec l'augmentation de la complexité des tâches, les équipes se tournent vers des systèmes multi-agents. Une erreur courante est de supposer que davantage d'agents signifie plus de contexte partagé. En réalité, partager un vaste transcript entre sous-agents peut nuire à la spécialisation. Chaque agent lit alors tout, héritant des erreurs des autres et supportant le même coût contextuel à répétition.
La solution réside dans la gestion de la communication comme un transfert d'état à travers des interfaces bien définies, plutôt que comme une mémoire partagée. Pour des tâches discrètes avec des entrées et sorties claires, les agents devraient échanger des artefacts plutôt que des traces brutes.
Pénalité du cache KV
Lors de la génération de texte par les modèles IA, de nombreux calculs identiques sont souvent répétés. Le cache KV est une technique d'optimisation qui accélère ce processus en mémorisant les informations cruciales des étapes précédentes, évitant ainsi de tout recalculer.
Cependant, dans les systèmes multi-agents, si chaque agent partage le même contexte, cela surcharge le modèle avec des détails non pertinents, entraînant une pénalité de cache KV considérable. Les agents travaillant sur une même tâche doivent communiquer, mais cela ne devrait pas se faire par le partage de mémoire.
Garder l'ensemble d'outils de l'agent petit et pertinent
Le choix des outils est un problème de contexte déguisé en problème de capacité. À mesure qu'un agent accumule plus d'outils, l'espace d'action devient plus difficile à naviguer. Cela a des conséquences. Les schémas d'outils doivent être beaucoup plus distincts que la plupart des gens ne le réalisent. Les outils doivent être bien compris et avoir un chevauchement minimal dans leurs fonctionnalités.
Une bonne compaction doit donc préserver des faits qui continuent de contraindre les actions futures. Sinon, vous obtenez un résumé concis qui semble bon pour un humain mais est inutile pour un agent.
L'ingénierie du contexte est encore en évolution, et il n'existe pas de méthode unique pour la réaliser. Si elle n'est pas bien gérée, le contexte croît, dérive et finit par s'effondrer sous son propre poids. Si elle est bien gérée, le contexte devient la différence entre un agent qui se contente de répondre et un agent capable de raisonner, de s'adapter et de rester cohérent à travers des tâches longues et complexes.

