360 Secure SkillHub
360 安全技能中心

反无限循环守护

通过跟踪操作历史识别重复操作,并结合进度阈值、最大步数与超时限制强制终止执行,防止代理陷入无进展循环而浪费资源。提供 Python 脚本与用法示例,具体动作决策与执行逻辑需调用方自行实现。

kofna3369
kofna3369
热度 16.25
最近更新 2026-05-18 05:56:48
分类:自动化依赖:代码执行应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add anti-infinite-loop-zh
Metadata
name
anti-infinite-loop-zh
description
反无限循环守护 — 防止代理陷入重复执行循环。 使用场景:(1) 检测重复操作,(2) 强制终止条件,(3) 跟踪进度,(4) 防止资源耗尽。
triggers
["防止无限循环","重复操作检测","循环守护","终止条件","进度跟踪"]
author
Axioma Cluster
date
2026-05-17
version
1.0.0
tags
["循环预防","代理安全","执行控制","终止","资源保护"]
status
active

反无限循环守护

检测并防止浪费资源而无进展的重复执行循环。

问题:无限循环

症状:
├── 代理重复执行相同操作
├── 资源浪费(CPU、RAM、GPU)
├── 目标无进展
└── STC 飙升(情绪紧张)

解决方案

1. 终止条件

class 反无限循环:
    max_retries = 3              # 最大重试次数
    max_steps = 10               # 每任务最大步数
    max_time_seconds = 300       # 时间限制(5分钟)
    progress_threshold = 0.1     # 继续所需的最小改进

2. 操作跟踪

action_history = []  # 历史操作

def track_action(action):
    if action in action_history[-5:]:  # 检测到重复
        log_warning("操作重复 - 停止")
        return False  # 停止
    action_history.append(action)
    return True

3. 进度跟踪

def check_progress(before, after):
    improvement = calculate_improvement(before, after)
    if improvement < progress_threshold:
        return False  # 无进展 → 停止
    return True

4. 时间强制

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/