Jarred Sumner, Claude-ఆధారిత, అడ్వర్సేరియల్-రివ్యూ (adversarial-review) వర్క్ఫ్లోను ఉపయోగించి Bun runtimeను Zig నుండి Rustకి తిరిగి వ్రాశారు. ఆయన 6,778 కమిట్ల ద్వారా పది లక్షలకు పైగా కోడ్ లైన్లను పంపారు మరియు 16,000 కంపైలర్ ఎర్రర్లను పరిష్కరించారు. ఈ ప్రయత్నంలో 50 Claude Code వర్క్ఫ్లోలు నడిచాయి, గరిష్టంగా 64 Claude ఏజెంట్లు ఒకేసారి పనిచేశారు, మరియు భారీ భాషా మార్పిడిల (language migrations) కోసం ఒక పునరుత్పత్తి చేయగల ప్లేబుక్ను (reproducible playbook) సిద్ధం చేశారు.
ఈ రీరైట్ ఎందుకు ముఖ్యం
లెగసీ కోడ్ (legacy code) లేదా వ్యూహాత్మక భాషా మార్పిడితో పోరాడుతున్న ఏ ప్రాజెక్ట్కైనా, "Sumner Method" అనేది అస్పష్టమైన వాగ్దానానికి బదులుగా ఒక స్పష్టమైన నమూనాను (template) అందిస్తుంది.
AIని కేవలం ప్రతిక్షేపణగా కాకుండా, ఒక భాగస్వామిగా మార్చిన వర్క్ఫ్లో
Sumner యొక్క ప్రక్రియ ఒక క్రమబద్ధమైన లూప్లా సాగుతుంది:
- టాస్క్ అసైన్మెంట్ (Task assignment) – ఒక ఏజెంట్ ఒక నిర్దిష్ట మైగ్రేషన్ టాస్క్ను అందుకుంటుంది.
- ఇంప్లిమెంటేషన్ (Implementation) – రెండవ ఏజెంట్ Rust కోడ్ను వ్రాస్తుంది.
- అడ్వర్సేరియల్ రివ్యూ (Adversarial review) – మూడవ ఏజెంట్ కోడ్ తప్పు అని భావించి, సోర్స్ ఫైల్స్ మరియు టెస్ట్లను ఉపయోగించి ప్రతి క్లెయిమ్ను తప్పు అని నిరూపించడానికి ప్రయత్నిస్తూ, డిఫ్ (diff) ను క్షుణ్ణంగా పరిశీలిస్తుంది.
- ఫిక్సెస్ (Fixes) – ఇంప్లిమెంటేషన్ ఏజెంట్ రివ్యూయర్ కనుగొన్న అంశాలను కోడ్లో చేరుస్తుంది.
- ఆటోమేటెడ్ గేట్స్ (Automated gates) – కంపైలర్, టెస్ట్ సూట్ మరియు స్టాటిక్-అనాలిసిస్ తనిఖీలు మార్పులను ధృవీకరిస్తాయి.
ఇందులోని కీలకమైన నియమం వేరు చేయడం (separation). కోడ్ రాసే వ్యక్తికి రివ్యూయర్ యొక్క తర్కం (reasoning) తెలియదు, మరియు రివ్యూయర్కు రైటర్ యొక్క ఉద్దేశ్యం (intent) తెలియదు. పక్షపాతాన్ని (bias) తొలగించడం ద్వారా, ఈ వ్యవస్థ రివ్యూయర్ కేవలం "బాగుంది" అని పైపైన చెప్పకుండా, దాగి ఉన్న బగ్ల కోసం వెతకాలని ఒత్తిడి చేస్తుంది.
Rust యొక్క మెషిన్-చెక్ చేయగల ఫీడ్బ్యాక్, వేలాది సంభావ్య మానవ-చదవగలిగే ఎర్రర్లను నిర్వహించదగిన క్యూ (queue)గా మారుస్తుంది. ప్రతి కంపైలర్ ఎర్రర్, borrow-checker వైఫల్యం లేదా Clippy వార్నింగ్ అనేది అడ్వర్సేరియల్ రివ్యూయర్ నేరుగా లక్ష్యంగా చేసుకునే ఒక వర్క్ ఐటెమ్గా మారుతుంది.
ఎనిమిది దశల ప్లేబుక్
Sumner ఈ వర్క్ఫ్లోను ఎనిమిది వరుస దశలుగా విభజించారు, ప్రతి దశకు దాని స్వంత టాస్క్ క్యూ, 'డెఫినిషన్ ఆఫ్ డన్' (definition of done), రివ్యూ ప్రాంప్ట్లు మరియు ఆటోమేటెడ్ గేట్లు ఉన్నాయి:
- Phase A – ఫ్యాక్ట్ ఎక్స్ట్రాక్షన్ & గైడ్ ఆథరింగ్ (Fact extraction & guide authoring) – ఆర్కిటెక్చరల్ వాస్తవాలను సేకరించి మైగ్రేషన్ గైడ్ను రూపొందించడం.
- Phase B – మెకానికల్ ఫైల్ ట్రాన్స్లేషన్ (Mechanical file translation) – Zig ఫైళ్లను Rust స్కెలిటన్లుగా మార్చడం.
- Phase C – కంపైల్-ఎర్రర్ రిమీడియేషన్ (Compile-error remediation) – ట్రాన్స్లేషన్ సమయంలో నమోదైన 16,000 కంపైలర్ ఎర్రర్లను పరిష్కరించడం.
- Phase D – రన్టైమ్-బిహేవియర్ మ్యాచింగ్ (Runtime-behavior matching) – Rust అవుట్పుట్ Zig యొక్క ప్రవర్తనను ప్రతిబింబిస్తుందని ధృవీకరించడం.
- Phase E – టెస్ట్ సూట్ కంప్లీషన్ (Test suite completion) – ఉన్న ప్రతి టెస్ట్ను పాస్ చేయడం.
- Phase F – పెర్ఫార్మెన్స్ రికవరీ (Performance recovery) – రీరైట్ వల్ల కలిగే ఏవైనా స్లోడౌన్లను తొలగించడం.
- Phase G – కోడ్-క్వాలిటీ పాలిషింగ్ (Code-quality polishing) – ఐడియోమాటిక్ Rust ప్యాటర్న్లను వర్తింపజేయడం మరియు చదవడానికి వీలుగా రీఫ్యాక్టర్ చేయడం.
- Phase H – సెక్యూరిటీ హార్డెనింగ్ (Security hardening) – అన్సేఫ్ ఆడిట్లను నిర్వహించడం మరియు కనుగొనబడిన లోపాలను (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.
