Install
openclaw skills install anti-infinite-loop-zh反无限循环守护 — 防止代理陷入重复执行循环。 使用场景:(1) 检测重复操作,(2) 强制终止条件,(3) 跟踪进度,(4) 防止资源耗尽。
openclaw skills install anti-infinite-loop-zh检测并防止浪费资源而无进展的重复执行循环。
症状:
├── 代理重复执行相同操作
├── 资源浪费(CPU、RAM、GPU)
├── 目标无进展
└── STC 飙升(情绪紧张)
class 反无限循环:
max_retries = 3 # 最大重试次数
max_steps = 10 # 每任务最大步数
max_time_seconds = 300 # 时间限制(5分钟)
progress_threshold = 0.1 # 继续所需的最小改进
action_history = [] # 历史操作
def track_action(action):
if action in action_history[-5:]: # 检测到重复
log_warning("操作重复 - 停止")
return False # 停止
action_history.append(action)
return True
def check_progress(before, after):
improvement = calculate_improvement(before, after)
if improvement < progress_threshold:
return False # 无进展 → 停止
return True
def time_exceeded():
elapsed = time.time() - start_time
if elapsed > max_time_seconds:
return True
return False
| 看门狗 | 角色 | 阈值 |
|---|---|---|
| STC | 情绪紧张 | >0.700 = 停止 |
| SYN | 操作重复 | >5次重复 = 停止 |
from anti_infinite_loop import AntiInfiniteLoop
loop_guard = AntiInfiniteLoop()
for step in range(loop_guard.max_steps):
action = decide_next_action()
if not loop_guard.track_action(action):
break # 重复操作 → 停止
result = execute(action)
if not loop_guard.check_progress(before, result):
break # 无进展 → 停止
if loop_guard.time_exceeded():
break # 超时 → 停止
| 指标 | 值 |
|---|---|
| 检测延迟 | <10ms |
| 内存开销 | <5MB |
| CPU 开销 | <1% |
| 误报率 | <0.1% |
anti-infinite-loop/
├── SKILL.md
├── scripts/
│ ├── anti_infinite_loop.py
│ ├── main.py
│ └── utils.py
├── data/
├── models/
└── tests/