config-evals

Par n8n-io · n8n

Crée et maintient des évaluations basées sur la configuration d'un workflow à l'aide de l'outil eval-config. À utiliser lorsque l'utilisateur demande à configurer, ajouter, consulter, modifier ou supprimer une évaluation, un score, une note ou un juge sur la sortie d'un workflow, ou à mesurer la qualité des réponses par rapport à un jeu de données de test. Il s'agit de la seule forme d'évaluation gérée par Instance AI — elle ne concerne pas les nœuds d'évaluation présents sur le canvas.

npx skills add https://github.com/n8n-io/n8n --skill config-evals

Évaluations basées sur la configuration

Utilisez cette skill pour attacher une évaluation basée sur la configuration à un workflow avec l'outil eval-config. Une config eval associe un workflow à un nom, un nœud de départ, un nœud de fin, une ou plusieurs métriques jugées, et un dataset Data Table. Rien n'est ajouté au canvas — la config existe hors-canvas via l'API evaluation-config.

Les config evals sont la seule forme d'évaluation avec laquelle vous travaillez. N'ajoutez pas, ne lisez pas, ne recâblez pas, et ne raisonnez pas sur les nœuds d'évaluation sur le canvas (EvaluationTrigger, Evaluation/checkIfEvaluating/setOutputs/setMetrics). Si l'utilisateur en demande, construisez une config eval à la place et dites brièvement que c'est ainsi que vous configurez les évaluations.

Ce qu'une Config Eval nécessite

  • name — un nom d'évaluation lisible par un humain.
  • startNodeName — le nœud où une exécution commence ; il reçoit une ligne test-input.
  • endNodeName — le nœud dont la sortie est jugée.
  • dataTableId — une Data Table contenant le dataset de test. Créez-la et remplissez-la avec l'outil data-tables d'abord, puis liez-la ici par id.
  • metrics — une ou plusieurs métriques jugées (voir ci-dessous).

Procédure par défaut

  1. Identifiez le workflow cible et lisez-le. Tracez le chemin principal du trigger au nœud qui produit la réponse.
  2. Choisissez les nœuds :
    • startNodeName est normalement le nœud qui reçoit l'input que le dataset fait varier (souvent le trigger ou le premier nœud après).
    • endNodeName est le nœud dont vous voulez que la sortie soit notée (généralement l'agent IA ou le nœud de réponse finale).
  3. Résolvez le dataset. Appelez data-tables(action="list") pour trouver un dataset existant, ou créez et préparez un avec data-tables avant de créer la config. N'inventez jamais un dataTableId ; utilisez un retourné par data-tables.
  4. Choisissez les métriques et construisez les expressions actualAnswer / expectedAnswer / userQuery (voir Métriques).
  5. Appelez eval-config (action="create"), ou update pour modifier une config existante. L'outil affiche une carte d'approbation automatiquement — appelez-la et respectez le résultat ; ne demandez pas d'approbation chat d'abord.
  6. Terminez avec les faits : nom de l'évaluation, workflow, nœuds de départ/fin, nom et id du dataset, et les métriques configurées.

Métriques

Chaque métrique est jugée par LLM et nécessite un modèle juge : un credentialId, un model, et un outputType (numeric par défaut, ou boolean). Réutilisez une credential LLM que le workflow utilise déjà quand elle convient.

Ne réglez pas provider sauf si vous connaissez le type de nœud chat-model exact — il est dérivé automatiquement de la credential que vous passez (chaque type de credential mappe à un provider). Choisissez simplement la credential et le model.

Deux presets sont disponibles :

  • correctness — compare la réponse produite à une réponse de référence. Nécessite expectedAnswer (une expression n8n se résolvant à la valeur de référence, typiquement une colonne dataset, p. ex. {{ $json.expected_output }}).
  • helpfulness — juge la réponse produite par rapport à la requête de l'utilisateur. Nécessite userQuery (une expression n8n pour l'input que l'utilisateur a demandé, p. ex. {{ $json.input }}).

Chaque métrique nécessite aussi actualAnswer : une expression n8n se résolvant à la réponse produite par le workflow au nœud de fin, p. ex. {{ $json.output }}.

Choisissez correctness quand le dataset a une bonne réponse connue à comparer ; choisissez helpfulness quand il n'y a pas une seule vérité absolue et la qualité est jugée par rapport à la requête. Utilisez prompt seulement pour surcharger le prompt juge par défaut.

Limite du Dataset

  • Construisez le dataset avec l'outil data-tables : une colonne pour chaque input que l'évaluation fait varier, plus une colonne de référence quand vous utilisez correctness.
  • La config ne référence le dataset que par dataTableId ; l'outil eval-config ne crée ni ne remplit les lignes. Si aucun dataset approprié n'existe, créez-en un d'abord, puis créez la config.
  • Ne réduisez pas l'évaluation pour tenir à un dataset fin — préparez le dataset pour correspondre aux métriques, ou demandez à l'utilisateur les réponses attendues.

Plus de détails

Utilisez references/config-eval-playbook.md pour les recettes d'appels d'outil, les exemples complets, et les formes de sortie.

Skills similaires