دليل الوكلاء المخصصين
التثبيت والقياس وطرق الأحداث ومثال عملي والمشاكل الشائعة.
هل تستخدم إطار عمل؟
LangChain و CrewAI و LlamaIndex و Pydantic AI تقيس نفسها بنفسها باستدعاء واحد.
التثبيت
failproofai-sdk واستيرادها في Python باسم failproofai_sdk. إضافات الإطار مثل failproofai-sdk[langgraph] تثبت الإطار نفسه؛ المحولات دائماً مدرجة في العجلة الأساسية.
ربط مراقب Failproof
- لوحة التحكم
- CLI
-
انتقل إلى Admin → Keys وأنشئ مفتاحاً بصلاحية
events:add. - ربط مراقب Failproof بـ Cloud على جهاز الوكيل.
- قم بتشغيل جلسة واحدة مع القياس، ثم ابحث عن معرّفها الدقيق تحت Observe → Events.
-
انتقل إلى Observe → Sessions، اختر نفس البيئة، وافتح الأثر المعاد بناؤه.

الإعدادات
اضبط عن طريق متغير البيئة بدلاً من ذلك:
يتم صف الأحداث في الذاكرة والكتابة في الخلفية كل
flush_interval ثانية، مع كتابة نهائية عند خروج المترجم. تفقد العملية المقتولة مباشرة أي شيء لم يتم كتابته بعد.
الهوية
كل حدث ينتمي إلى جلسة ووكيل. النطاقات تملأ كليهما، لذا نادراً ما تمرر هما:session_id أو agent_id بشكل صريح لا يزال يعمل ويتفوق عليه. بدون ربط أو تمرير، يرفع الاستدعاء TypeError بدلاً من إصدار حدث قد تتجاهله Cloud بصمت.
تركب الهوية على متغيرات السياق. تتابع مهام
asyncio تلقائياً، لكن ليس الخيوط الجديدة — غلف العامل بـ failproofai_sdk.propagate() أو أحداثه تهبط بدون تعلق.فهرس الأحداث
خمسة عشر طريقة. معظمها يأتي في أزواج — تستدعي الفتاح، ثم الإغلاق، والمراقب يوقت الفجوة.
ثلاثة تقف بمفردها:
error و human_pause و human_interrupt.
كل حقل لكل طريقة
كل حقل لكل طريقة
كل طريقة تأخذ أيضاً
session_id و agent_id، والتي تملأها النطاقات لك. أي شيء يُترك كـ None يُسقط بدلاً من إرساله كـ JSON null، وكل طريقة ترجع None.الاقتران والمدة
قاعدة واحدة: أعط حدث الإغلاق نفس المعرّف مثل فاتحه. هذا ما يقرنهما، وما يسمح للمراقب بتوقيت الفجوة.
لا تمرر
duration_ms بنفسك. المراقب يقيسه، وتمريره يرفع ValueError.
الاستثناء الوحيد هو model_response، حيث أنت فقط تعرف كمون المزود الحقيقي. مرر عدداً صحيحاً من الميلي ثانية — تمرير عدد عشري يرفع، لأن العمود عدد صحيح 32 بت وسيهبط فارغاً وإلا.
الحالات الحدودية
الحالات الحدودية
- المعرّفات لا تحتاج فقط أن تكون فريدة حسب النوع لكل جلسة. استدعاء أداة وخطاف يمكنهما مشاركة واحد؛ جلستان تعمل مرة واحدة يمكنهما إعادة استخدام نفس المعرّفات بدون تصادم.
- لا تقتصر على وكيل. زوج مفتوح تحت وكيل واحد ومغلق تحت آخر لا يزال يطابق — وهي الحالة الطبيعية في الكود متعدد الوكلاء.
request_idاختياري لكن موصى به. بدونه، أحداث النموذج تقترن بالترتيب الذي تصل به، لذا استدعاءان متزامنان في نفس الوكيل يمكنهما عدم الاقتران بشكل صحيح.- زوج منقسم عبر العمليات لا يزال يطابق في Cloud، لكن المراقب لا يمكنه توقيت ذلك — لا شيء في أي عملية رأى كلا النصفين.
- بحد أقصى 10،000 فاتح ينتظرون إغلاق في وقت واحد. بعد ذلك الأقدم يُسقط، لذا تسرب لا يمكن أن ينمو بدون حد.
حقولك الخاصة
أي كلمة أساسية إضافية تمررها يتم تخزينها مع الحدث:Decimal أو set أو bytes أو كائن نموذج — يتم تخزينه كسلسلة.
هذه الأسماء الخمسة محجوزة ومرفوضة بشكل مباشر: timestamp و session_id و agent_id و type و environment.
التسليم والتحقق
- لوحة التحكم
- CLI
في Observe → Events، تحقق من وجود
agent_start أولاً و agent_end أخيراً. ثم افتح Observe → Sessions وأكّد ظهور أحداث النموذج والأداة والبشر والخطاف والخطأ بالترتيب المقصود. استخدم معرّف الجلسة كمفتاح استكشاف الأخطاء الأساسي.$FAILPROOFAI_HOME/custom-agents/events، وإلا ~/.failproofai/custom-agents/events. ملفات JSONL تثبت إصدار المراقب؛ سبول متنام يشير إلى إعدادات المراقب أو التسليم، بينما سبول فارغ يشير إلى القياس أو عمر العملية.
افحص السبول فقط عندما يكون المراقب متوقفاً. بينما يعمل، يجمع ويحذف كل دفعة في ميلي ثانية، لذا قائمة الدليل تتسابق مع المجمع وتظهر أحداث أقل بكثير مما تم إصدارها.

