التسليم بين الوكلاء Handoffs
كيف يتعاون وكلاء متعددون
أحمد: "ماذا لو احتجت أكثر من وكيل؟" سارة: "سؤال ذكي! في الأنظمة الحقيقية، غالباً لديك عدة وكلاء متخصصين. المفتاح هو 'التسليم' Handoffs." أحمد: "مثل تحويل المكالمة لقسم آخر؟" سارة: "بالضبط! لكن أذكى - الوكيل الجديد يحصل على كل سياق المحادثة السابقة. لا يحتاج العميل إعادة شرح مشكلته." أحمد: "كيف يعرف الوكيل متى يسلّم؟" سارة: "هذا فن التسليم! سأعطيك إطار HAND."
🤝 إطار HAND للتسليم
**HAND = العناصر الأربعة للتسليم الناجح:** 🅷 **Handoff Trigger (محفز التسليم):** متى يجب التسليم؟ (نوع الطلب، تعقيد، صلاحيات) 🅰 **Authority (الصلاحية):** من يستطيع تنفيذ هذا الطلب؟ 🅽 **Navigation (التوجيه):** أي وكيل يستلم؟ كيف يُختار؟ 🅳 **Data (البيانات):** ما المعلومات التي تُنقل مع التسليم? **مثال:** • Trigger: "العميل يطلب استرجاع مبلغ" • Authority: "فقط وكيل المالية يستطيع" • Navigation: "transfer_to_finance_agent()" • Data: "رقم الطلب، سبب الاسترجاع، سجل المحادثة"
💡 مثال: نظام متعدد الوكلاء
**نظام خدمة عملاء:** ``` [وكيل الفرز Triage] ↓ يصنف الطلب ↓ ┌─────┼─────┐ ↓ ↓ ↓ [مبيعات][دعم][مالية] دوال التسليم: - transfer_to_sales() - transfer_to_support() - transfer_to_finance() - escalate_to_human() ``` **كل وكيل له:** • شخصية وأسلوب مختلف • أدوات متخصصة • صلاحيات محددة
📝 تصميم دالة تسليم
```python def transfer_to_support(): """ سلّم المحادثة لوكيل الدعم التقني. استخدم عندما: - العميل لديه مشكلة تقنية - تحتاج الوصول لأنظمة تقنية - المشكلة خارج نطاقك ملاحظة: سيحصل وكيل الدعم على كامل سجل المحادثة تلقائياً. """ return support_agent ``` **نقاط مهمة:** • الوصف يشرح متى تُستخدم • التسليم يشمل السياق • الوكيل الجديد يعرف من أين يبدأ
⚠️ تحديات التسليم
**1. فقدان السياق:** ❌ الوكيل الجديد لا يعرف ما حدث ✅ انقل ملخص المحادثة + القرارات السابقة **2. التسليم الزائد:** ❌ الوكلاء يتقاذفون العميل بينهم ✅ حدد شروط تسليم واضحة ولا تتداخل **3. الحلقة المغلقة:** ❌ A يسلم لـ B الذي يسلم لـ A ✅ أضف قاعدة: لا تسليم للوكيل السابق مباشرة **4. التصعيد البشري:** ❌ لا يوجد مخرج للبشر ✅ دائماً وفر escalate_to_human()
