شرح قابلية استئناف الوكيل: الجلسات، والجولات، والتوقفات المؤقتة، وإعادة الاتصال في TrueForge

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
استئناف الوكيل ليس عملية واحدة. يجب أن تفرق أنظمة الإنتاج بين إعادة الاتصال بالبث، ومتابعة سير العمل المتوقف مؤقتاً، واسترداد تأثير جانبي خارجي غير مؤكد.
"الاستئناف" يخفي ثلاث مشكلات مختلفة للاسترداد
تفشل الوكلاء طويلة الأمد في أماكن أكثر من واجهات برمجة التطبيقات التقليدية التي تعتمد على الطلب والاستجابة. فقد ينقطع المتصفح بينما يستمر الخادم في العمل. وقد يتوقف سير العمل عمداً لأن شخصاً ما، أو أداة من جانب العميل، أو تدفق OAuth يحتاج إلى تقديم مدخلات. وقد تنتهي مهلة واجهة برمجة تطبيقات تابعة بعد تنفيذ تغيير. قد توصف الحالات الثلاث بأنها "استئناف"، لكنها تتطلب حالات وأدلة وقواعد أمان مختلفة.
الأول هو استرداد النقل: إعادة الاتصال ببث لا يزال يعمل دون تكرار الأحداث. والثاني هو متابعة سير العمل: إنشاء وحدة عمل جديدة تستجيب لإيقاف مؤقت مسجل. والثالث هو استرداد التأثير: تحديد ما إذا كانت العملية الخارجية قد تم تنفيذها قبل اتخاذ قرار بشأن إعادة المحاولة أو التعويض أو التوقف. إن التعامل مع هذه الأمور كآلية واحدة يخلق أخطر أنواع أخطاء الموثوقية، وهو الخطأ الذي يبدو ناجحاً بينما يقوم بتكرار أو تخطي إجراء حقيقي.

تنتهي الفروع الثلاثة عمداً بإجراءات مختلفة. فتسلسل البث يصلح الملاحظة، ومرجع الإجراء المطلوب يواصل سير العمل، ومعرف العملية يدعم المطابقة؛ واستبدال معرف بآخر يؤدي إلى تكرار أو إكمال زائف.
ابدأ بالتسلسل الهرمي لـ TrueForge
توثق TrueForge تسلسلاً هرمياً يتكون من: الوكيل ← الجلسة ← الدور ← الحدث ← التغيير (Delta). الوكيل هو تعريف قابل لإعادة الاستخدام. تمثل الجلسة قضية أو محادثة واحدة وتستمر عبر الأدوار. الدور هو دورة طلب وتنفيذ واحدة تعمل حتى تنتهي أو تتوقف مؤقتاً. تصف الأحداث ما حدث خلال ذلك الدور. تنتج بعض أحداث الرسائل تغييرات أثناء البث؛ بينما تعيد قوائم الأحداث المحفوظة الحدث المدمج بدلاً من كل جزء مباشر.
هذا التسلسل الهرمي مهم لأن كل طبقة تجيب على سؤال استرداد مختلف. يحدد تعريف الوكيل النموذج المكون والتعليمات والأدوات والحدود. توفر الجلسة استمرارية محادثة دائمة. يوفر الدور حدود تنفيذ ذات حالة نهائية. تكشف الأحداث عن الأدلة المرتبة اللازمة لإعادة بناء عرض العميل. تعمل التغييرات (Deltas) على تحسين التجربة المباشرة ولكنها ليست حقائق تجارية دائمة منفصلة.
تسمح TrueForge بتشغيل دور واحد فقط في الجلسة في كل مرة. تتسلسل الأدوار تلقائياً، لذا لا يحتاج التطبيق إلى إعادة إرسال السجل الكامل مع كل طلب. يؤدي إنشاء دور جديد بينما لا يزال آخر قيد التشغيل إلى إلغاء الدور النشط. هذا السلوك مفيد، لكنه يعني أنه يجب على واجهة المستخدم ألا تترجم كل نقرة غير صبورة إلى دور جديد دون قرار منتج صريح.
إعادة الاتصال بالنقل ليست متابعة لسير العمل
يستخدم الدور المباشر بث أحداث مرسلة من الخادم (Server-Sent Events). يحمل كل عنصر يتم بثه معرف تسلسل يمكن للعميل الاحتفاظ به. إذا انقطع الاتصال، يمكن للعميل الاشتراك مرة أخرى بعد آخر رقم تسلسلي تمت معالجته. يمكن للخادم بعد ذلك إعادة تشغيل الأحداث اللاحقة من نفس الدور الجاري. يقوم العميل الصحيح بتخزين الأحداث حسب معرف الحدث ودمج التغييرات في حدث الرسالة الأساسي الخاص بها، بحيث لا تؤدي إعادة الإرسال إلى تكرار المخرجات المرئية.
هذه هي إعادة الاتصال بالنقل. لم يتوقف الدور الأصلي لاتخاذ قرار تجاري؛ بل انقطع اتصال الشبكة فقط. قد يستمر الخادم في التنفيذ بينما يكون العميل غائباً. لذلك، تسأل واجهة المستخدم التي تعيد الاتصال: "ما هي الأحداث من هذا الدور الحالي التي لم أعرضها؟" ولا ينبغي لها إنشاء دور آخر أو إعادة إصدار تعليمات المستخدم الأصلية.
بمجرد انتهاء الدور، يمكن قراءة أحداثه المحفوظة مرة أخرى لإعادة بناء التاريخ المستقر. هذه إعادة تشغيل للأدلة، وليست إعادة تنفيذ للنموذج والأدوات. التمييز مهم لتحليل الحوادث: يجب أن ينتج نفس التسلسل المخزن نفس العرض المعاد بناؤه، ولكن محاولة تشغيل المهمة مرة أخرى قد تواجه نماذج وأدوات وبيانات اعتماد وحالة خارجية مختلفة.

