用途
本技能用于解释 Elasticsearch 机器学习(ML)异常检测的分数、模型行为以及结果为何呈现某种形态。当用户询问“为什么这个分数高/低”“模型是怎么判断的”“这个异常记录怎么解读”时,使用本技能。它专注于解释与诊断,不负责作业生命周期管理(创建、启动、停止请使用 elasticsearch-anomaly-detection 技能)。
主要能力
- 解释异常记录中的 record_score、initial_record_score、actual、typical、function 等字段。
- 识别并解释重归一化(renormalization):当 initial_record_score 远大于 record_score 时,说明后续出现了更极端的异常,导致该记录分数被下调,这是健康的模型行为。
- 区分缺失/下降异常与尖峰异常:low_count、count、low_mean 下 actual 远低于 typical 属于合法的缺失检测,应作为真实事件调查,而非误报。
- 读取 anomaly_score_explanation 中的各因素(anomaly_length、single_bucket_impact、multi_bucket_impact、anomaly_characteristics_impact、high_variance_penalty、incomplete_bucket_penalty),仅引用记录中实际存在的因素。
- 可选地量化整个作业的重归一化漂移:按时间排序记录,计算 score_drift = initial_record_score − record_score,筛选 |score_drift| ≥ 20 的记录。
- 在用户追问原因时,补充模型边界(model_plot)、影响实体(influencer)和分类模式(category_definition)等上下文。
使用方式
本技能通过 elastic CLI 执行 Elasticsearch 操作,不直接调用 HTTP API。若未安装 elastic CLI,应告知用户其用途,不得猜测凭据或尝试其他变通方法。
典型流程:
- 判断是获取数据还是直接解释用户提供的记录。若记录已包含 record_score、initial_record_score、actual、typical、function,则直接解释,不重复调用 API。
- 调用集群时先验证连通性:GET /(对应 elastic es info)。失败则停止并报告连接错误。
- 解析作业 ID 并加载配置:GET /_ml/anomaly_detectors 列出候选;GET /_ml/anomaly_detectors/{job_id} 获取 analysis_config;GET /_ml/anomaly_detectors/{job_id}/_stats 获取状态与内存信息。
- 检索异常记录:POST /.ml-anomalies-*/_search,result_type: record,指定作业 ID、时间范围和可选的 record_score 过滤。
- 分类分数模式后再推测原因。
- 按需查询 model_plot、influencer、category_definition。
常用多步工作流包括:解释特定异常、分析分数为何低、分析分数为何高、重归一化漂移、哪些实体贡献最大、可视化模型边界、分类作业模式。
适用场景
- 用户提供异常记录或作业配置,希望理解分数含义。
- 用户询问某个异常分数为何异常高或低。
- 用户怀疑高分是误报,需要判断是否为合法的缺失/下降检测。
- 用户想找出贡献最大的实体或查看模型边界。
- 用户想列出被大幅重归一化下调的记录。
限制
- 自管理集群上的 ML 异常检测需要 Platinum 级等效许可;Serverless 项目已包含 ML。调用者需要 monitor_ml 权限读取作业配置和异常结果。
- 在 Elastic Serverless 中,_ml/.../results/* REST 端点返回 HTTP 410,必须使用 POST /.ml-anomalies-*/_search 查询结果。
- 不得编造分数、时间戳、实体值或解释因素;记录中缺失的字段应说明未返回,不得断言。
- 当 high_variance_penalty 或 incomplete_bucket_penalty 为 false 或缺失时,不得将低分归因于它们。
- 作业健康问题(如缺失文档、内存限制、datafeed 未运行)应使用 elasticsearch-anomaly-detection 技能。
- 聚合、跨作业查询、桶级结果或自定义过滤等超出分数与时间范围的查询,需参考 references/explainer-reference.md。