Skip to content

Regole di automazione

Instrada automaticamente le tracce di agente in arrivo con regole di filtro, campionamento e azione. Potato esegue ogni regola su ciascuna traccia in ingresso per instradarla nella coda di annotazione, curarla in un dataset, eseguire un valutatore, invocare un webhook o notificare gli annotatori.

Le regole di automazione chiudono il ciclo dalla produzione alla valutazione: una pipeline programmabile filter → sampling rate → actions viene eseguita su ogni elemento che entra in Potato, sia caricato da file di dati sia acquisito a runtime tramite il webhook di traccia o l'SDK di tracciamento. Ogni regola che corrisponde può instradare l'elemento nella coda di annotazione, curarlo in un dataset di valutazione, eseguire un valutatore, invocare un webhook in uscita o notificare gli annotatori.

Attivazione

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"}

Quando scatta una regola

Una regola scatta quando valgono entrambe le condizioni:

  1. when corrisponde — la grammatica di condizioni condivisa (la stessa del triage): equals, in, contains, exists, lt/lte/gt/gte, percorsi di campo con notazione a punti (metadata.score). Un elenco di condizioni è combinato in AND; un when vuoto corrisponde a tutto.
  2. sample_rate la seleziona — campionamento deterministico su un hash di (id dell'elemento, nome della regola), così rielaborare lo stesso elemento produce la stessa decisione (idempotente, sicuro in caso di replay).

Azioni

AzioneQuando viene eseguitaEffetto
add_to_queueinline (veloce)Aumenta la priorità di triage dell'elemento perché emerga per primo
add_to_datasetinline (veloce)Aggiunge l'elemento come esempio a un dataset
notifyinline (veloce)Notifica gli annotatori connessi via SSE
run_evaluatorworker in backgroundAssegna un punteggio all'elemento con un valutatore; il punteggio viene memorizzato sull'elemento
fire_webhookworker in backgroundEsegue una POST di {rule, item_id, item_data} verso un URL esterno

Le azioni veloci vengono eseguite inline nel percorso di acquisizione. Le azioni pesanti (run_evaluator, fire_webhook) vanno a un worker in background, così l'acquisizione non attende mai una chiamata esterna. Ogni azione registra un esito e i fallimenti vengono intercettati anziché propagati, quindi una regola difettosa non può rompere l'acquisizione.

Ispezione

Il pannello di amministrazione rimanda ad Automation (/admin/automation), che mostra le regole configurate, i contatori di attività e gli esiti recenti delle azioni (disponibili anche come JSON su /admin/automation/status e /admin/automation/outcomes).

Correlati