OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Tool-loop detection

这页说明书在讲一个叫“工具循环检测”的小卫士。它就像一个小闹钟,当发现你的小助手(Agent)一直在重复做同一件事、没有进展时,就会“叮铃铃”提醒它,甚至让它停下来休息一下,防止它卡住或者浪费太多时间。这个功能平时是关着的,只有在你需要的时候才打开。

五岁小孩版解释

有时候,我们的小助手可能会不小心卡在一个循环里,就像你一直绕着椅子转圈圈,停不下来。这个“工具循环检测”功能就是来帮忙解决这个问题的。它就像一个小侦探,会观察小助手最近都做了什么,如果发现它一直在重复,就会发出警报。

这个功能默认是关着的,就像玩具的开关在“关”的位置。因为如果开得太严格,可能会把一些正常的重复工作也给拦住了。所以,只有在你觉得小助手可能会卡住的时候,才需要打开它。

怎么打开和设置这个小卫士呢? 我们需要在一个叫“配置文件”的地方写一些设置。你可以把它想成是给小助手定规矩的一张纸条。

  1. 首先,打开总开关。 我们要找到 enabled 这个设置,把它从 false(关)改成 true(开)。
  2. 然后,告诉小侦探要看多久。 historySize 这个数字就像小侦探的记忆长度,比如设为 30,就是记住最近30次工具调用来分析。
  3. 接着,设定提醒和停下的门槛。 这里有三个重要的数字:
    • warningThreshold(警告门槛):比如设为 10,当重复模式达到10次时,小侦探会先小声提醒。
    • criticalThreshold(严重门槛):比如设为 20,当达到20次时,小侦探就会让重复的动作停下来。
    • globalCircuitBreakerThreshold(全局断路器门槛):这个数字要设得最大,比如 30。当所有工具加起来的总重复次数达到这个数,就像家里的总电闸跳闸一样,会暂时让小助手整体休息一下。
  4. 最后,选择小侦探要抓哪种“坏循环”。detectors(探测器)下面有三个小开关:
    • genericRepeat:抓“完全一样的重复”,就像一直说同一句话。
    • knownPollNoProgress:抓“一直检查但没变化”的循环,就像你一直看邮箱,但一直没有新邮件。
    • pingPong:抓“乒乓式来回”的循环,就像两个工具A和B被来回不停地调用。

你可以给所有小助手定一样的规矩(全局设置),也可以给某个小助手单独定规矩(代理覆盖)。 单独定的规矩会覆盖掉总的规矩。比如,你可以只给名叫“safe-runner”的小助手打开这个功能,并设定更严格的门槛。

怎么设置比较好呢?

  • 刚开始可以打开总开关 (enabled: true),其他数字先用默认的试试看。
  • 一定要记住,三个门槛数字要像上楼梯一样,一个比一个大:警告 < 严重 < 全局断路器
  • 如果发现小卫士管得太宽,把正常的工作也拦住了(这叫“误报”),你可以:
    1. warningThresholdcriticalThreshold 的门槛数字调大一点。
    2. 或者,只关掉那个惹麻烦的小侦探开关(比如关掉 pingPong)。
    3. 或者,把 historySize(记忆长度)调小一点,这样小侦探就不会看那么久以前的事了。

打开后会发生什么? 当小侦探真的发现了坏循环,它会根据严重程度来行动。先是警告和暂时阻止,如果情况越来越严重,才会完全阻止。这样既能保护你的小助手不浪费资源、不被卡住,又能让它正常完成工作。

要记住的小事情:

  • 给小助手单独定的规矩,会和总的规矩合并在一起用。
  • 如果完全没有做任何设置,这个小卫士就一直是关着的。