Bun Tulis Ulang 535 Ribu Baris Kode dalam 11 Hari Pakai AI, Picu Kontroversi
Sebuah proyek migrasi kode yang biasanya butuh berbulan-bulan perencanaan, staffing, dan pertarungan panjang dengan manajemen, kali ini rampung hanya dalam 11 hari, dan justru proses secepat itulah yang memicu perdebatan sengit di kalangan developer.
Bun, JavaScript runtime yang diakuisisi Anthropic, menulis ulang 535 ribu baris kode dari bahasa pemrograman Zig ke Rust hanya dalam 11 hari. Proses migrasi berskala besar ini dikerjakan menggunakan 64 agent Claude yang berjalan paralel, menghasilkan 6.778 commit, dengan biaya pemrosesan API mencapai sekitar 165 ribu dolar AS.
Alasan di Balik Migrasi: Masalah Memory Safety
Menurut penjelasan resmi tim Bun, migrasi ini didorong persoalan memory safety yang terus berulang. Kombinasi antara JavaScript engine yang menggunakan garbage collection dengan manajemen memori manual pada Zig membuat setiap alokasi memori menjadi semacam taruhan kecil, dan tim kerap kalah dalam beberapa taruhan tersebut setiap minggunya. Compiler Rust dengan mekanisme borrow checker-nya mengubah kelas kesalahan semacam ini menjadi error saat kompilasi, bukan bug yang baru ketahuan saat runtime.
Sejumlah bug spesifik yang berhasil diperbaiki lewat migrasi ini mencakup use-after-free pada modul node:zlib, double-free pada CSS parser, hingga kebocoran SSL_SESSION di setiap pemanggilan fungsi tertentu. Secara keseluruhan, proses ini berhasil memperbaiki 128 bug yang ada, disertai penurunan ukuran binary sebesar 20 persen dan peningkatan performa secara keseluruhan.
Metodologi: Panduan Porting, Spreadsheet, dan Review Berlapis
Proses migrasi ini dijalankan dengan metodologi yang cukup sistematis. Claude terlebih dahulu mengembangkan panduan porting yang komprehensif, sebelum tim melacak detail manajemen memori ke dalam satu spreadsheet terpadu. Agent AI kemudian menerjemahkan kode Zig ke Rust secara sistematis berdasarkan panduan tersebut, dengan setiap komponen yang sudah diterjemahkan menjalani proses adversarial review yang ketat sebelum dianggap layak digabungkan ke codebase utama.
Kritik Keras dari Pencipta Zig
Tidak semua pihak menyambut baik kabar migrasi ini. Andrew Kelley, pencipta bahasa pemrograman Zig, memberikan tanggapan yang oleh banyak pihak digambarkan sebagai reaksi yang cukup keras, hanya sehari setelah Bun mempublikasikan artikel lanjutan mereka soal proses migrasi ini.
Menurut Kelley, persoalan yang dihadapi Bun sebenarnya berasal dari keputusan engineering dan ketergantungan berlebihan pada agent AI untuk menghasilkan dan mereview kode, bukan dari keterbatasan bahasa Zig itu sendiri. Ia menilai tim Bun menggunakan agent AI untuk pekerjaan yang sebenarnya membutuhkan penilaian manusia secara langsung, yang pada akhirnya menghasilkan masalah kualitas kode yang terus terbawa.
Analisis Independen yang Viral di Hacker News
Tak lama setelah tanggapan Kelley, Ray Myers, seorang konsultan software yang dikenal berpengalaman dengan legacy code, mempublikasikan analisis mendalam berjudul "Zig Creator Calls Spade a Spade, Anthropic Blows Smoke". Tulisan ini kemudian naik ke halaman depan Hacker News dan memicu diskusi luas di kalangan komunitas developer.
Dalam analisisnya, Myers menyoroti kemungkinan motif di balik keputusan manajemen menyetujui opsi rewrite ke Rust, menyebutnya sebagai peluang pemasaran yang menarik untuk memamerkan model Fable terbaru Anthropic, mengingat Anthropic sendiri sudah menggunakan Rust secara internal, sementara Zig secara terbuka menolak penggunaan produk-produk Anthropic dalam proyek mereka.
Kebijakan Zig soal Kontribusi AI
Konteks tambahan yang memperkuat ketegangan ini adalah kebijakan resmi Zig yang secara tegas melarang kontribusi berbasis model bahasa besar untuk issue tracker, pull request, maupun komentar pada bug tracker resmi mereka. Loris Cro, Wakil Presiden Komunitas Zig Software Foundation, menjelaskan alasan di balik kebijakan ini dalam sebuah tulisan terpisah, menegaskan bahwa proyek mereka berinvestasi pada kontributor manusia, bukan sekadar menerima patch kode semata, dan kontribusi berbasis LLM dalam jumlah besar berpotensi mengubah keseluruhan ekonomi proses review kode.
Perspektif yang Lebih Menyeimbangkan
Di tengah perdebatan yang cukup memanas ini, analis independen Luka Kladarić menawarkan pandangan yang lebih menyeimbangkan dalam tulisannya. Menurutnya, meski tampak berseberangan di permukaan, ketiga pihak yang terlibat, baik Anthropic, Kelley, maupun Myers, sebenarnya membuat argumen dasar yang sama jika dilucuti dari nada emosional masing-masing.
Kladarić menekankan implikasi yang lebih luas dari episode ini bagi industri software secara keseluruhan: biaya untuk melakukan rewrite kode berskala besar kini telah runtuh drastis, dan tren ini kemungkinan tidak akan berbalik lagi. Pilihan bahasa pemrograman untuk sebuah proyek kini menjadi keputusan yang jauh lebih reversibel dibanding sebelumnya. Bahkan Myers sendiri, yang cukup kritis terhadap hype seputar AI, mengakui bahwa metodologi migrasi yang diterapkan Bun merupakan kontribusi nyata yang patut dipelajari, terlepas dari kontroversi di baliknya.
Anthropic sendiri merangkum filosofi di balik pendekatan ini dengan satu kalimat: alih-alih memperbaiki kode secara manual satu per satu, lebih baik memperbaiki proses atau "loop" yang menghasilkan kode tersebut.
Rekomendasi bagi Tim yang Mempertimbangkan Rewrite Serupa
Bagi organisasi lain yang mungkin mempertimbangkan pendekatan serupa di masa depan, Kladarić memberikan rekomendasi konkret. Sebelum memulai proses porting, tim perlu mendefinisikan secara jelas apa yang dimaksud dengan "perilaku identik" antara kode lama dan baru, dan memastikan definisi tersebut bisa diuji secara otomatis lewat output diffing, bukan sekadar berdasarkan perasaan atau asumsi bahwa hasilnya sudah benar. Ia juga merekomendasikan menjalankan versi lama dan baru secara berdampingan terhadap traffic nyata, lalu membandingkan hasil keluaran keduanya secara sistematis, sebagai cara paling andal memverifikasi bahwa migrasi berskala besar semacam ini benar-benar aman dilakukan.
Terlepas dari perdebatan yang masih berlanjut soal motif dan metodologi di baliknya, episode Bun ini menjadi salah satu studi kasus paling nyata sejauh ini soal bagaimana agent AI mengubah kalkulasi biaya dan risiko dalam keputusan rewrite software berskala besar, sebuah perubahan yang kemungkinan akan terus dihadapi lebih banyak tim engineering di masa mendatang.
Komentar (0)
Masuk untuk menulis komentar.
Belum ada komentar.