Regras de automação
Roteie rastros de agente recebidos automaticamente com regras de filtro, amostragem e ações. O Potato executa cada regra sobre todo rastro que chega para enviá-lo à fila de anotação, curá-lo em um conjunto de dados, executar um avaliador, disparar um webhook ou notificar anotadores.
As regras de automação fecham o ciclo entre produção e avaliação: um pipeline programável de filter → sampling rate → actions roda sobre cada item que entra no Potato, seja ele carregado de arquivos de dados ou ingerido em tempo de execução via webhook de rastros ou SDK de tracing. Cada regra correspondente pode enviar o item à fila de anotação, curá-lo em um conjunto de dados de avaliação, executar um avaliador, disparar um webhook de saída ou notificar anotadores.
Habilitando
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 uma regra dispara
Uma regra dispara quando ambas as condições valem:
whencorresponde — a gramática de condições compartilhada (a mesma da triagem):equals,in,contains,exists,lt/lte/gt/gte, caminhos de campo com ponto (metadata.score). Uma lista de condições é combinada com AND; umwhenvazio corresponde a tudo.sample_rateo seleciona — amostragem determinística sobre um hash de(id do item, nome da regra), de modo que reprocessar o mesmo item produz a mesma decisão (idempotente, seguro para replay).
Ações
| Ação | Quando executa | Efeito |
|---|---|---|
add_to_queue | inline (rápida) | Eleva a prioridade de triagem do item para que ele apareça primeiro |
add_to_dataset | inline (rápida) | Acrescenta o item como exemplo a um conjunto de dados |
notify | inline (rápida) | Notifica os anotadores conectados via SSE |
run_evaluator | worker em segundo plano | Pontua o item com um avaliador; armazena a pontuação no item |
fire_webhook | worker em segundo plano | Faz POST de {rule, item_id, item_data} para uma URL externa |
As ações rápidas executam inline no caminho de ingestão. As ações pesadas (run_evaluator, fire_webhook) vão para um worker em segundo plano, então a ingestão nunca espera por uma chamada externa. Toda ação registra um resultado, e as falhas são capturadas em vez de propagadas, de forma que uma regra defeituosa não consegue quebrar a ingestão.
Inspecionando
O painel de administração inclui um link para Automation (/admin/automation), que mostra as regras configuradas, contadores de atividade e os resultados recentes das ações (também disponíveis como JSON em /admin/automation/status e /admin/automation/outcomes).
Relacionados
- Referência completa no Read the Docs — todos os tipos de ação e a gramática de condições, na versão correspondente
- Conjuntos de dados e experimentos — destinos de
add_to_dataset - Avaliadores programáticos —
run_evaluator - Fila de triagem — compartilha a gramática de condições
- SDK de tracing — uma fonte de rastros recebidos