一句话定义:智能体循环检测(Loop Detection)是在智能体(Agent)运行时,识别它是否陷入了重复且没有进展的行为模式,并及时提醒、换策略或终止的机制。
智能体的工作方式通常是「想一步、做一步、看结果」的循环:调用搜索、读文件、写代码、再根据反馈调整。正常循环会逐步逼近目标;异常循环则像在商场地下车库找车,绕了三圈还是同一根柱子。典型信号有四类:动作重复(连续多次调用同一个工具、参数几乎一样)、状态重复(环境返回的观测或短期记忆几乎不变)、无进展(错误信息、目标完成度长时间不动)、振荡(A 方案失败换 B,B 失败又换回 A)。
生活里也有对应场景:打客服电话被转回同一个语音菜单,「按 1 查话费,按 2 转人工」,按 2 又回到主菜单。智能体也会这样:搜索词换来换去但语义相同,同一段报错反复重试同一行代码,或者不停「再确认一下」却不产生新信息。
检测到之后,常见处理分几层:提示层把失败历史写回上下文,明确说「不要重复以下方案」;控制层设置重试上限、相似度阈值、步数或时间预算;执行层强制换策略,比如换工具、换检索词、降级到人工或升级到更强的推理;观测层记录轨迹并告警,方便事后复盘。
它和几个相邻概念容易混:
| 机制 | 看什么 | 何时触发 | 典型动作 |
|---|---|---|---|
| 重试(Retry) | 单次失败 | 失败后 | 原样再来,次数有限 |
| 超时(Timeout) | 耗时 | 超过预算 | 直接终止 |
| 循环检测(Loop Detection) | 行为轨迹模式 | 发现重复或无进展 | 换策略或终止 |
关键区别在于:重试是明知同样操作再试一次,循环检测处理的是「看起来每一步都在变,实际整体在原地」;死循环是程序意义上的永不终止,循环检测更多是语义层面的无效重复;超时按时间兜底,循环检测能更早从轨迹模式里发现问题。
对从业者,循环检测直接关系到 token 消耗、算力成本和任务成功率,是护栏(guardrail)的一部分;对普通职场人,用 AI 助手时如果它反复说「我再试一次」,可以主动打断,补充约束条件或换一个问法。具体阈值和实现各平台不同,以官方文档为准。
