Guide
Tracer un agent IA : étapes, outils et coûts
Ce qu'il faut tracer dans un agent IA : chaque appel au modèle, chaque outil appelé, les étapes et les coûts. Méthode d'après Langfuse et Phoenix.
Mis à jour le
Un agent IA n'est pas une question suivie d'une réponse. Il reçoit une demande, décide d'appeler un modèle, consulte un outil, relit le résultat, puis recommence ou conclut. Si la réponse finale est mauvaise, la cause peut se trouver à la troisième étape, dans un outil qui a renvoyé une donnée périmée. Une trace d'agent doit donc montrer le déroulé complet, avec l'ordre des étapes, leur durée et leur coût. Ce guide liste ce qu'il faut tracer, et comment les outils lus le représentent.
Les quatre familles d'étapes à tracer
Langfuse décrit une trace comme un ensemble d'observations imbriquées. Il donne quatre types d'observations qui s'appliquent bien à un agent :
- L'appel au modèle : le prompt exact envoyé, la réponse, les paramètres, le nombre de tokens et la latence.
- La recherche documentaire : la requête envoyée à la base de documents, les passages renvoyés et leur ordre.
- L'appel d'outil : le nom de l'outil, les paramètres transmis, le résultat renvoyé et l'erreur éventuelle.
- La logique propre à votre code : une règle de décision, une validation, une étape de mise en forme.
Ces quatre types suffisent à reconstituer presque tous les parcours. Un appel d'outil qui échoue silencieusement se voit alors tout de suite, au lieu d'être deviné à partir de la réponse finale.
Ce qu'il faut tracer en plus
Pour un agent, trois éléments sont à ajouter à chaque étape.
- Le numéro d'étape et le parent. Une trace plate, où toutes les étapes se suivent sans lien, ne montre pas quel appel a déclenché quel outil. Langfuse décrit justement des observations imbriquées, ce qui garde ce lien.
- La durée. Chaque étape a son timing. Un agent lent vient presque toujours d'une étape précise, rarement de l'ensemble.
- Le coût par étape. Le total d'une requête d'agent agrège plusieurs appels au modèle. Sans coût par étape, il est impossible de savoir quel appel pèse le plus. Anthropic précise que le comptage de tokens est une estimation, et que ses modèles récents produisent environ 30 % de tokens en plus pour un même texte : un coût se recalcule donc à partir des tokens renvoyés, pas à partir d'une règle fixe.
Les outils qui représentent ce déroulé
Langfuse rattache les observations à une trace et enregistre pour chacune son timing, ses entrées, ses sorties et ses métadonnées. Il trace aussi l'usage et le coût par modèle, et propose des scores pour noter le résultat final ou une étape donnée.
Arize Phoenix se présente comme bâti sur OpenTelemetry, et fournit une instrumentation automatique via OpenInference. Son README cite des frameworks d'agents comme l'OpenAI Agents SDK, le Claude Agent SDK, LangGraph, CrewAI ou LlamaIndex. Une instrumentation automatique évite d'écrire chaque étape à la main, mais il faut vérifier qu'elle couvre les appels d'outils de votre propre version du framework.
Dans les deux cas, la règle est la même : ce que l'outil trace automatiquement doit être contrôlé sur un cas réel, en comparant la trace à ce qui s'est passé dans le code.
Une méthode pour écrire les traces
- Définissez les étapes avant de coder. Listez les appels au modèle, les outils et les décisions, et décidez de ce qui est tracé.
- Donnez un identifiant à chaque requête d'agent, transmis à chaque étape, pour retrouver l'ensemble d'un parcours.
- Testez sur un cas qui échoue. Une trace qui ne montre pas l'erreur d'un outil n'est pas utile. Forcez l'erreur et vérifiez qu'elle apparaît.
- Mesurez le coût total d'un parcours, et comparez-le au coût moyen d'un appel simple. Un écart important signale une boucle ou un outil appelé trop souvent.
- Limitez la profondeur. Un agent qui boucle sans fin doit être arrêté par le code, et la trace doit enregistrer l'arrêt.
Ce qu'il ne faut pas confondre
Une trace d'agent sert au diagnostic. Elle ne remplace pas une évaluation de la qualité de la réponse finale : celle-ci passe par des scores ou par un jeu de cas, décrits dans évaluer un agent IA. Elle ne remplace pas non plus une décision de conservation : chaque étape peut contenir des données personnelles, tapées par l'utilisateur ou renvoyées par un outil. Voir journaliser les conversations et le RGPD.
Pour les vocabulaires de trace, voir observabilité d'un LLM : définition. Pour les signaux à surveiller sur l'ensemble, voir six signaux à surveiller.
Questions fréquentes
Un agent se trace-t-il comme une simple requête ?
Non. Un agent enchaîne plusieurs appels au modèle et plusieurs outils, dans un ordre qui dépend des réponses précédentes. Une trace doit donc représenter ces étapes, avec leur ordre et leur durée, et non une seule entrée et une seule sortie.
Faut-il tracer les réflexions internes du modèle ?
Cette page ne le recommande pas. Elle ne traite que des entrées, sorties, outils et coûts. Le choix de conserver ou non d'autres contenus relève de la conservation des données, à valider avec votre délégué à la protection des données.
Sources
Pages consultées pour écrire cet article :