الوثائق

التحكّم في التدفّق

المرشِّحات، الموجِّهات، حلقات foreach والفروع المتوازية — لقيادة مسارات تنفيذ الـpipeline، مع أفضل الممارسات.

إلى جانب الوكلاء والمشغّلات، يوفّر betool عُقد تحكّم لهيكلة منطق الـpipeline.

المرشِّح (Filter)

عقدة filter بوّابة حتمية: يستمرّ التنفيذ نحو العُقد اللاحقة إذا تحقّقت شروطها، وإلا يتوقّف الفرع عندها.

التهيئة:

  • الشروط — كلٌّ منها بالشكل {الحقل، المُعامِل، القيمة}. الحقل مُحدِّد (selector) في التدفّق (exchange.intent، webhook.payload.type…)؛ والقيمة سلسلة نصية قابلة للقولبة.
  • المُجمِّع — AND (الافتراضي) أو OR بين الشروط.
  • المُعامِلات — equals / not_equals، contains / not_contains، starts_with، ends_with، regex، is_empty / is_not_empty، مقارنات عددية gt / gte / lt / lte، الانتماء إلى قائمة in / not_in (قيم مفصولة بفواصل). ويُرفَض أي مُعامِل غير معروف عند الحفظ.

الاستخدام النموذجي: إزالة الضوضاء قبل تكاليف LLM اللاحقة — تجاهل رسائل البريد التي يكون from فيها ضمن قائمة حظر، أو الـwebhooks التي يكون فيها type != "order.created".

الموجِّه (Router)

ترسل عقدة router التنفيذ نحو أحد مساراتها المُسمّاة. ويتّخذ القرارَ LLM انطلاقًا من موجِّه (prompt) توجيه ومن السياق الذي تركّبه — للتوجيه بحسب النيّة أو الفئة أو النبرة.

التهيئة:

  • الـPrompt — تعليمة التصنيف.
  • المسارات — لكل اسم مسار، الرسم البياني الفرعي المُراد تنفيذه. ويجب وصل كل مسار مُعلَن، وإلا يُرفَض النشر.
  • النموذج — إمكانية تخصيص LLM خفيف للتوجيه (tiering) للتحكّم في التكلفة وزمن الاستجابة.

للتوجيه الحتمي تمامًا (قيمة مطابقة لحقل، حالة HTTP)، فضِّل عُقد filter موضوعة بالتوازي: يكون المُسنَد عندئذٍ آليًا، لا مُفسَّرًا.

الحلقة (foreach)

تكرّر عقدة foreach على مجموعة. التهيئة:

  • items — مُحدِّد القائمة المُراد التكرار عليها.
  • as — الاسم المحلي للعنصر الحالي.
  • max — سقف التكرارات (الافتراضي 10): ما بعده، تُقتطَع القائمة ويُسجَّل الحدث.
  • collect — (اختياري) المفتاح الذي تُجمَّع فيه نتائج كل دورة.
  • max_per_minute — (اختياري) الوتيرة القصوى، لتباعد الدورات عندما يستدعي جسم الحلقة API يُقيّد معدّل الطلبات. 0 (الافتراضي) = بلا حدّ.

عند كل دورة، يُنفَّذ الرسم البياني الفرعي الداخلي على العنصر الحالي.

السقف max هو حارس التكلفة لديك: قائمة غير متوقّعة من 10 000 عنصر لن تُطلق أبدًا 10 000 تنفيذ.

التوازي (Parallel)

تنفّذ عقدة parallel عدّة رسوم بيانية فرعية بالتزامن وتنتظر انتهاءها جميعًا قبل المتابعة. مفيدة لاستعلام عدّة مصادر مستقلّة (بحث في CRM + قراءة تقويم) دون جمع أزمنة الاستجابة.

أفضل الممارسات

  • رشِّح مبكرًا. كل exchange يمرّ عبر وكيل يكلّف tokens؛ أما filter في الأعلى فلا يكلّف شيئًا.
  • حافظ على وضوح التوجيه. موجِّه بـ12 مسارًا إشارة إلى الحاجة إلى مرحلتي تصنيف بدل منطق مكثّف.
  • حُدّ من الحلقات المتداخلة. الحلقة داخل حلقة تضاعف التكاليف. فضِّل تحويل المجموعة في الأعلى.