Jarred Sumner একটি Claude-চালিত, অ্যাডভারসারিয়াল-রিভিউ (adversarial-review) ওয়ার্কফ্লো ব্যবহার করে Bun runtime-কে Zig থেকে Rust-এ রিরাইট করেছেন। তিনি ১০ লক্ষেরও বেশি লাইন কোড ৬,৭৭৮টি কমিটের মাধ্যমে পুশ করেছেন এবং ১৬,০০০ কম্পাইলার এরর সমাধান করেছেন। এই প্রচেষ্টায় ৫০টি Claude Code ওয়ার্কফ্লো চালানো হয়েছে, সর্বোচ্চ ৬৪টি সমসাময়িক (concurrent) Claude এজেন্ট কাজ করেছে এবং বিশাল আকারের ল্যাঙ্গুয়েজ মাইগ্রেশনের জন্য একটি পুনঃউৎপাদনযোগ্য (reproducible) প্লেবুক তৈরি করা হয়েছে।
কেন এই রিরাইট গুরুত্বপূর্ণ
যেকোনো প্রজেক্ট যা লিগ্যাসি কোড বা কৌশলগত ভাষা পরিবর্তনের সাথে লড়াই করছে, তাদের জন্য "Sumner Method" অস্পষ্ট কোনো প্রতিশ্রুতির পরিবর্তে একটি সুনির্দিষ্ট টেমপ্লেট প্রদান করে।
সেই ওয়ার্কফ্লো যা AI-কে প্রতিস্থাপক নয়, বরং একজন অংশীদার হিসেবে গড়ে তুলেছে
Sumner-এর প্রক্রিয়াটি একটি নিবিড় লুপে কাজ করে:
- Task assignment – একটি এজেন্ট একটি সুনির্দিষ্ট মাইগ্রেশন টাস্ক পায়।
- Implementation – দ্বিতীয় একটি এজেন্ট Rust কোড লেখে।
- Adversarial review – তৃতীয় একটি এজেন্ট ধরে নেয় যে কোডটি ভুল, এটি ডিফ (diff) পরীক্ষা করে এবং সোর্স ফাইল ও টেস্ট ব্যবহার করে প্রতিটি দাবি ভুল প্রমাণ করার চেষ্টা করে।
- Fixes – ইমপ্লিমেন্টেশন এজেন্ট রিভিউয়ারের প্রাপ্ত তথ্যগুলো অন্তর্ভুক্ত করে।
- Automated gates – কম্পাইলার, টেস্ট স্যুট এবং স্ট্যাটিক-অ্যানালাইসিস চেকগুলো পরিবর্তনগুলো যাচাই করে।
সবচেয়ে গুরুত্বপূর্ণ নিয়ম হলো বিচ্ছিন্নতা (separation)। রাইটার (writer) কখনোই রিভিউয়ারের যুক্তি দেখতে পায় না এবং রিভিউয়ার কখনোই রাইটারের উদ্দেশ্য দেখতে পায় না। পক্ষপাতিত্ব দূর করার মাধ্যমে, এই সিস্টেমটি রিভিউয়ারকে দায়সারাভাবে "looks good" বলে অনুমোদন দেওয়ার পরিবর্তে লুকানো বাগ খুঁজে বের করতে বাধ্য করে।
Rust-এর মেশিন-চেকযোগ্য ফিডব্যাক হাজার হাজার সম্ভাব্য মানুষের পড়ার যোগ্য এররকে একটি পরিচালনাযোগ্য কিউতে (queue) পরিণত করে। প্রতিটি কম্পাইলার এরর, borrow-checker ব্যর্থতা বা Clippy ওয়ার্নিং একটি কাজের আইটেমে (work item) পরিণত হয় যা অ্যাডভারসারিয়াল রিভিউয়ার সরাসরি লক্ষ্য করতে পারে।
আট-পর্যায়ের প্লেবুক
Sumner ওয়ার্কফ্লোটিকে আটটি ধারাবাহিক পর্যায়ে বিভক্ত করেছেন, যার প্রতিটিটির নিজস্ব টাস্ক কিউ (task queue), ডেফিনিশন অফ ডান (definition of done), রিভিউ প্রম্পট এবং অটোমেটেড গেটস রয়েছে:
- Phase A – Fact extraction & guide authoring – আর্কিটেকচারাল তথ্য সংগ্রহ করা এবং একটি মাইগ্রেশন গাইড তৈরি করা।
- Phase B – Mechanical file translation – Zig ফাইলগুলোকে Rust স্কেলিটনে (skeletons) রূপান্তর করা।
- Phase C – Compile-error remediation – ট্রান্সলেশনের সময় পাওয়া ১৬,০০০ কম্পাইলার এরর সমাধান করা।
- Phase D – Runtime-behavior matching – Rust-এর আউটপুট যেন Zig-এর আচরণের সাথে হুবহু মিলে যায় তা যাচাই করা।
- Phase E – Test suite completion – প্রতিটি বিদ্যমান টেস্ট পাস করা।
- Phase F – Performance recovery – রিরাইটের কারণে সৃষ্ট যেকোনো ধীরগতি দূর করা।
- Phase G – Code-quality polishing – ইডিওম্যাটিক (idiomatic) Rust প্যাটার্ন প্রয়োগ করা এবং পঠনযোগ্যতার জন্য রিফ্যাক্টর করা।
- Phase 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।
