Excellent article de Manus sur la manière de créer un système agentique performant.
1/ Utiliser un maximum le cache des modèles
Le début du prompt doit toujours être le même et le résultat de chaque itération doit être ajouté à la fin.
Le début du prompt sera caché ce qui réduit les coûts (x10 chez Anthropic) et la latence.
2/ Toujours garder la même liste d'outils
Si on change la liste d'outils disponible, le LLM peut se "perdre" car il verra dans son historique des outils utilisés sans les voir dans la liste des outils disponibles.
Pour limiter la liste des outils disponible, il vaut mieux contraindre la génération à choisir uniquement parmi une liste dynamique (avec la Structured Generation)
3/ Ne pas encombrer le contexte inutilement
La "compression" du contexte amène toujours à des baisses de performance alors il faut éviter de conserver des documents entiers dans le contexte mais plutôt garder seulement l'observation en découlant et le chemin pour le relire au cas ou.
4/ Répéter les instructions
Si l'on conserve des instructions importantes (comme la liste des tâches) au début du contexte, le LLM aura tendance à les "oublier".
Pour éviter ça, il ne faut pas hésiter à les répéter au fur et à mesure de la progression.
5/ Conserver les erreurs de jugement
Il faut aussi conserver les erreurs qu'à fait l'agent afin de lui permettre de ne pas les reproduire.
6/ Attention au few-shot prompting
Donner des exemples des actions à réaliser dans le prompt de l'agent peut l'amener à les confondre avec de véritables actions qu'il aurait lui même réalisé.