Jarred Sumner એ Claude-સંચાલિત, એડવર્સરીયલ-રિવ્યુ (adversarial-review) વર્કફ્લો દ્વારા Bun runtime ને Zig થી Rust માં ફરીથી લખવા માટે ઉપયોગ કર્યો. તેમણે 6,778 કમિટ્સ દ્વારા દસ લાખથી વધુ લાઈનોનો કોડ પુશ કર્યો અને 16,000 કમ્પાઈલર એરર્સ (compiler errors) દૂર કર્યા. આ પ્રયાસમાં 50 Claude Code વર્કફ્લો ચલાવવામાં આવ્યા, જે એક સમયે 64 Claude એજન્ટ્સ સુધી પહોંચ્યા, અને મોટા પાયે લેંગ્વેજ માઈગ્રેશન માટે એક પુનરાવર્તિત પ્લેબુક (reproducible playbook) છોડી ગયા.
આ રીરાઈટ (rewrite) શા માટે મહત્વનું છે
કોઈપણ પ્રોજેક્ટ જે લેગસી કોડ (legacy code) અથવા વ્યૂહાત્મક લેંગ્વેજ બદલવાના પડકાર સાથે ઝઝૂમી રહ્યો હોય, તેના માટે "Sumner Method" અસ્પષ્ટ વચન આપવાને બદલે એક નક્કર ટેમ્પલેટ પ્રદાન કરે છે.
એ વર્કફ્લો જેણે AI ને રિપ્લેસમેન્ટ નહીં પણ પાર્ટનર બનાવ્યું
Sumner ની પ્રક્રિયા એક ચક્રમાં કામ કરે છે:
- ટાસ્ક અસાઇનમેન્ટ (Task assignment) – એક એજન્ટને ચોક્કસ માઈગ્રેશન ટાસ્ક મળે છે.
- ઇમ્પ્લીમેન્ટેશન (Implementation) – બીજો એજન્ટ Rust કોડ લખે છે.
- એડવર્સરીયલ રિવ્યુ (Adversarial review) – ત્રીજો એજન્ટ એવું માની લે છે કે કોડ ખોટો છે, તે તફાવત (diff) ની તપાસ કરે છે, અને સોર્સ ફાઇલ્સ તથા ટેસ્ટનો ઉપયોગ કરીને દરેક દાવાને ખોટો સાબિત કરવાનો પ્રયાસ કરે છે.
- ફિક્સિસ (Fixes) – ઇમ્પ્લીમેન્ટેશન એજન્ટ રિવ્યુઅરના તારણોને અમલમાં લાવે છે.
- ઓટોમેટેડ ગેટ્સ (Automated gates) – કમ્પાઈલર, ટેસ્ટ સ્યુટ અને સ્ટેટિક-એનાલિસિસ ચેક્સ ફેરફારોની ચકાસણી કરે છે.
સૌથી મહત્વનો નિયમ અલગતા (separation) છે. લખનાર વ્યક્તિ ક્યારેય રિવ્યુઅરનું તર્ક જોતી નથી, અને રિવ્યુઅર ક્યારેય લખનારનો ઈરાદો જાણતી નથી. પૂર્વગ્રહ દૂર કરીને, સિસ્ટમ રિવ્યુઅરને માત્ર ઉપરછલ્લું “looks good” કહીને મંજૂરી આપવાને બદલે છુપાયેલા બગ્સ (bugs) શોધવા માટે મજબૂર કરે છે.
Rust નું મશીન-ચેકેબલ ફીડબેક હજારો સંભવિત માનવ-વાંચનક્ષમ એરર્સને એક વ્યવસ્થિત કતારમાં ફેરવી દે છે. દરેક કમ્પાઈલર એરર, 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 પર ઉપલબ્ધ છે.
