360 Secure SkillHub
360 安全技能中心

Loop Prevention

规定同一操作最多执行 5 次,结果不理想时更换参数、工具或思路,检测到连续两次相同操作或出现“再试一次”意图时立即停止。适用于 exec 命令、工具调用、文件读写和 API 请求等可重复操作,并提供输出截断、工具调用失败和查看完整内容时的推荐命令示例及检查清单。

weidongkl
weidongkl
热度 43.74
最近更新 2026-05-11 09:59:38
分类:效率依赖:代码执行 / 读写文件应用场景:工作流

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add loop-prevention
Metadata
name
loop-prevention
description
操作循环防止规范。防止 Agent 对同一操作反复执行造成资源浪费。适用于 exec 命令、工具调用、文件读写等所有可重复操作。核心规则:同一操作最多 5 次、结果不理想换策略、检测到循环立即停止。

Loop Prevention

防止对同一操作反复执行。适用于 exec 命令、工具调用、文件读写、API 请求等所有可重复操作。

核心规则

  1. 同一操作最多 5 次 — 超限必须停止
  2. 结果不理想时换策略 — 换参数、换工具、换思路,不要重复相同操作
  3. 检测到循环倾向立即停止 — thinking 中出现"再试一次"、连续 2 次相同操作 → 停止并向用户说明

触发信号

信号 说明
连续 2 次相同或极相似的操作 循环开始
输出被截断后再次执行相同命令 截断≠失败,用重定向
thinking 中出现"再试一次"意图 自我循环预警
结果越来越差但还在继续 必须停止

正确做法

输出被截断

# ❌ 反复执行
git diff

# ✅ 重定向或限制
git diff > /tmp/out.txt && head -200 /tmp/out.txt
git diff --stat

工具调用失败

# ❌ 相同参数反复调用
tool_call(same_params)

# ✅ 换参数或换工具
tool_call(different_params)
other_tool(same_params)

需要完整内容

command > /tmp/out.txt
head -50 /tmp/out.txt    # 前段
tail -50 /tmp/out.txt    # 后段
wc -l /tmp/out.txt       # 总量

检查清单

问题 行动
这个操作执行过吗? 是 → 计数,超限则停止
上次结果不理想? 是 → 换策略
在想"再试一次"? 是 → 停止,换方法
连续 2 次操作相同? 是 → 循环信号,立即停止