𝗖𝗵𝗼𝗿𝗲𝗼𝗴𝗿𝗮𝗽𝗵𝗲𝗱 𝗖𝗹𝗮𝘂𝗱𝗲 𝗗𝘆𝗻𝗮𝗺𝗶𝗰 𝗪𝗼𝗿𝗸𝗳𝗹𝗼𝘄𝘀
अधिकांश AI वर्कफ़्लो ऑर्केस्ट्रेशन (orchestration) का उपयोग करते हैं। एक केंद्रीय नियंत्रक (central controller) हर कदम का निर्णय लेता है। यह टूल चुनता है, कार्य चलाता है, और परिणामों को मिलाता है। यह नियंत्रण और एक स्पष्ट मार्ग प्रदान करता है।
मेरा आर्किटेक्चर इसके बजाय कोरियोग्राफी (choreography) का उपयोग करता है।
एक कोरियोग्राफ्ड वर्कफ़्लो में, कोई भी एकल नियंत्रक सब कुछ नियंत्रित नहीं करता है। इसके बजाय, प्रत्येक व्यवहार (behavior) घटनाओं (events) पर प्रतिक्रिया करता है। प्रत्येक घटक (component) को केवल तीन चीजों को समझने की आवश्यकता होती है:
- वह अनुबंध (contract) जिसे वह मान्य (validate) करता है।
- वह घटना (event) जिसका वह अनुसरण करता है।
- वह घटना (event) जिसे वह भेजता है।
यह एक हाइब्रिड मॉडल बनाता है। आप उच्च-स्तरीय इरादे (high-level intent) के लिए ऑर्केस्ट्रेशन का उपयोग करते हैं, लेकिन निष्पादन (execution) के लिए कोरियोग्राफी का उपयोग करते हैं।
यहाँ मुख्य पैटर्न दिए गए हैं:
Classify and Act पारंपरिक प्रवाह (flows) किसी फ़ंक्शन को कॉल करने के लिए राउटर का उपयोग करते हैं। कोरियोग्राफ्ड प्रवाह घटनाओं (events) को उत्सर्जित (emit) करते हैं। एक संदेश एक वर्गीकृत इरादे (classified intent) में बदल जाता है। वह इरादा एक व्यवहार को ट्रिगर करता है। प्रत्येक चरण एक नई घटना उत्सर्जित करता है। यह सिस्टम को मॉड्यूलर बनाता है। आप प्रवाह को तोड़े बिना किसी भी चरण को बदल सकते हैं या देख सकते हैं।
Fanout and Synthesize एक एजेंट द्वारा कार्यों को विभाजित करने के बजाय, इवेंट सब्सक्रिप्शन (event subscriptions) का उपयोग करें। एक पेलोड (payload) एक साथ कई स्वतंत्र व्यवहारों को ट्रिगर कर सकता है। आप एक एजेंट से प्रकारों (types) को मान्य करवा सकते हैं, दूसरे से स्कीमा (schemas) की जांच करवा सकते हैं, और तीसरे से बेंचमार्क चला सकते हैं। सिंथेसिस (Synthesis) केवल टेक्स्ट को मिलाना नहीं है। यह यह पता लगाने के लिए एक सिमेंटिक रिडक्शन (semantic reduction) है कि कौन सा पथ सफल रहा।
Adversarial Verification पहले उत्तर पर भरोसा न करें। एक जनरेटर एक उम्मीदवार (candidate) प्रकाशित करता है। सत्यापनकर्ता (Verifiers) उस उम्मीदवार पर हमला करने के लिए उसे सब्सक्राइब करते हैं। वे कंपाइलर, सुरक्षा टेस्टर या दुर्भावनापूर्ण उपयोगकर्ताओं के रूप में कार्य करते हैं। यदि उन्हें कोई खामी मिलती है, तो वे एक काउंटर-एग्जांपल (counterexample) उत्सर्जित करते हैं। यह काउंटर-एग्जांपल एक सेल्फ-हीलिंग पाइपलाइन (self-healing pipeline) को ट्रिगर करता है।
Generate and Filter जनरेशन (Generation) सस्ता है। स्वीकृति (Acceptance) सख्त होनी चाहिए। सिस्टम कई उम्मीदवार तैयार करता है जैसे कि तेज़, सुरक्षित या न्यूनतम संस्करण। यूनिट टेस्ट और सुरक्षा नीतियों जैसे नियतात्मक गेट (deterministic gates) उन्हें फ़िल्टर करते हैं। केवल विजेता ही आगे बढ़ते हैं।
Tournament जब कोई स्पष्ट सर्वोत्तम उत्तर न हो, तो एक टूर्नामेंट चलाएं। प्रतिस्पर्धी उम्मीदवार तैयार करें और उन्हें एक रूब्रिक (rubric) के आधार पर स्कोर करें। CPU लागत, मेमोरी और सफलता दर को मापें। यह राय को माप (measurements) में बदल देता है।
Loop until Done अधिकांश प्रणालियों में, एक त्रुटि (error) प्रवाह को समाप्त कर देती है। इस मॉडल में, एक त्रुटि केवल एक और घटना है। सिस्टम विभिन्न हीलिंग चरणों (healing steps) को आज़माने के लिए त्रुटि संदर्भ (error context) का उपयोग करता है। यह पहले टाइप कन्वर्जन (type conversion), फिर सिमेंटिक रिपेयर (semantic repair), और फिर उपयोगकर्ता की सहायता का प्रयास करता है। यह कोई अंधाधुंध रीट्राई (blind retry) नहीं है। यह इरादे पर आधारित हीलिंग (intent-based healing) है क्योंकि लूप में मेमोरी होती है।
कोरियोग्राफी सिस्टम्स को विस्तारित करना, टेस्ट करना और ठीक करना आसान बनाती है। आप बस एक मौजूदा इवेंट को सब्सक्राइब करके एक नया वेरीफायर या एक नया फ़िल्टर जोड़ सकते हैं। ग्राफ बरकरार रहता है।
स्रोत: https://dev.to/fullagenticstack/choreographed-claude-dynamic-workflows-3mgi
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi