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
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:
whencorrisponde — 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; unwhenvuoto corrisponde a tutto.sample_ratela 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
| Azione | Quando viene eseguita | Effetto |
|---|---|---|
add_to_queue | inline (veloce) | Aumenta la priorità di triage dell'elemento perché emerga per primo |
add_to_dataset | inline (veloce) | Aggiunge l'elemento come esempio a un dataset |
notify | inline (veloce) | Notifica gli annotatori connessi via SSE |
run_evaluator | worker in background | Assegna un punteggio all'elemento con un valutatore; il punteggio viene memorizzato sull'elemento |
fire_webhook | worker in background | Esegue 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
- Riferimento completo su Read the Docs — tutti i tipi di azione e la grammatica di condizioni, allineato alla versione
- Dataset ed esperimenti — le destinazioni di
add_to_dataset - Valutatori programmatici —
run_evaluator - Coda di triage — condivide la grammatica di condizioni
- SDK di tracciamento — una sorgente di tracce in ingresso