SuperAPI AI 工具集

run-status-monitor

数据与分析

查看项目

更新于 10-13 15:09

技能介绍

Run Status Monitor 是一个面向机器学习实验运行状态监控的技能,用于回答关于活跃运行的轻量级运维问题,同时将原始日志排除在主对话之外。

用途

该技能用于回答类似以下的问题:

  • “现在实验进行到哪里了?”
  • “有什么中间结果?”
  • “预计还要多久结束?”
  • “这个 job 是卡住了还是还在跑?”

其核心契约是:不要在对话中粘贴冗长的调度器输出或训练日志。应当探测、压缩、写入简短的状态产物,然后只汇报摘要。

主要能力

  • 保持原始日志位于原始位置或私有的 .agent/ 运行产物中。
  • 主智能体只读取生成的简短状态产物,而非原始日志。
  • 优先使用项目/私有包装命令执行服务器特定的探测。
  • 仅在汇总嘈杂状态输出否则会消耗主上下文时,才使用 sidecar-task-runner。
  • 如果运行看起来失败、停滞或在科学上异常,则在创建状态产物后路由到 result-diagnosis。

技能目录结构

<installed-skill-dir>/
├── SKILL.md
├── scripts/
│   └── run_status_probe.py
├── references/
│   └── backends.md
└── templates/
    ├── runs.yaml
    └── status.md

预期项目布局

.agent/run-status/
├── runs.yaml              # 项目本地运行监控配置,若包含主机/路径则为私有
└── raw/                   # 可选的原始探测捕获,忽略/私有

docs/ops/runs/
└── <run-id>-status.md     # 可供主智能体读取的简短状态产物

使用方式

工作流程如下:

  1. 定位项目根目录。
  2. 阅读 references/backends.md。
  3. 按以下顺序定位运行配置:
    • 用户提供的 --config
    • .agent/run-status/runs.yaml
    • docs/ops/runs.yaml
    • infra/remote-projects.yaml 加项目特定说明
  4. 当配置存在时运行探测脚本:
python3 <installed-skill-dir>/scripts/run_status_probe.py \
  --config .agent/run-status/runs.yaml \
  --run <run-id>
  1. 如果没有配置,从 templates/runs.yaml 创建一个,包含最低限度的后端字段,并只询问缺失的运行身份字段。
  2. 在回答用户之前,只读取生成的 status_artifact,不读取原始日志。
  3. 仅当状态改变了持久项目状态时,才更新 docs/ops/current-status.md 或项目记忆。

输出规则

每个面向用户的回答都应符合以下格式:

Run: <id>
State: running | pending | succeeded | failed | stale | unknown
Progress: <short>
Latest metrics: <short>
Last update: <time or unknown>
ETA: <estimate or unknown>
Risk: <short>
Artifact: <status artifact path>

升级条件

在以下情况需要升级处理:

  • 运行处于失败/停滞状态
  • 指标异常
  • 日志显示重复异常、OOM、NaN 或检查点失败
  • 由于缺少进度标记而无法估算 ETA
  • 探测命令需要网络/服务器审批

适用场景

适用于需要跟踪机器学习实验运行状态、但不希望将大量日志带入主对话上下文的场景。尤其适合多运行并行、需要快速了解进展和风险的运维式监控。

限制

该技能的原始资料未提供关于具体后端类型、支持平台、收费模式或性能保证的详细信息,这些内容暂未提供。实际使用依赖项目内配置文件的正确设置,且需要具备运行 Python 脚本的环境。