L'ingénierie du contexte est importante pour deux raisons : la fiabilité et le coût. Si la fenêtre contextuelle de votre agent est pleine de bruit, la qualité du raisonnement diminue et vous payez pour des jetons qui n'aident en rien. Et l’une des plus grandes sources de ce bruit ? Résultats de l'outil.
Les requêtes HTTP, les lecteurs de fichiers, les clients API et les requêtes de base de données peuvent renvoyer des résultats très contextuels. Lorsque ces résultats d’outils verbeux entrent dans la conversation, ils peuvent évincer d’autres contextes et brûler rapidement des jetons.
Vous avez besoin d'un moyen de tronquer les résultats de l'outil et d'introduire le contexte complet de ce résultat de l'outil uniquement lorsque cela est nécessaire. Heureusement, Strands Agents vient de publier quelque chose qui fait cela automatiquement pour vous.
Strands Agents vient de livrer le plugin ContextOffloader. Il est disponible dans les SDK TypeScript et Python. Cela empêche les résultats d'outils volumineux de consommer automatiquement la fenêtre contextuelle de votre agent. Lorsqu'un outil renvoie un résultat qui dépasse un seuil de jeton configurable, le plugin stocke chaque bloc de contenu individuellement dans un backend de stockage externe et le remplace dans la conversation par un aperçu tronqué ainsi que des références par bloc. Chaque résultat déchargé comprend des conseils en ligne indiquant à l'agent d'utiliser ses outils disponibles pour accéder de manière sélective aux données dont il a besoin.
Vous utilisez peut-être déjà des gestionnaires de conversation pour la gestion du contexte, qui empêchent votre conversation globale de dépasser les limites du contexte du modèle en coupant ou en résumant les messages plus anciens lorsque la fenêtre se remplit. Cela résout le problème macro consistant ...
[Courte citation de 8% de l'article original]