أدوات مدمجة

كشف حلقات الأدوات

يمكن لـ OpenClaw منع الوكلاء من التعلق في أنماط متكررة لاستدعاء الأدوات. هذه الحماية معطّلة افتراضيًا. قم بتمكينها فقط عند الحاجة، لأنها قد تمنع استدعاءات متكررة مشروعة مع الإعدادات الصارمة.

سبب وجود هذه الميزة

  • اكتشاف تسلسلات متكررة لا تحقق أي تقدم.
  • اكتشاف حلقات عالية التردد بدون نتائج (نفس الأداة، نفس المدخلات، أخطاء متكررة).
  • اكتشاف أنماط محددة لاستدعاءات متكررة لأدوات استطلاع معروفة.

كتلة التكوين

الإعدادات الافتراضية العامة:

{
  tools: {
    loopDetection: {
      enabled: false,
      historySize: 30,
      warningThreshold: 10,
      criticalThreshold: 20,
      globalCircuitBreakerThreshold: 30,
      detectors: {
        genericRepeat: true,
        knownPollNoProgress: true,
        pingPong: true,
      },
    },
  },
}

تجاوز لكل وكيل (اختياري):

{
  agents: {
    list: [
      {
        id: "safe-runner",
        tools: {
          loopDetection: {
            enabled: true,
            warningThreshold: 8,
            criticalThreshold: 16,
          },
        },
      },
    ],
  },
}

سلوك الحقول

  • enabled: المفتاح الرئيسي. false تعني عدم إجراء أي كشف للحلقات.
  • historySize: عدد استدعاءات الأدوات الحديثة المحفوظة للتحليل.
  • warningThreshold: العتبة قبل تصنيف النمط على أنه تحذير فقط.
  • criticalThreshold: العتبة لمنع أنماط الحلقات المتكررة.
  • globalCircuitBreakerThreshold: عتبة قاطع الدائرة العام لعدم التقدم.
  • detectors.genericRepeat: يكتشف أنماط تكرار نفس الأداة + نفس المعاملات.
  • detectors.knownPollNoProgress: يكتشف أنماط الاستطلاع المعروفة التي لا يتغير فيها الحالة.
  • detectors.pingPong: يكتشف أنماط التناوب بين أداتين (بينغ-بونغ).

الإعداد الموصى به

  • ابدأ بـ enabled: true، مع بقاء الإعدادات الافتراضية دون تغيير.
  • حافظ على ترتيب العتبات كالتالي: warningThreshold < criticalThreshold < globalCircuitBreakerThreshold.
  • إذا حدثت إيجابيات كاذبة:
    • ارفع warningThreshold و/أو criticalThreshold
    • (اختياريًا) ارفع globalCircuitBreakerThreshold
    • عطّل فقط كاشف الحلقات الذي يسبب المشاكل
    • قلل historySize للحصول على سياق تاريخي أقل صرامة

السجلات والسلوك المتوقع

عند اكتشاف حلقة، يبلغ OpenClaw عن حدث حلقة ويمنع أو يخفّف دورة الأداة التالية اعتمادًا على الشدة. هذا يحمي المستخدمين من استهلاك الرموز المفرط والتوقف مع الحفاظ على الوصول الطبيعي للأدوات.

  • يُفضل التحذير والقمع المؤقت أولاً.
  • يتم التصعيد فقط عندما تتراكم أدلة متكررة.

ملاحظات

  • يتم دمج tools.loopDetection مع التجاوزات على مستوى الوكيل.
  • التكوين لكل وكيل يتجاوز أو يوسع القيم العامة بالكامل.
  • إذا لم يكن هناك تكوين، تبقى حواجز الحماية معطلة.

LobsterReactions