يفصل الشكل بين التسلسل الهرمي الدائم وآليات التسليم. تنتمي التغييرات إلى البث المباشر ويتم دمجها في الأحداث الأساسية، بينما توفر الجلسات والأدوار المتسلسلة والحالات النهائية والأحداث المحفوظة السجل المستقر المستخدم بعد إعادة الاتصال أو إعادة التشغيل.
تُعد حالات التوقف المؤقت حالات تشغيل صريحة
يمكن أن تنتهي الجولة بإجراءات مطلوبة بدلاً من تقديم إجابة نهائية. توثق TrueForge ثلاث حالات هامة: أداة مقيدة تتطلب موافقة، أو أداة تعمل من جانب العميل تتطلب استجابة، أو خادم MCP يحتاج إلى تفويض. تحدد حالة الجولة النهائية العناصر المعلقة، ويقوم التطبيق بتلبيتها من خلال إنشاء جولة جديدة تتضمن الموافقة المطابقة، أو استجابة الأداة، أو استكمال المصادقة.
هذا هو استمرار لسير العمل، وليس إعادة اتصال بالبث. لقد تمت تسوية الجولة المتوقفة بالفعل. تحافظ الجولة التالية على الاستمرارية السببية من خلال الإشارة إلى الإجراء المعلق والربط بسجل الجلسة. يمكن للجولة الواحدة أن تظهر أكثر من عنصر معلق، بما في ذلك التوقفات المؤقتة من سلاسل عمليات الوكيل الفرعي المتوازية، لذا يجب على العملاء جمع مجموعة الإجراءات المطلوبة بالكامل بدلاً من افتراض وجود إجراء واحد فقط.
بالنسبة لتوقفات الموافقة والاستجابة، يربط حدث المصدر العنصر المعلق برسالة النموذج التي اقترحت استدعاء الأداة. يتيح هذا الرابط للتطبيق عرض اسم الأداة والوسيطات التي أنشأت نقطة التحقق للمراجع. كما أنه يشكل الأساس للتحقق من أن الاستكمال يجيب على الاستدعاء المقصود بدلاً من استدعاء مشابه له بصرياً.
بناء عقد قابلية الاستئناف
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.












.png)
.png)
.png)
.png)
.png)
.webp)
.webp)

.png)
.png)
.png)
.png)
.png)
.png)
.png)





