claw-code को Elixir में पोर्ट करते हुए OTP और multi-node की खूबियों का उपयोग किया
(github.com/jidohyun)नमस्ते।
हाल ही में मैं instructkr / ultraworkers के claw-code (https://github.com/ultraworkers/claw-code) को Elixir में पोर्ट करने का एक प्रयोग कर रहा हूँ।
सिर्फ 1:1 तरीके से इसे ले जाने के बजाय,
मैं देखना चाहता था कि अगर इस तरह के agent / control-plane प्रकृति वाले प्रोजेक्ट को Elixir के अंदाज़ में बनाया जाए तो वह कैसा दिखेगा।
खास तौर पर, मैंने Elixir / BEAM की निम्नलिखित खूबियों का सक्रिय रूप से उपयोग करने की कोशिश की:
- OTP supervision
- long-running process
- daemon-first runtime
- multi-node / distributed BEAM routing
- recovery-oriented control plane
इसलिए सिर्फ commands को पोर्ट करने की दिशा में जाने के बजाय,
मैंने नीचे जैसी बातों पर ज़्यादा ज़ोर दिया:
- supervised session / workflow process
- daemon-aware routing
- cluster ownership tracking
- DETS आधारित हल्का persistence / recovery
- connected node के आधार पर failover / recovery testing
फ़िलहाल मैंने इस परिणाम को Beamwarden नाम से व्यवस्थित किया है:
https://github.com/jidohyun/beamwarden
इसे एक तैयार प्रोडक्ट कहने के बजाय,
यह ज़्यादा एक ऐसे प्रोजेक्ट के करीब है जो इस सवाल का प्रयोग करता है:
“अगर इस तरह की agent runtime/control-plane संरचना को OTP और multi-node के आधार पर फिर से बनाया जाए, तो वह कैसी होगी?”
अगर किसी की इसमें रुचि हो, तो खास तौर पर इन पहलुओं पर फीडबैक जानना चाहूँगा:
- क्या OTP boundary / supervision संरचना Elixir जैसी लगती है
- क्या multi-node routing / failover की दिशा ठीक लगती है
- क्या कहीं अनावश्यक जटिलता है
- अगर इस तरह के सिस्टम को Elixir-native तरीके से बनाया जाए, तो आप कैसे approach करेंगे
फीडबैक और आलोचना, दोनों का स्वागत है।
3 टिप्पणियां
एक छात्र के तौर पर लगता है कि वे "Elixir में port करके देखने का प्रयोग" कर रहे हैं। जितने ज़्यादा प्रयास किए जा सकें, उतना अच्छा है।
javascript/node, या python ही हर जगह भरे पड़े इस दौर में Elixir में करके देखना ताज़गीभरा है।
बहुत पहले जब मैंने पहली बार Erlang को जाना था, तब गहराई से प्रभावित हुआ था — यह याद आ गया।
बौद्धिक जिज्ञासा अच्छी बात है, लेकिन बौद्धिक संपदा अधिकारों को अनदेखा करना शर्मनाक है। Kian84 कहता है: मैं तुम्हें बस 2 साल देता हूँ। देखना भी नहीं चाहता था, लेकिन बिना जाने आकर देख लिया, वही गलती थी। हाय।
सच में समझ नहीं आ रहा कि यह कितनी शर्म की बात है... अगर उसे भी काबिलियत कहें, तो वह भी एक काबिलियत ही है...