RED Data Prep 把一条带逐行标签的传感器录音转成 RED 智能体所需的角色文件。RED 智能体从少量标注事件与正常运行中为每个类别学习一个原型,并把更接近事件原型而非正常原型的窗口标记出来。由于样本很少,数据准备中的若干决定会直接左右结果,且出错时通常不报错:通道在事件中变暗会成为无意义的完美特征;短于半个窗口的事件在该窗口下几乎无法检出;相邻事件共享正常上下文会让验证与测试混同;用留出事件挑选通道会高估分数。该技能把每个决定都显式呈现,并在上传前逐条检查规则。
数据输入 一条录音(CSV 或 Parquet):时间戳列、数值传感器通道、标签列。时间戳可为 epoch 秒、epoch 毫秒或 ISO 8601;抖动会被吸附到网格,间隔超过 1.5 步视为缺口并开始新分段,缺口不被填补。标签值任意,通过 --classes 指定映射,背景类在前。未映射的标签值会让脚本停止。缺失读数可以保留,由第 2 步按通道决定,第 3 步对保留的短缺失段插值。角色按第 1 步编号的事件分配:前几个事件用于训练,其后用于验证(选择设置),再后用于测试(只评分一次),测试事件可再作为交付。时间顺序很重要,所有选择只能用首个留出事件之前的数据做出。
使用流程 在 references 目录安装依赖后可依次运行四个脚本:prepare.py 完成排序、去重、网格对齐、分段、标签映射与事件编号;check_events.py 在首个留出事件之前的数据上检查各角色是否有事件、各事件类别是否有训练样本、各窗口下能否生成窗口、通道健康状态(失效、缺失率超过 1%、超长缺口、零饱和)以及通道分离度是否可迁移;build_roles.py 完成通道筛选与插值,用构建期正常行做 z-score,输出训练用的 normal.csv 与每个训练事件一个单类别文件、验证与测试事件文件(带上下文和标签)、交付文件与标签;preflight_roles.py 逐文件检查通道顺序、网格连续、数值有限、行数与跨文件不重叠等规则。最后运行 RED 智能体技能的 Path 2。
适用场景 已有长时间录音且每行带标签,标签标出若干次具名事件(故障、跳闸、打滑)与正常运行;希望 RED 智能体在事件复现时识别它,并用早期事件训练、后续事件检验;或 RED 优化/评估结果异常(某类别为 0、窗口全部无效、误报率可疑)需要核查角色文件。
不适用情形 只想在一个 CSV 上运行维护中的 RED Quick Start 包(应使用 atai-rare-event-detection-agent 的 Path 1);没有标注事件、只有正常运行(应使用异常发现,atai-anomaly-discovery-agent-data-prep);标签是覆盖整条录音的运行状态(如 fill/wash/spin,应使用 atai-operational-state-monitoring-agent-data-prep)。
限制与注意事项 智能体识别的是事件状态而非原因,标签映射应按运维需要选择。窗口应依据运维要求(部署必须捕获的最短事件)确定,而非从测试事件长度反推,以免泄漏。z-score 统计量需保留在 manifest.json 中,部署时输入须同样缩放。正常行数对原型(均值)影响不大,更多是成本旋钮。check_events.py 的警告用于阅读而非修正,它说明智能体将依赖什么(例如停泵读数为零电流)以及哪些通道的证据比看起来更弱。