Skip to content

自動化規則

通過過濾、取樣和動作規則自動路由進入的智慧體軌跡。Potato 會對每條進入的軌跡執行各條規則,將其路由到標註佇列、整理進資料集、執行評估器、觸發 webhook 或通知標註者。

自動化規則打通了從生產到評估的閉環:一條可程式設計的 filter → sampling rate → actions 流水線會對每個進入 Potato 的條目執行,無論條目是從資料檔案載入,還是在執行時通過軌跡 webhook追蹤 SDK 攝入。每條匹配的規則都可以將條目路由到標註佇列、整理進評估資料集、執行評估器、觸發出站 webhook,或通知標註者。

啟用

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

規則何時觸發

一條規則在兩個條件同時成立時觸發:

  1. when 匹配 —— 使用共享的條件語法(與分診相同):equalsincontainsexistslt/lte/gt/gte,以及點號欄位路徑(metadata.score)。條件列表按 AND 組合;空的 when 匹配一切。
  2. sample_rate 選中它 —— 基於 (item id, rule name) 雜湊的確定性取樣,因此重新處理同一條目會得到相同的決定(冪等、可安全重放)。

動作

動作執行時機效果
add_to_queue內聯(快速)提升條目的分診優先順序,使其優先出現
add_to_dataset內聯(快速)將條目作為示例追加到資料集
notify內聯(快速)通過 SSE 通知已連線的標註者
run_evaluator後臺工作程序用評估器為條目打分;分數儲存在條目上
fire_webhook後臺工作程序向外部 URL 以 POST 傳送 {rule, item_id, item_data}

快速動作在攝入路徑中內聯執行。重型動作(run_evaluatorfire_webhook)交給後臺工作程序,因此攝入永遠不會等待外部呼叫。每個動作都會記錄結果,失敗會被捕獲而不是丟擲,所以一條寫壞的規則不會破壞攝入。

檢視狀態

管理面板連結到 Automation/admin/automation),顯示已配置的規則、活動計數器和最近的動作結果(也可通過 /admin/automation/status/admin/automation/outcomes 以 JSON 獲取)。

相關內容