وكيل الذكاء الاصطناعي الخاص بك لا يحتاج لأن يكون أكثر ذكاءً، بل يحتاج لأن يكون متماثلاً (Idempotent)

معظم وكلاء الذكاء الاصطناعي في بيئات الإنتاج لا يفشلون بسبب سوء الاستنتاج، بل يفشلون بسبب أخطاء الشبكة.

يختار النموذج الأداة الصحيحة، ويملأ التفاصيل الصحيحة، ثم يقوم بخصم المبلغ من العميل مرتين.

يحدث هذا لأن الوكلاء القادرين على الكتابة (write-capable agents) يعملون ضمن شبكات غير موثوقة.

  • تنتهي مهلة الطلبات (Requests time out).
  • تنقطع الاتصالات.
  • تقوم أطر العمل بإعادة محاولة خطوات اكتملت بالفعل.

في الوكيل المخصص للقراءة فقط (read-only agent)، تكون إعادة المحاولة مجانية. أما في الوكيل القادر على الكتابة، فإن إعادة المحاولة هي إجراء ثانٍ لا يمكن التراجع عنه.

الحل هو خاصية التماثل (Idempotency).

انظر إلى هذا الفشل الشائع:

  1. يستدعي الوكيل دالة لإرسال فاتورة.
  2. تقوم الخدمة بإنشاء الفاتورة.
  3. ينقطع الاتصال قبل وصول الاستجابة إلى الوكيل.
  4. يرى الوكيل انتهاء المهلة فيقوم بإعادة المحاولة.
  5. الآن، أصبح لديك فاتورتان.

النموذج الأكثر ذكاءً لن يحل هذه المشكلة، بل قد يجعل الأمر أسوأ من خلال كونه أكثر عدوانية في إعادة المحاولات.

يمكنك التعلم من أنظمة الدفع مثل Stripe؛ فهي تستخدم مفتاح التماثل (Idempotency-Key). يقوم الخادم بحفظ نتيجة الطلب الأول، وإذا أرسل العميل نفس المفتاح مرة أخرى، يعيد الخادم النتيجة المخزنة بدلاً من تنفيذ الإجراء للمرة الثانية.

بالنسبة لوكيل الذكاء الاصطناعي، يجب عليك اشتقاق هذا المفتاح من القصد (intent).

لا تستخدم معرفات عشوائية. استخدم بصمة (hash) لاسم الأداة ومعاملاتها المستقرة.

مثال:

  • الأداة: charge_customer
  • المعاملات: {customer_id: 42, amount: 500}
  • المفتاح: hash(tool + params)

إذا أعاد الوكيل محاولة نفس عملية الخصم تماماً، سيبقى المفتاح كما هو، وسيتعرف النظام عليه ويمنع تكرار عملية الخصم.

كلمة تحذير: جودة مفتاحك تعتمد كلياً على تعريفك للإجراء الواحد.

  • إذا قمت بتضمين طابع زمني (timestamp) في الـ hash الخاص بك، فستحصل كل إعادة محاولة على مفتاح جديد، وبذلك تفشل الحماية.
  • إذا قمت بتضمين نص الرسالة الذي كتبه نموذج لغوي كبير (LLM)، فقد يغير النموذج كلمة واحدة، مما يؤدي إلى إنشاء مفتاح جديد وإجراء مكرر.

اعتمد دائماً في المفتاح على بيانات مستقرة مثل معرفات العملاء (customer IDs) أو معرفات الفواتير (invoice IDs). استبعد أي شيء قد يغيره النموذج.

توقف عن محاولة إصلاح موثوقية الوكيل باستخدام مطالبات (prompts) أفضل.

الموثوقية تتعلق بجعل تكلفة القرار المتكرر صفراً. إذا قام وكيلك بنفس الإجراء مرتين، فلا ينبغي أن يتعطل أي شيء.

المصدر: https://dev.to/gs_sanjana_3e822112e14f8/your-ai-agent-doesnt-need-to-be-smarter-it-needs-to-be-idempotent-2736

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi