7 poin oleh davespark 2026-02-01 | 1 komentar | Bagikan ke WhatsApp

Mantan insinyur Facebook Christopher Chedeau (Vjeux) melakukan eksperimen mem-porting engine battle Pokemon Showdown (sekitar 100 ribu baris TypeScript) ke Rust dengan memanfaatkan Claude Code

Tujuan proyek

  • Membangun oracle berkecepatan tinggi (sistem referensi) untuk pelatihan AI battle Pokemon
  • Implementasi TypeScript yang ada → terlalu lambat (simulasi jutaan battle tidak memungkinkan)
  • Bahasa target: Rust (berperforma tinggi) → tetapi pengalaman Rust yang dimiliki nol

Pencapaian utama

  • Sekitar 100 ribu baris berhasil di-porting dalam 1 bulan (pekerjaan aktual sekitar 2–4 minggu)
  • Menghasilkan sekitar 5.000 commit
  • Kecepatan eksekusi meningkat 3,5x
  • Hasil differential testing menunjukkan tingkat kecocokan 99,96% (berdasarkan 2 juta battle acak)
    • Sisa 0,04% diperkirakan berasal dari bug di kode TS asli

Strategi kunci keberhasilan

  • Mengadopsi differential testing
    • Menjalankan versi TS asli vs versi Rust secara bersamaan → membandingkan hasil
    • Kasus yang tidak cocok → log ditunjukkan ke Claude lalu diminta memperbaiki
  • Tetap bisa memverifikasi meski hampir tidak memahami sintaks Rust

Kesulitan utama yang dihadapi Claude

  • Jago mem-porting file individual ↔ tetapi sering bermasalah pada integrasi antarfile
    • Contoh: konsep yang sama (move) didefinisikan sebagai struct yang berbeda
  • Batas context window → informasi penting hilang selama proses ringkasan di tengah jalan
  • Ada kecenderungan ingin membuatnya “lebih baik” → mengabaikan instruksi eksplisit untuk “porting baris demi baris” dan mencoba refactoring → menghasilkan banyak bug
  • Saat diminta optimisasi → rencananya tampak bagus, tetapi peningkatan performa nyata hampir tidak ada (sebagian malah menjadi lebih lambat)

Hack workflow yang unik

  • Mengotomatisasi permintaan persetujuan pengguna dari Claude
    • Dengan AppleScript, Enter ditekan otomatis setiap beberapa detik → bisa berjalan tanpa pengawasan selama 24 jam
    • (Ada risiko keamanan, tetapi diterima karena hanya untuk tujuan oracle sekali pakai)

Posisi terkini alat AI coding (evaluasi)

  • Transformasi mekanis dan pekerjaan porting skala besar → sangat kuat
  • Tugas tingkat tinggi seperti optimisasi performa dan desain arsitektur → masih kurang
  • Perdebatan di Hacker News
    • Skeptis: sulit dipelihara, kode yang “sekadar bisa di-compile”
    • Pendukung: cukup bisa dipercaya dengan differential testing + penghematan waktu sangat besar dibanding manusia

3 pelajaran untuk penerapan di dunia kerja

  • Sistem pengujian otomatis yang ketat itu wajib (tanpa differential testing, peluang gagal sangat tinggi)
  • Instruksi yang jelas dan ruang lingkupnya sempit paling efektif (“porting baris demi baris” O vs “tolong perbaiki” X)
  • AI hanyalah alat → developer tetap harus mendiagnosis masalah, merancang pertanyaan, dan menjaga arah pekerjaan

→ Kasus seseorang yang sama sekali tidak mengenal Rust tetapi berhasil memindahkan kode skala 100 ribu baris ke tingkat yang praktis dalam sebulan → eksperimen representatif yang sekaligus membuktikan kegunaan AI coding dan juga dengan jelas menunjukkan keterbatasannya

https://aisparkup.com/posts/8701

1 komentar

 
ahwjdekf 2026-02-03

Ini mengabaikan fakta bahwa penulisan test case bukan solusi serba bisa. Bukan hanya soal input dan output yang normal saja. Pada akhirnya, 100 ribu baris itu tetap harus ditinjau ulang.