Jarred Sumner, Bun çalışma zamanını (runtime) Zig'den Rust'a yeniden yazmak için Claude destekli, çekişmeli bir inceleme (adversarial-review) iş akışı kullandı. 6.778 commit ile bir milyondan fazla satır kod gönderdi ve 16.000 derleyici hatasını giderdi. Bu çaba, 50 Claude Code iş akışını çalıştırdı, eş zamanlı olarak 64 Claude ajanıyla zirveye ulaştı ve büyük dil göçleri için yeniden üretilebilir bir kılavuz bıraktı.
Yeniden yazım neden önemli
Eski kodlarla (legacy code) mücadele eden veya stratejik bir dil değişikliği planlayan her proje için "Sumner Yöntemi", belirsiz bir vaat yerine somut bir şablon sunuyor.
Yapay zekayı bir yedek değil, bir ortak haline getiren iş akışı
Sumner'ın süreci sıkı bir döngü halinde çalışır:
- Görev ataması – bir ajan somut bir göç görevi alır.
- Uygulama – ikinci bir ajan Rust kodunu yazar.
- Çekişmeli inceleme (adversarial review) – üçüncü bir ajan kodun yanlış olduğunu varsayar, farkları (diff) inceler ve kaynak dosyaları ile testleri kullanarak her iddiayı çürütmeye çalışır.
- Düzeltmeler – uygulama ajanı, incelemecinin bulgularını koda dahil eder.
- Otomatik kontrol noktaları (automated gates) – derleyici, test paketi ve statik analiz kontrolleri değişiklikleri doğrular.
Kritik kural ayrıştırmadır. Yazıcı, incelemecinin mantığını asla görmez; incelemeci de yazıcının niyetini asla görmez. Sistem, yanlılığı ortadan kaldırarak incelemeciyi yüzeysel bir "iyi görünüyor" onayı vermek yerine gizli hataları aramaya zorlar.
Rust'ın makine tarafından kontrol edilebilir geri bildirimi, binlerce potansiyel insan tarafından okunabilir hatayı yönetilebilir bir kuyruğa dönüştürür. Her derleyici hatası, borrow-checker hatası veya Clippy uyarısı, çekişmeli incelemecinin doğrudan hedef alabileceği bir iş öğesi haline gelir.
Sekiz aşamalı kılavuz
Sumner, iş akışını her biri kendi görev kuyruğuna, bitiş tanımına (definition of done), inceleme istemlerine (prompts) ve otomatik kontrol noktalarına sahip sekiz ardışık aşamaya ayırdı:
- Aşama A – Bilgi çıkarma ve kılavuz yazımı – Mimari gerçekleri toplayın ve bir göç kılavuzu oluşturun.
- Aşama B – Mekanik dosya çevirisi – Zig dosyalarını Rust iskeletlerine dönüştürün.
- Aşama C – Derleme hatası giderme – Çeviri sırasında kaydedilen 16.000 derleyici hatasını çözün.
- Aşama D – Çalışma zamanı davranışı eşleştirme – Rust çıktısının Zig'in davranışını yansıttığını doğrulayın.
- Aşama E – Test paketi tamamlama – Mevcut tüm testlerden geçin.
- Aşama F – Performans geri kazanımı – Yeniden yazımın neden olabileceği her türlü yavaşlamayı ortadan kaldırın.
- Aşama G – Kod kalitesi iyileştirme – İdiyomatik Rust kalıplarını uygulayın ve okunabilirlik için yeniden yapılandırın (refactor).
- Aşama H – Güvenlik sıkılaştırma – Güvenli olmayan (unsafe) denetimleri yapın ve keşfedilen tüm güvenlik açıklarını giderin.
Her aşama bir sonrakini besleyerek hiçbir adımın atlanmamasını ve regresyonların erkenden yakalanmasını sağlar.
Kılavuz nerede bulunur
Sumner; tüm şablonları, istemleri ve aşama tanımlarını https://github.com/Lumafy/sumner-method adresinde açık kaynak olarak paylaştı. Eşlik eden bir makale, Bun göçünü ayrıntılı olarak ele alıyor: https://dev.to/lumafy/the-sumner-method-what-buns-ai-assisted-zig-rust-rewrite-teaches-about-large-migrations-2gpo. Devam eden tartışmalar için bir Telegram topluluğu https://t.me/GyaanSetuAi adresinde yer alıyor.
