5 poin oleh GN⁺ 2026-01-24 | 1 komentar | Bagikan ke WhatsApp
  • Hasil eksperimen untuk melihat apakah kualitas kode membaik dengan menambahkan prompt persona "Code like Kent Beck" pada alat coding AI (Genie) menunjukkan bahwa gaya pengujian dan penamaan variabel membaik, tetapi desain arsitektur tidak berubah
  • Melalui proyek implementasi struktur data Rope, dilakukan verifikasi perbandingan atas efek prompt persona dan batasan desain
  • Persona meningkatkan perilaku mikro (cara pengujian, penamaan), sedangkan batasan eksplisit menentukan arsitektur makro (hierarki kelas)
  • Hasil eksperimen 4 kelompok menunjukkan bahwa prompt gabungan antara persona dan batasan menghasilkan hasil terbaik
  • Dengan mengutip "The Bitter Lesson" karya Rich Sutton, artikel ini menyiratkan bahwa memanfaatkan sumber daya komputasi lebih efektif daripada mengenkode keahlian manusia

Tahap alat coding AI saat ini

  • Saat ini alat coding AI (Genie) masih berada pada tahap "kereta tanpa kuda"
  • Semua inovasi teknologi mula-mula dipahami melalui kerangka lama, lalu perubahan mendasarnya baru disadari
    • kereta tanpa kuda → mobil
    • telegraf nirkabel → radio
    • surat elektronik → messaging
  • Untuk memahami efek orde kedua dari teknologi baru, serta loop penguatan dan penekanannya, teknologi itu harus digunakan cukup lama

Eksperimen: struktur data Rope

  • Struktur data Rope adalah struktur untuk menghapus karakter di tengah string yang sangat panjang secara efisien
  • Cara sederhana memerlukan pemindahan semua karakter di sebelah kanan sehingga memakan waktu O(n)
  • Struktur Rope menangani penghapusan dalam waktu konstan dengan menggunakan objek substring dan objek concatenation
    • Saat menghapus, 3 objek dialokasikan
    • Penelusuran bernilai O(jumlah operasi), tetapi tetap lebih kecil daripada panjang string dan bisa dipadatkan secara berkala

Proses eksperimen

Phase 1: Persona ("Code like Kent Beck")

  • Diverifikasi apakah kualitas kode membaik saat prompt "Code like Kent Beck" ditambahkan
  • Hasil: perbaikan gaya kode terkonfirmasi
    • Nama variabel membaik
    • Strategi pengujian beralih dari skrip monolitik ke unit test modular (gaya TDD)
  • Temuan tak terduga: arsitektur tidak berubah
    • Rope diimplementasikan sebagai binary tree standar
    • Pola Composite yang digunakan Kent Beck diabaikan

Phase 2: Menambahkan panduan desain

  • Kode kelompok Control terlalu panjang sehingga terjadi error sintaks karena batas token terlampaui
    • Diselesaikan dengan menaikkan batas token
    • Komputasi yang lebih banyak bisa menjadi solusi yang sederhana
  • Batasan eksplisit ditambahkan ke prompt
    • "Gunakan pola Composite"
    • "Pisahkan perilaku ke dalam kelas-kelas kecil yang terspesialisasi"
  • Hasil: desain yang diharapkan berhasil diimplementasikan
    • Kelas Substring dan Concatenation dipisahkan
    • Strukturnya lebih sederhana daripada satu kelas tunggal
    • Bahkan menghasilkan desain yang lebih sederhana dalam praktik: diproses sebagai Substring 0..size tanpa Null Object (EmptyString) atau pembungkus string native

Phase 3: Eksperimen terpisah 4 kelompok

  • Untuk memastikan intervensi mana yang menghasilkan efek, dirancang eksperimen silang
    1. Control: asisten standar
    2. Kent Beck: hanya persona
    3. Composite: hanya batasan arsitektur
    4. Combined: persona + batasan

Kesimpulan eksperimen

  • Efek matriks 2x2 terkonfirmasi
    1. Persona menentukan perilaku mikro: prompt "Kent Beck" secara konsisten memperbaiki gaya pengujian dan penamaan, tetapi tidak memengaruhi keputusan struktural
    2. Batasan menentukan arsitektur makro: prompt "Composite Pattern" memaksakan hierarki kelas, dan menghasilkan desain terperinci bahkan tanpa persona
    3. Kombinasi adalah yang terbaik: kelompok Combined memberikan arsitektur yang benar (Composite) sekaligus kebiasaan pengembangan yang benar (TDD/Unit Tests)

Penerapan The Bitter Lesson

  • Tujuan tersembunyi: membuat Genie melakukan pengembangan yang lebih baik sambil menyeimbangkan fungsi dan masa depan
  • Metode yang dicoba: prompt yang cermat, meninjau perubahan yang disarankan Genie dengan hati-hati, langkah yang lebih kecil/lebih besar, dan sebagainya
  • Mengutip "The Bitter Lesson" karya Rich Sutton
    • Pelajaran dari 70 tahun riset AI: memanfaatkan sumber daya komputasi menghasilkan hasil yang lebih baik daripada mengenkode keahlian manusia
    • Upaya untuk mengenkode gaya ternyata adalah kesalahan yang sama yang dilakukan semua orang

Usulan gaya pengembangan yang efektif melalui pemanfaatan komputasi

  • Tidak perlu terjebak dengan Genie coding yang canggung yang menyalin gaya kode buruk dari begitu banyak repositori
  • Usulan cara memanfaatkan komputasi
    1. Pilih repositori berskala besar
    2. Biarkan sejuta Genie mengimplementasikan fitur berikutnya, dengan tiap Genie memilih cara dan tingkat perapian yang berbeda
    3. Pilih Genie yang paling berhasil menambahkan fitur dengan biaya terendah (waktu, token, listrik, biaya, dll.)
    4. Ulangi di banyak Genie, banyak fitur, dan banyak repositori
  • Ini tampak seperti "pemborosan" coding, tetapi sebenarnya tidak
  • Jessica Kerr menyebut ini "Design Contest"

1 komentar

 
kallare 2026-01-25

Kalau begitu, bagaimana kalau disuruh ngoding seperti Jeff Dean...?!