حين ينكسر

يتوقّف في منتصف المهمة ويقول إنني بلغت حدًّا

ويُسأل أيضًا بلغت حد المعدل في منتصف المهمة · انتهت حصتي في المنتصف · الوكيل توقف بسبب حد الاستخدام · جدار الشحن · استهلكت الحصة في ساعة

السبب موثّق من مزوّد أو ورقة منشورة لم يختبره benchr أول تسجيل آخر فحص

ما الذي يحدث فعلًا

التعليمة الواحدة للوكيل ليست طلبًا واحدًا، بل حلقة، والحلقة هي التي تصطدم بالحدّ، غالبًا والمهمة نصفها منجز والسياق الذي جعلها متماسكة على وشك الضياع.

لماذا

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

الإصلاح السريع

اقرأ الخطأ قبل إعادة المحاولة. الخطأ 429 مع تلميح إعادة يريد انتظارًا، وخطأ الحصة يريد عملًا أصغر، فلا تراجع مهما طال يعيد ملء رصيد.

الإصلاح الحقيقي

اجعل العمل قابلًا للاستئناف ليكلّفك الحدّ توقّفًا لا جلسة. اجعل الوكيل يكتب خطته في ملف، ويعمل وحدة واحدة في كل مرة، ويحفظ بعد كل وحدة. عندئذٍ يصير الحدّ موضع استئناف لا موضع بداية من الصفر.

خطوة خطوة

  1. حدّد أي خطأ هو: حدّ معدل، أم نفاد حصة، أم طول سياق. ثلاث مشكلات مختلفة تُقرأ كلها على أنها «توقّف».
  2. اجعل الوكيل يكتب خطته وتقدّمه في ملف داخل المستودع لا داخل المحادثة.
  3. اعمل وحدة واحدة في كل تشغيل واحفظ بين الوحدات، فيكلّف الانقطاع وحدة واحدة.
  4. خزّن البادئة الثابتة مؤقّتًا — أمر النظام وأي مرجع طويل لا يتغيّر — ليقلّ ثمن كل نداء في الحلقة.
  5. ضع حدًّا صارمًا لتكرارات أي حلقة قادرة على إعادة المحاولة، وسقف إنفاق يوقف التشغيل لا سقفًا يراسلك بعده.

إن كنت ترى خطأ من الواجهة البرمجية

مستند إلى

إلى أين يقودك هذا