SuperAPI AI 工具集

behavioral-loop-detection

智能体与模型

查看项目

更新于 10-16 02:36

技能介绍

用途:检测智能体是否陷入重复动作循环,在浪费 token 或阻塞进度前进行干预。适用于浏览器自动化、文件编辑、API 调用或多步编排等任意智能体场景。

主要能力:维护最近20个动作的滚动缓冲区(FIFO),每条记录包含 { toolName, normalizedArgs, timestamp, stepIndex }。动作归一化规则按顺序执行:转小写、路径取 basename、移除时间戳/UUID/数字 ID、对象键按字母排序、截断至200字符。相似判定:toolName 相同且归一化参数的 Jaccard 相似度 ≥ 0.75。

升级干预阶梯(累积触发):连续3次相似动作触发 REPLAN 提示;5次触发 EXPLORE 提示;8次触发 FORCE-DONE,要求以部分结果标记任务完成并说明未完成部分。FORCE-DONE 后调用 TaskUpdate({ status: 'completed', metadata: { partial: true, loopDetected: true } })。

使用方式:通过 Skill({ skill: 'behavioral-loop-detection' }) 调用;加载时初始化缓冲区,执行工具调用前记录动作并检查相似度,再按 runLength 应用升级规则。

适用场景:任务运行超过10步无明确进展、同一工具被重复以相似参数调用、长时间无 TaskUpdate(completed) 等。集成点包括 master-orchestrator、developer、qa、planner。

限制与约束:缓冲区不得每次工具调用都重置;仅在出现根本不同的工具/动作类型时重置,参数变化不重置;level 小于3不得强制完成;不得比较未归一化的原始参数;toolName 不同时不应跳过相似度检查。输入输出受 schemas 校验,pre-execute/post-execute 钩子分别验证 taskId 并写入事件日志。检测到循环强制完成后需按记忆协议写入 .claude/context/memory/learnings.md,同一会话强制完成超过两次时写入 issues.md。