Skip to content

Règles d'automatisation

Routez automatiquement les traces d'agent entrantes avec des règles de filtre, d'échantillonnage et d'actions. Potato exécute chaque règle sur chaque trace entrante pour l'envoyer dans la file d'annotation, l'ajouter à un jeu de données, lancer un évaluateur, déclencher un webhook ou notifier les annotateurs.

Les règles d'automatisation ferment la boucle entre production et évaluation : un pipeline programmable filter → sampling rate → actions s'exécute sur chaque élément qui entre dans Potato, qu'il soit chargé depuis des fichiers de données ou ingéré à l'exécution via le webhook de traces ou le SDK de traçage. Chaque règle qui correspond peut envoyer l'élément dans la file d'annotation, l'ajouter à un jeu de données d'évaluation, lancer un évaluateur, déclencher un webhook sortant ou notifier les annotateurs.

Activation

yaml
automation:
  enabled: true
  rules:
    - name: route-errors
      when: {field: status, in: [error, failed]}
      sample_rate: 1.0          # 0.0–1.0 (default 1.0 = every match)
      actions:
        - {type: add_to_queue, priority: 100, reason: "Agent errored"}
        - {type: add_to_dataset, dataset: errors-to-fix}
        - {type: run_evaluator, evaluator: trajectory_match}
        - {type: fire_webhook, url: "https://example.com/hook"}
        - {type: notify, message: "New error trace"}

Quand une règle se déclenche

Une règle se déclenche lorsque les deux conditions sont réunies :

  1. when correspond — la grammaire de conditions partagée (la même que pour le triage) : equals, in, contains, exists, lt/lte/gt/gte, chemins de champ pointés (metadata.score). Une liste de conditions est combinée par ET ; un when vide correspond à tout.
  2. sample_rate le sélectionne — échantillonnage déterministe basé sur un hachage de (item id, rule name), de sorte que retraiter le même élément produit la même décision (idempotent, sûr en cas de rejeu).

Actions

ActionMoment d'exécutionEffet
add_to_queueen ligne (rapide)Augmente la priorité de triage de l'élément pour qu'il remonte en premier
add_to_dataseten ligne (rapide)Ajoute l'élément comme exemple à un jeu de données
notifyen ligne (rapide)Notifie les annotateurs connectés via SSE
run_evaluatorworker en arrière-planNote l'élément avec un évaluateur ; stocke le score sur l'élément
fire_webhookworker en arrière-planEnvoie un POST {rule, item_id, item_data} vers une URL externe

Les actions rapides s'exécutent en ligne dans le chemin d'ingestion. Les actions lourdes (run_evaluator, fire_webhook) partent vers un worker en arrière-plan, si bien que l'ingestion n'attend jamais un appel externe. Chaque action enregistre son résultat, et les échecs sont interceptés plutôt que propagés : une règle défectueuse ne peut pas casser l'ingestion.

Inspection

Le tableau de bord d'administration renvoie vers Automation (/admin/automation), qui affiche les règles configurées, les compteurs d'activité et les résultats récents des actions (également disponibles en JSON via /admin/automation/status et /admin/automation/outcomes).

Pages liées