Skip to content

قواعد الأتمتة

وجِّه مسارات الوكلاء الواردة تلقائيًا بقواعد ترشيح وأخذ عينات وإجراءات. يشغّل Potato كل قاعدة على كل مسار وارد لتوجيهه إلى قائمة التعليق، أو ضمّه إلى مجموعة بيانات، أو تشغيل مُقيِّم، أو إطلاق webhook، أو إشعار المُعلِّقين.

تُغلق قواعد الأتمتة الحلقة من الإنتاج إلى التقييم: خطّ معالجة قابل للبرمجة filter → sampling rate → actions يعمل على كل عنصر يدخل Potato، سواء حُمِّل من ملفات البيانات أو استُوعب أثناء التشغيل عبر webhook المسارات أو SDK التتبّع. يمكن لكل قاعدة مطابِقة أن توجّه العنصر إلى قائمة التعليق، أو تضمّه إلى مجموعة بيانات تقييم، أو تشغّل مُقيِّمًا، أو تطلق webhook صادرًا، أو تُشعر المُعلِّقين.

التفعيل

yaml
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"}

متى تنطلق القاعدة

تنطلق القاعدة عندما يتحقق الشرطان معًا:

  1. مطابقة when — قواعد الشروط المشتركة (نفسها المستخدمة في الفرز): equals وin وcontains وexists وlt/lte/gt/gte، ومسارات الحقول المنقّطة (metadata.score). قائمة الشروط تُجمَع بمنطق AND، وwhen الفارغ يطابق كل شيء.
  2. اختيار 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).

مواضيع ذات صلة