Évaluer l'utilisation des outils et les appels de fonctions
Comment annoter et évaluer les appels d'outils et de fonctions d'un agent à travers différents formats de trace (OpenAI, Anthropic, ReAct, LangChain) avec les notations par tour de Potato.
Quand un agent appelle un outil (une recherche, une calculatrice, une API, une base de données), chaque appel est une décision que vous pouvez évaluer : était-ce le bon outil ? les arguments étaient-ils corrects ? le résultat a-t-il été bien utilisé ? L'évaluation de l'utilisation des outils transforme ces décisions en étiquettes posées étape par étape sur la trace d'un agent.
C'est le complément, fondé sur le jugement humain, aux bancs d'essai automatisés d'appel de fonctions : un appel peut être valide sur le plan syntaxique tout en étant inadapté à la tâche.
Que juger à chaque appel d'outil
- Choix de l'outil : était-ce l'outil approprié, ou aurait-il fallu en utiliser un autre (ou aucun) ?
- Arguments : les paramètres étaient-ils corrects et complets ?
- Nécessité : l'appel était-il nécessaire, ou redondant ?
- Traitement du résultat : l'agent a-t-il correctement interprété et utilisé la sortie ?
Lire les traces de n'importe quel framework
Potato convertit 13 formats de trace en une vue par étapes commune, ce qui vous permet d'évaluer l'utilisation des outils quelle que soit la façon dont l'agent a été construit : appels d'outils/de fonctions OpenAI et Anthropic, traces pensée-action-observation de ReAct, LangChain, LangFuse, et bien d'autres. Voir Annotation agentique.
Configuration de la notation par étape
Associez une notation à chaque étape (chaque appel d'outil), avec une question de suivi conditionnelle pour les échecs :
annotation_schemes:
- annotation_type: per_turn_rating
name: tool_call_correctness
description: "For each tool call, judge whether it was the right call."
target: agentic_steps
rating_type: radio
labels: ["Correct", "Wrong tool", "Wrong arguments", "Unnecessary"]
- annotation_type: text
name: notes
description: "If not correct, what should it have done?"
label_requirement:
required: falseConsidérations de qualité
- Montrez la sortie de l'outil, pas seulement l'appel ; sinon les annotateurs ne peuvent pas juger le traitement du résultat.
- Mettez en forme avec indentation le JSON des arguments et des réponses pour qu'il soit lisible (Potato le fait dans l'affichage de la trace de l'agent).
- Distinguez « mauvais outil » de « bon outil, mauvais arguments » : ils renvoient à des corrections différentes du modèle.