Skip to content

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

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 uma regra dispara

Uma regra dispara quando ambas as condições valem:

  1. when corresponde — 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; um when vazio corresponde a tudo.
  2. sample_rate o 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çãoQuando executaEfeito
add_to_queueinline (rápida)Eleva a prioridade de triagem do item para que ele apareça primeiro
add_to_datasetinline (rápida)Acrescenta o item como exemplo a um conjunto de dados
notifyinline (rápida)Notifica os anotadores conectados via SSE
run_evaluatorworker em segundo planoPontua o item com um avaliador; armazena a pontuação no item
fire_webhookworker em segundo planoFaz 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