Skip to content

Reglas de automatización

Enruta automáticamente las trazas de agente entrantes con reglas de filtro, muestreo y acciones. Potato ejecuta cada regla sobre cada traza entrante para enviarla a la cola de anotación, curarla en un dataset, ejecutar un evaluador, disparar un webhook o notificar a los anotadores.

Las reglas de automatización cierran el ciclo de producción a evaluación: un pipeline programable filter → sampling rate → actions se ejecuta sobre cada elemento que entra en Potato, ya sea cargado desde archivos de datos o ingerido en tiempo de ejecución mediante el webhook de trazas o el SDK de tracing. Cada regla que coincide puede enviar el elemento a la cola de anotación, curarlo en un dataset de evaluación, ejecutar un evaluador, disparar un webhook saliente o notificar a los anotadores.

Activación

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

Cuándo se dispara una regla

Una regla se dispara cuando se cumplen ambas condiciones:

  1. when coincide — la gramática de condiciones compartida (la misma que en el triaje): equals, in, contains, exists, lt/lte/gt/gte, rutas de campo con puntos (metadata.score). Una lista de condiciones se combina con AND; un when vacío coincide con todo.
  2. sample_rate lo selecciona — muestreo determinista basado en un hash de (item id, rule name), de modo que reprocesar el mismo elemento produce la misma decisión (idempotente y seguro ante repeticiones).

Acciones

AcciónCuándo se ejecutaEfecto
add_to_queueen línea (rápida)Aumenta la prioridad de triaje del elemento para que aparezca primero
add_to_dataseten línea (rápida)Añade el elemento como ejemplo a un dataset
notifyen línea (rápida)Notifica a los anotadores conectados vía SSE
run_evaluatorworker en segundo planoPuntúa el elemento con un evaluador; guarda la puntuación en el elemento
fire_webhookworker en segundo planoEnvía un POST con {rule, item_id, item_data} a una URL externa

Las acciones rápidas se ejecutan en línea dentro de la ruta de ingesta. Las acciones pesadas (run_evaluator, fire_webhook) pasan a un worker en segundo plano, de modo que la ingesta nunca espera a una llamada externa. Cada acción registra un resultado, y los fallos se capturan en lugar de propagarse, así que una regla defectuosa no puede romper la ingesta.

Inspección

El panel de administración enlaza a Automation (/admin/automation), donde se muestran las reglas configuradas, contadores de actividad y los resultados recientes de las acciones (también disponibles como JSON en /admin/automation/status y /admin/automation/outcomes).

Relacionado