Jarred Sumner ने Claude-powered, adversarial-review वर्कफ़्लो का उपयोग करके Bun runtime को Zig से Rust में फिर से लिखा। उन्होंने 6,778 commits के माध्यम से दस लाख से अधिक लाइनों का कोड पुश किया और 16,000 कंपाइलर एरर्स (compiler errors) को ठीक किया। इस प्रयास में 50 Claude Code वर्कफ़्लो चलाए गए, एक समय में 64 Claude agents का शिखर (peak) देखा गया, और बड़े पैमाने पर भाषा माइग्रेशन (language migrations) के लिए एक पुनरुत्पादित (reproducible) प्लेबुक छोड़ी गई।
यह रीराइट (rewrite) क्यों महत्वपूर्ण है
किसी भी ऐसे प्रोजेक्ट के लिए जो लेगेसी कोड (legacy code) या रणनीतिक भाषा परिवर्तन (strategic language move) से जूझ रहा है, "Sumner Method" एक अस्पष्ट वादे के बजाय एक ठोस टेम्पलेट प्रदान करता है।
वह वर्कफ़्लो जिसने AI को रिप्लेसमेंट के बजाय एक पार्टनर बना दिया
Sumner की प्रक्रिया एक चक्र में चलती है:
- कार्य असाइनमेंट (Task assignment) – एक एजेंट को एक ठोस माइग्रेशन कार्य मिलता है।
- कार्यान्वयन (Implementation) – दूसरा एजेंट Rust कोड लिखता है।
- एडवर्सैरियल रिव्यू (Adversarial review) – तीसरा एजेंट यह मान लेता है कि कोड गलत है, वह diff की जांच करता है, और सोर्स फाइलों और टेस्ट का उपयोग करके हर दावे को गलत साबित करने की कोशिश करता है।
- सुधार (Fixes) – कार्यान्वयन एजेंट (implementation agent) रिव्यूअर के निष्कर्षों को शामिल करता है।
- ऑटोमेटेड गेट्स (Automated gates) – कंपाइलर, टेस्ट सुइट और स्टैटिक-एनालिसिस चेक परिवर्तनों को सत्यापित करते हैं।
महत्वपूर्ण नियम अलगाव (separation) है। लेखक कभी भी रिव्यूअर के तर्क को नहीं देखता है, और रिव्यूअर कभी भी लेखक के इरादे को नहीं देखता है। पक्षपात (bias) को हटाकर, सिस्टम रिव्यूअर को केवल "सब ठीक लग रहा है" (looks good) कहने के बजाय छिपे हुए बग्स खोजने के लिए मजबूर करता है।
Rust का मशीन-चेकेबल फीडबैक हजारों संभावित मानव-पठनीय त्रुटियों को एक प्रबंधनीय कतार (manageable queue) में बदल देता है। प्रत्येक कंपाइलर एरर, borrow-checker विफलता, या Clippy चेतावनी एक कार्य आइटम बन जाती है जिसे एडवर्सैरियल रिव्यूअर सीधे लक्षित कर सकता है।
आठ-चरणों वाली प्लेबुक
Sumner ने वर्कफ़्लो को आठ क्रमिक चरणों में विभाजित किया, जिनमें से प्रत्येक के अपने कार्य कतार (task queue), 'डिफ़िनेशन ऑफ़ डन' (definition of done), रिव्यू प्रॉम्प्ट और ऑटोमेटेड गेट्स हैं:
- चरण A – तथ्य निष्कर्षण और गाइड लेखन (Fact extraction & guide authoring) – आर्किटेक्चरल तथ्यों को इकट्ठा करें और एक माइग्रेशन गाइड तैयार करें।
- चरण B – मैकेनिकल फ़ाइल ट्रांसलेशन (Mechanical file translation) – Zig फ़ाइलों को Rust skeletons में बदलें।
- चरण C – कंपाइल-एरर समाधान (Compile-error remediation) – ट्रांसलेशन के दौरान दर्ज किए गए 16,000 कंपाइलर एरर्स को हल करें।
- चरण D – रनटाइम-व्यवहार मिलान (Runtime-behavior matching) – सत्यापित करें कि Rust आउटपुट Zig के व्यवहार को दर्शाता है।
- चरण E – टेस्ट सुइट पूर्णता (Test suite completion) – प्रत्येक मौजूदा टेस्ट को पास करें।
- चरण F – परफॉरमेंस रिकवरी (Performance recovery) – रीराइट के कारण होने वाली किसी भी सुस्ती (slowdown) को समाप्त करें।
- चरण G – कोड-क्वालिटी पॉलिशिंग (Code-quality polishing) – इडियोमैटिक Rust पैटर्न लागू करें और पठनीयता के लिए रिफैक्टर करें।
- चरण H – सुरक्षा सुदृढ़ीकरण (Security hardening) – unsafe ऑडिट चलाएं और किसी भी खोजे गए भेद्यता (vulnerabilities) को संबोधित करें।
प्रत्येक चरण अगले चरण की ओर ले जाता है, यह सुनिश्चित करते हुए कि कोई भी कदम छूटा न रहे और रिग्रेशन (regressions) का जल्दी पता चल जाए।
प्लेबुक कहाँ मिलेगी
Sumner ने टेम्पलेट्स, प्रॉम्प्ट और चरण परिभाषाओं का पूरा सेट https://github.com/Lumafy/sumner-method पर ओपन-सोर्स कर दिया है। एक साथी लेख Bun माइग्रेशन के बारे में विस्तार से बताता है: https://dev.to/lumafy/the-sumner-method-what-buns-ai-assisted-zig-rust-rewrite-teaches-about-large-migrations-2gpo। निरंतर चर्चा के लिए एक टेलीग्राम समुदाय https://t.me/GyaanSetuAi पर उपलब्ध है।
