원클릭으로
harness-monitor-subharness-agent
监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
| name | harness-monitor-subharness-agent |
| description | 监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发 |
| trigger_words | ["harness-monitor-subharness-agent","监控子代理","monitor-subagent","子代理状态"] |
| priority | HIGH |
| dependencies | ["harness-spawn-subharness-agent"] |
| version | v3.0.0 |
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 子代理未生成
💡 请先运行: harness-spawn-subharness-agent
使用 Read 工具读取:.EnjoyHarness/GLOBAL_STATE.md
提取 active_subagents 列表。
如果没有活跃子代理:
⚠️ 警告: 无活跃子代理
💡 请先运行: harness-spawn-subharness-agent
对于每个子代理 {task-id}:
使用 Read 工具读取:.subharness/{task-id}/STATUS.md
提取关键信息:
条件1: 错误计数熔断
检查: error_count ≥ 3
动作: 标记状态为 CIRCUIT_BREAKER_TRIGGERED
输出: "⚠️ 子代理 {task-id} 错误次数达到上限(3次),触发熔断"
条件2: Token超限熔断
检查: 已使用Token > 5000
动作: 标记状态为 TOKEN_LIMIT_EXCEEDED
输出: "⚠️ 子代理 {task-id} Token超限(>5000 tokens),终止执行"
条件3: 执行超时熔断
检查: 执行时长 > 30分钟
动作: 标记状态为 TIMEOUT_EXCEEDED
输出: "⚠️ 子代理 {task-id} 执行超时(>30分钟),终止执行"
使用 Edit 工具更新:.subharness/{task-id}/STATUS.md
如果触发熔断:
## 执行状态
- 状态: CIRCUIT_BREAKER_TRIGGERED / TOKEN_LIMIT_EXCEEDED / TIMEOUT_EXCEEDED
- 完成时间: {当前时间}
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
{当前时间} | SUBAGENT_MONITOR | harness-monitor-subharness-agent | 监控子代理 {task-id}: {状态} | {SUCCESS/WARNING}
使用 Write 工具创建文件:.EnjoyHarness/SUBAGENT_MONITOR_REPORT.md
内容:
---
generated_at: {当前时间}
total_subagents: {总数}
active: {活跃数}
completed: {完成数}
failed: {失败数}
---
# SubAgent Monitor Report
## 总体状态
- 监控时间: {当前时间}
- 子代理总数: {总数}
- 活跃中: {活跃数}
- 已完成: {完成数}
- 已失败: {失败数}
## 子代理详情
### 子代理: {task-id-1}
- 状态: {status}
- 迭代次数: {iteration_count}
- 错误次数: {error_count}
- Token消耗: {已使用} / 5000 tokens ({占比}%)
- 执行时长: {时长}分钟
- 健康状态: ✅ 正常 / ⚠️ 警告 / ❌ 异常
### 子代理: {task-id-2}
...
## 熔断触发情况
- 错误熔断: {数量}个子代理
- Token熔断: {数量}个子代理
- 超时熔断: {数量}个子代理
## 建议操作
- {具体建议,如"子代理xxx进入自动恢复流程"或"继续执行"}
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
更新子代理状态列表:
active_subagents:
- task_id: {task-id-1}
status: {status}
health: {healthy/warning/error}
- task_id: {task-id-2}
...
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: N
new_string: total_events: N+{监控事件数}
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-monitor-subharness-agent - 监控子代理技能
new_string: - [x] harness-monitor-subharness-agent - 监控子代理技能 ✅
使用 Bash 工具输出:
echo ""
echo "✅ harness-monitor-subharness-agent 完成!"
echo ""
echo "📊 监控报告:"
echo " - 子代理总数: {总数}"
echo " - 活跃中: {活跃数}"
echo " - 已完成: {完成数}"
echo " - 已失败: {失败数}"
echo ""
echo "📋 详细报告: .EnjoyHarness/SUBAGENT_MONITOR_REPORT.md"
echo ""
echo "🔒 熔断情况:"
echo " - 错误熔断: {数量}个"
echo " - Token熔断: {数量}个"
echo " - 超时熔断: {数量}个"
echo ""
echo "🎯 下一步:"
echo " - 正常: 继续执行子代理"
echo " - 异常: 运行 harness-handle-failure 处理失败"
echo ""
本技能执行预计迭代次数: 约 6 次(Read 2次 + Write 1次 + Edit 3次)
输入: 在子代理未生成时运行 期望输出: 错误提示"子代理未生成" 验证方式: 删除子代理目录后运行
输入: 执行监控技能 期望输出: 成功读取 STATUS.md 文件 验证方式: 检查监控报告中包含子代理状态
输入: 子代理 error_count ≥ 3 期望输出: 触发错误熔断,状态标记为 CIRCUIT_BREAKER_TRIGGERED 验证方式: 手动设置 error_count=3 后运行
输入: 子代理已使用Token > 5000 期望输出: 触发Token熔断,状态标记为 TOKEN_LIMIT_EXCEEDED 验证方式: 手动设置 Token=5500 后运行
输入: 子代理执行时长 > 30分钟 期望输出: 触发超时熔断,状态标记为 TIMEOUT_EXCEEDED 验证方式: 手动修改 started_at 时间为31分钟前
输入: 运行监控技能
期望输出: 生成 SUBAGENT_MONITOR_REPORT.md 文件
验证方式: ls .EnjoyHarness/SUBAGENT_MONITOR_REPORT.md
输入: 读取 GLOBAL_STATE.md
期望输出: active_subagents 包含最新的状态信息
验证方式: grep "health" .EnjoyHarness/GLOBAL_STATE.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 SUBAGENT_MONITOR 事件
验证方式: grep "SUBAGENT_MONITOR" .EnjoyHarness/EVENT_LOG.md
节点完成率 = 已完成节点数 / 总节点数
示例: 5/10节点完成 → 50%进度
状态: IN_PROGRESS
Token消耗率 = 已使用Token / 5000
示例: 2000/5000 → 40%消耗
健康状态:
- < 70%: ✅ 正常
- 70-90%: ⚠️ 警告
- > 90%: ❌ 危险
错误率 = error_count / 3
示例: 2/3 → 67%错误率
健康状态:
- 0次: ✅ 健康
- 1-2次: ⚠️ 警告
- ≥3次: ❌ 触发熔断
时长占比 = 执行时长 / 30分钟
示例: 15分钟 → 50%时长
健康状态:
- < 20分钟: ✅ 正常
- 20-25分钟: ⚠️ 警告
- > 25分钟: ⚠️ 即将超时
- > 30分钟: ❌ 触发熔断
频率: 每5分钟监控一次
触发条件: 子代理状态为 IN_PROGRESS
动作: Read STATUS.md → 检查熔断 → 更新报告
触发条件: 子代理写入事件到 EVENT_LOG.md
动作: Read EVENT_LOG → 检测到完成/失败事件 → 立即监控
触发条件: 子代理到达关键节点(如测试运行前)
动作: Read STATUS.md → 检查健康状态 → 决定是否继续
子代理: feature-20260328-110000
状态: IN_PROGRESS
进度: 5/10节点完成(50%)
Token: 2000/5000(40%)
错误: 0次
时长: 10分钟
健康状态: ✅ 正常
建议: 继续执行
子代理1: feature-20260328-110000
状态: IN_PROGRESS
健康状态: ✅ 正常
子代理2: fix-20260328-110500
状态: COMPLETED
健康状态: ✅ 完成
子代理3: refactor-20260328-111000
状态: CIRCUIT_BREAKER_TRIGGERED
健康状态: ❌ 错误次数≥3
监控结果: 1个正常,1个完成,1个异常
建议: 对子代理3运行 harness-handle-failure
子代理: feature-20260328-110000
错误计数: 3次
触发熔断: ✅
自动动作:
1. 标记状态: CIRCUIT_BREAKER_TRIGGERED
2. 记录事件: EVENT_LOG.md
3. 触发技能: harness-handle-failure
4. 输出警告: "子代理错误次数达到上限,进入自动失败处理"
harness-spawn-subharness-agent(生成子代理)
↓
harness-monitor-subharness-agent(监控子代理)
↓
判断:
- 正常 → 继续执行
- 完成 → harness-merge-subharness-result
- 异常 → harness-handle-failure
阶段1: 生成子代理
- harness-spawn-subharness-agent → 生成子代理A和B
阶段2: 监控子代理
- harness-monitor-subharness-agent → 监控A和B的执行状态
阶段3a: 正常完成
- A完成 → harness-merge-subharness-result(合并A的结果)
- B完成 → harness-merge-subharness-result(合并B的结果)
阶段3b: 异常处理
- A错误≥3次 → harness-handle-failure(处理A的失败)
- B Token超限 → harness-handle-failure(处理B的超限)