Ingénierie du Contexte pour les Agents IA : Plongée Approfondie
Optimiser le contexte, une ressource précieuse et limitée pour les agents IA
La plupart des échecs dans le monde réel ne proviennent pas de la capacité des modèles, mais de la manière dont le contexte est construit, transmis et maintenu. C'est un problème complexe, car le domaine évolue rapidement et les techniques sont encore en développement. Une grande partie de cela reste une science expérimentale, dépendant du contexte, des contraintes et de l'environnement dans lequel vous opérez.
Dans mon travail sur les systèmes multi-agents, un schéma récurrent a émergé : la performance dépend beaucoup moins de la quantité de contexte fournie à un modèle que de la manière précise dont il est façonné. Cet article vise à distiller mes apprentissages en quelque chose que vous pouvez utiliser. Il se concentre sur des principes pour gérer le contexte comme une ressource contrainte — décider quoi inclure, quoi exclure et comment structurer l'information afin que les agents restent cohérents, efficaces et fiables au fil du temps.
Ingénierie du contexte
L'ingénierie du contexte est l'art de fournir les bonnes informations, outils et formats à un LLM (modèle de langage de grande taille) pour qu'il accomplisse une tâche. Une bonne ingénierie du contexte signifie trouver le plus petit ensemble possible de tokens à fort signal qui donne au LLM la plus haute probabilité de produire un bon résultat.
En pratique, une bonne ingénierie du contexte se résume généralement à quatre actions :
- Décharger l'information vers des systèmes externes (décharge de contexte) afin que le modèle n'ait pas besoin de tout porter en interne.
- Récupérer l'information de manière dynamique au lieu de tout charger à l'avance (récupération de contexte).
- Isoler le contexte pour qu'une sous-tâche ne contamine pas une autre (isolement de contexte).
- Réduire l'historique si nécessaire, mais uniquement de manière à préserver ce dont l'agent aura encore besoin plus tard (réduction de contexte).
Un mode d'échec courant est la pollution du contexte : la présence d'une trop grande quantité d'informations inutiles, conflictuelles ou redondantes qui distrait le LLM.
Compaction du contexte
La compaction du contexte est la réponse générale à la pollution du contexte. Lorsque le modèle approche de la limite de sa fenêtre de contexte, il résume son contenu et initie une nouvelle fenêtre de contexte avec le résumé précédent. Cela est particulièrement utile pour les tâches longues afin de permettre au modèle de continuer à travailler sans trop de dégradations de performance.
Des travaux récents sur le pliage de contexte offrent une approche différente : les agents gèrent activement leur contexte de travail. Un agent peut se diviser pour gérer une sous-tâche, puis se replier une fois celle-ci terminée, en condensant les étapes intermédiaires tout en conservant un résumé concis du résultat.
Communication entre agents
À mesure que les tâches deviennent plus complexes, les équipes se tournent vers des systèmes multi-agents. L'erreur consiste à supposer que plus d'agents signifie plus de contexte partagé. En pratique, déverser un énorme transcript partagé dans chaque sous-agent crée souvent l'opposé de la spécialisation. Chaque agent lit alors tout, héritant des erreurs des autres et payant la même facture de contexte encore et encore.
La solution consiste à traiter la communication non pas comme une mémoire partagée, mais comme un transfert d'état à travers des interfaces bien définies. Pour des tâches discrètes avec des entrées et sorties claires, les agents devraient généralement communiquer par le biais d'artefacts plutôt que de traces brutes.
Pénalité du cache KV
Lorsque les modèles IA génèrent du texte, ils répètent souvent de nombreux calculs identiques. Le cache KV est une technique d'optimisation du temps d'inférence qui accélère ce processus en mémorisant des informations importantes des étapes précédentes au lieu de tout recalculer.
Cependant, dans les systèmes multi-agents, si chaque agent partage le même contexte, cela embrouille le modèle avec une multitude de détails non pertinents et entraîne une énorme pénalité de cache KV. Plusieurs agents travaillant sur la même tâche doivent communiquer entre eux, 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.
📧
Cet article vous a plu ?
Recevez les 7 meilleures actus IA chaque soir à 19h — résumées en 5 min.