مهارة إعادة المحاولة مع تراجع أُسّي و jitter للنداءات الخارجية غير المستقرة
مهارة تشغيل جاهزة لوكلاء الكود (Claude Code وCursor وCodex وAntigravity) تُنظّم تحصين أي نداء خارجي غير مضمون ضد الأخطاء العابرة عبر إعادة محاولة منضبطة. المشكلة التي تعالجها شائعة ومكلفة: يفشل طلب HTTP أو استعلام قاعدة بيانات أو نشر رسالة في طابور فشلًا لحظيًا (ضغط، انقطاع شبكة، تجاوز حد معدّل)، فإمّا يستسلم الكود عند أول خطأ ويخسر عملية كان يمكن أن تنجح، أو يعيد المحاولة فورًا وبعمى فيقصف الخدمة المتعثرة ويزيدها انهيارًا. تختلف هذه المهارة جوهريًا عن مهارة تصميم Rate Limits (التي تحدّ من الطلبات الواردة إلى خدمتك) وعن مهارة تسوية Webhooks (التي تعالج رسائل فائتة): هدف هذه المهارة هو صمود المنادي (client resilience) عند نداء مورد خارجي. تفرض أربعة مبادئ: تراجع أُسّي window=min(cap, base·factor^(n-1)) يعطي الخدمة وقتًا متزايدًا للتعافي؛ وfull jitter ينتظر مدة عشوائية ضمن [0, window] لمنع «قطيع الرعد» (thundering herd) حين يعيد آلاف العملاء المحاولة في اللحظة نفسها؛ وتصنيف الأخطاء بحيث تُعاد الأخطاء العابرة (408/429/5xx/انقطاع/مهلة) فقط وتتوقف فورًا عند الأخطاء الدائمة (4xx)؛ وحدود صارمة لعدد المحاولات وللزمن الإجمالي تمنع التعليق اللانهائي. وتضيف قواعد ملزِمة: احترام ترويسة Retry-After وتقديمها على الحساب، وعدم إعادة أي عملية غير آمنة للتكرار إلا مع مفتاح تكرار (idempotency key) يمنع الازدواج، وتسجيل كل محاولة دون تسريب أسرار، وإعادة الخطأ الأصلي للأعلى بعد استنفاد المحاولات بدل ابتلاعه. مناسبة لتحصين نداءات API، وتحصيل المدفوعات بأمان، وضبط استعلامات قواعد البيانات والطوابير، وتحويل الإجراء إلى SKILL.md داخل أدوات الوكلاء.
كود منادٍ محصّن بحلقة إعادة محاولة محدودة: تصنيف صريح للأخطاء (قابل/غير قابل للإعادة)، تراجع أُسّي بسقف مع full jitter، احترام Retry-After، حدّان للمحاولات وللزمن الإجمالي، حماية idempotency للعمليات غير الآمنة، وتسجيل لكل محاولة دون أسرار — مع شرح موجز لقرارات التصنيف والحدود.