قواعد الأتمتة
وجِّه مسارات الوكلاء الواردة تلقائيًا بقواعد ترشيح وأخذ عينات وإجراءات. يشغّل Potato كل قاعدة على كل مسار وارد لتوجيهه إلى قائمة التعليق، أو ضمّه إلى مجموعة بيانات، أو تشغيل مُقيِّم، أو إطلاق webhook، أو إشعار المُعلِّقين.
تُغلق قواعد الأتمتة الحلقة من الإنتاج إلى التقييم: خطّ معالجة قابل للبرمجة filter → sampling rate → actions يعمل على كل عنصر يدخل Potato، سواء حُمِّل من ملفات البيانات أو استُوعب أثناء التشغيل عبر webhook المسارات أو SDK التتبّع. يمكن لكل قاعدة مطابِقة أن توجّه العنصر إلى قائمة التعليق، أو تضمّه إلى مجموعة بيانات تقييم، أو تشغّل مُقيِّمًا، أو تطلق webhook صادرًا، أو تُشعر المُعلِّقين.
التفعيل
automation:
enabled: true
rules:
- name: route-errors
when: {field: status, in: [error, failed]}
sample_rate: 1.0 # 0.0–1.0 (default 1.0 = every match)
actions:
- {type: add_to_queue, priority: 100, reason: "Agent errored"}
- {type: add_to_dataset, dataset: errors-to-fix}
- {type: run_evaluator, evaluator: trajectory_match}
- {type: fire_webhook, url: "https://example.com/hook"}
- {type: notify, message: "New error trace"}متى تنطلق القاعدة
تنطلق القاعدة عندما يتحقق الشرطان معًا:
- مطابقة
when— قواعد الشروط المشتركة (نفسها المستخدمة في الفرز):equalsوinوcontainsوexistsوlt/lte/gt/gte، ومسارات الحقول المنقّطة (metadata.score). قائمة الشروط تُجمَع بمنطق AND، وwhenالفارغ يطابق كل شيء. - اختيار
sample_rateله — أخذ عينات حتمي مبني على تجزئة(item id, rule name)، فإعادة معالجة العنصر نفسه تُنتج القرار نفسه (idempotent وآمن عند إعادة التشغيل).
الإجراءات
| الإجراء | متى يعمل | الأثر |
|---|---|---|
add_to_queue | ضمن مسار الاستيعاب (سريع) | رفع أولوية فرز العنصر ليظهر أولًا |
add_to_dataset | ضمن مسار الاستيعاب (سريع) | إلحاق العنصر كمثال بمجموعة بيانات |
notify | ضمن مسار الاستيعاب (سريع) | إشعار المُعلِّقين المتصلين عبر SSE |
run_evaluator | عامل في الخلفية | تقييم العنصر بمُقيِّم وتخزين الدرجة على العنصر |
fire_webhook | عامل في الخلفية | إرسال POST بمحتوى {rule, item_id, item_data} إلى عنوان خارجي |
تعمل الإجراءات السريعة مباشرة داخل مسار الاستيعاب. أما الإجراءات الثقيلة (run_evaluator وfire_webhook) فتذهب إلى عامل في الخلفية، فلا ينتظر الاستيعاب أبدًا استدعاءً خارجيًا. يسجّل كل إجراء نتيجته، وتُلتقط الإخفاقات بدل أن تُرمى، فلا يمكن لقاعدة سيئة أن تعطّل الاستيعاب.
الفحص
تربط لوحة تحكم المشرف بصفحة Automation (/admin/automation) التي تعرض القواعد المضبوطة وعدّادات النشاط ونتائج الإجراءات الأخيرة (متاحة أيضًا بصيغة JSON على /admin/automation/status و/admin/automation/outcomes).
مواضيع ذات صلة
- المرجع الكامل على Read the Docs — جميع أنواع الإجراءات وقواعد الشروط، مطابق للإصدار
- مجموعات البيانات والتجارب — الوجهات التي يستهدفها
add_to_dataset - المُقيِّمات البرمجية —
run_evaluator - قائمة الفرز — تتشارك قواعد الشروط نفسها
- SDK التتبّع — مصدر للمسارات الواردة