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 获取)。

相关内容