Skip to content

ऑटोमेशन नियम

आने वाली एजेंट ट्रेस को filter, sample और action नियमों से स्वचालित रूप से रूट करें। Potato हर आने वाली ट्रेस पर प्रत्येक नियम चलाता है ताकि उसे एनोटेशन क़्यू में भेजा जाए, किसी डेटासेट में संकलित किया जाए, कोई इवैल्यूएटर चलाया जाए, webhook फ़ायर किया जाए या एनोटेटरों को सूचित किया जाए।

ऑटोमेशन नियम प्रोडक्शन-से-मूल्यांकन के चक्र को पूरा करते हैं: एक प्रोग्राम-योग्य filter → sampling rate → actions पाइपलाइन Potato में प्रवेश करने वाली हर आइटम पर चलती है, चाहे वह डेटा फ़ाइलों से लोड हुई हो या रनटाइम पर trace webhook अथवा tracing SDK के ज़रिए ग्रहण की गई हो। मेल खाने वाला हर नियम आइटम को एनोटेशन क़्यू में रूट कर सकता है, उसे किसी eval डेटासेट में संकलित कर सकता है, कोई इवैल्यूएटर चला सकता है, बाहरी 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) के हैश पर निर्धारक (deterministic) सैंपलिंग, इसलिए एक ही आइटम को दोबारा प्रोसेस करने पर वही निर्णय मिलता है (idempotent, replay-सुरक्षित)।

एक्शन

एक्शनकब चलता हैप्रभाव
add_to_queueइनलाइन (तेज़)आइटम की ट्राइएज प्राथमिकता बढ़ाता है ताकि वह सबसे पहले सामने आए
add_to_datasetइनलाइन (तेज़)आइटम को उदाहरण के रूप में किसी डेटासेट में जोड़ता है
notifyइनलाइन (तेज़)जुड़े हुए एनोटेटरों को SSE के ज़रिए सूचित करता है
run_evaluatorबैकग्राउंड वर्करआइटम को किसी इवैल्यूएटर से स्कोर करता है; स्कोर आइटम पर संग्रहीत होता है
fire_webhookबैकग्राउंड वर्करकिसी बाहरी URL पर {rule, item_id, item_data} POST करता है

तेज़ एक्शन इंजेशन पथ में इनलाइन चलते हैं। भारी एक्शन (run_evaluator, fire_webhook) बैकग्राउंड वर्कर को सौंपे जाते हैं, इसलिए इंजेशन कभी किसी बाहरी कॉल का इंतज़ार नहीं करता। हर एक्शन का परिणाम दर्ज होता है, और विफलताएँ raise होने के बजाय पकड़ ली जाती हैं, इसलिए कोई ख़राब नियम इंजेशन को तोड़ नहीं सकता।

निरीक्षण

एडमिन डैशबोर्ड Automation (/admin/automation) से लिंक करता है, जो कॉन्फ़िगर किए गए नियम, गतिविधि काउंटर और हाल के एक्शन परिणाम दिखाता है (JSON के रूप में /admin/automation/status और /admin/automation/outcomes पर भी उपलब्ध)।

संबंधित