智能体工作状态监控与自动激活系统。当监控子智能体运行状态,检测到长时间无响应的“卡顿”状态时触发……
代理监视器 - 代理工作状态监视器 概览是一项面向实际任务的技能,主要用于这种技能提供代理工作状态监视器和自动激活能力 : 状态监视器 - 代理工作状态监视器 实时监视原体。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
本技能提供子 Agent 工作状态监控及自动激活能力:
使用 subagents 工具获取当前正在运行的 Agent 列表:
# 列出最近 30 分钟内运行过的 Agent subagents(action="list", recentMinutes=30)
检测逻辑如下:
lastActivity)使用 subagents 工具的 steer 动作向目标 Agent 发送激活消息:
# 向指定 Agent 发送激活消息 subagents(action="steer", target="", message="Continue working")
┌─────────────────────┐
│ 获取 Agent 列表 │
└──────────┬──────────┘
▼
┌─────────────────────┐
│ 检查每个 Agent 的 │
│ 最近活跃时间 │
└──────────┬──────────┘
▼
┌────────┐
│ >5 分钟? ├──否──┐
└────┬───┘ │
是│ │
▼ │
┌─────────────────────┐│
│ 判定为停滞状态 ││
└──────────┬──────────┘│
▼ │
┌─────────────────────┐│
│ 发送激活消息以恢复 ││
│ Agent 运行 ││
└─────────────────────┘│
│ │
└───────────┘
▼
┌─────────────────┐
│ 继续监控 │
└─────────────────┘
# 1. 获取 Agent 列表
result = subagents(action="list", recentMinutes=30)
# 2. 检查每个 Agent 的状态
for agent in result.agents:
idle_time = calculate_idle_time(agent.lastActivity)
if idle_time > 300: # 超过 5 分钟
# 3. 自动激活
subagents(action="steer", target=agent.id, message="Please continue executing the task")
# 监控指定 ID 的 Agent
agent_id = "builder-agent-001"
result = subagents(action="list", recentMinutes=10)
# 查找目标 Agent
for agent in result.agents:
if agent.id == agent_id:
if is_stalled(agent, threshold=300):
activate_agent(agent_id)
位于 scripts/monitor_agents.py,提供完整的监控功能:
# 监控并自动激活停滞的 Agent python scripts/monitor_agents.py --threshold 300 --auto-activate # 仅检测,不执行自动激活 python scripts/monitor_agents.py --threshold 300 --dry-run # 监控特定 Agent python scripts/monitor_agents.py --target agent-id-001
参数说明:
--threshold:停滞判定阈值(单位:秒),默认为 300(即 5 分钟)--auto-activate:对判定为停滞的 Agent 自动执行激活--dry-run:仅执行检测,不触发激活操作--target:指定需监控的特定 Agent ID可将监控脚本集成至 cron 定时任务中,实现持续监控:
# 每 2 分钟检查一次 */2 * * * * python /path/to/monitor_agents.py --auto-activate