26 poin oleh GN⁺ 2026-02-02 | 1 komentar | Bagikan ke WhatsApp
  • Proses penulisan perangkat lunak dengan bantuan AI didefinisikan oleh antirez sebagai ‘Automatic Programming’, dan diperkirakan akan segera menjadi standar dalam pengembangan perangkat lunak
  • Bahkan dengan LLM yang sama, intuisi manusia, desain, dan penyesuaian arah secara berkelanjutan dapat menghasilkan keluaran yang sangat berbeda
  • Vibe coding adalah pendekatan yang menyerahkan pekerjaan kepada AI tanpa pemahaman mendalam, sedangkan pemrograman otomatis mengandaikan visi dan kendali yang jelas dari pengembang
  • Kode yang dihasilkan AI juga berdasarkan data pra-pelatihan dan penilaian yang terakumulasi dari manusia, dan kepemilikan hasilnya ada pada pengembang
  • Pemrograman makin terotomatisasi, tetapi ide dan visi tetap menjadi ranah manusia

Definisi konsep Automatic Programming

  • Proses menulis perangkat lunak dengan dukungan AI disebut Automatic Programming
  • Pendekatan ini akan segera menjadi proses standar dalam pembuatan perangkat lunak

Perbedaannya dengan vibe coding

  • Vibe Coding adalah cara menghasilkan perangkat lunak dengan AI tanpa ikut terlibat dalam prosesnya sama sekali
    • Jika keinginan dijelaskan dengan istilah yang sangat umum, LLM akan menghasilkan ide/desain/kode pertama yang muncul secara alami berdasarkan data pelatihannya dan sampling spesifik pada eksekusi tersebut
    • Seorang vibe coder paling jauh hanya melaporkan bagian yang tidak berjalan atau berbeda dari harapan
  • Automatic Programming mengejar kualitas tinggi dan mengikuti visi perangkat lunak dari pembuatnya secara ketat
    • Visi ini bersifat berlapis: mulai dari bagaimana tepatnya suatu tugas harus dilakukan, hingga memberi instruksi langsung kepada AI tentang cara menulis fungsi tertentu
    • Apa yang harus dilakukan juga merupakan unsur yang sangat penting

Pentingnya unsur manusia

  • Bahkan dengan LLM yang sama, hasilnya dapat sangat berbeda tergantung pada intuisi, desain, penyesuaian arah berkelanjutan, dan gagasan tentang perangkat lunak dari manusia yang memandu proses
  • Ungkapan "Claude melakukan vibe coding untuk perangkat lunak ini" tidak tepat
  • Jika Anda memahami apa yang sedang terjadi dan benar-benar menghasilkan perangkat lunak, maka itu adalah perangkat lunak yang Anda hasilkan sendiri

Pandangan tentang kepemilikan kode

  • Data pra-pelatihan bukan satu-satunya hal yang dipelajari LLM (RL juga berperan besar), tetapi tetap merupakan hasil produksi manusia
    • Karena itu, ini bukan bentuk mengambil alih sesuatu milik pihak lain
  • Kita dapat menyebut kode yang dihasilkan AI sebagai "milik kita", dan memang berhak melakukannya
  • Pra-pelatihan adalah hadiah kolektif yang memungkinkan banyak orang melakukan hal-hal yang mustahil dicapai sendirian
    • Mirip seperti terhubung ke pikiran kolektif dengan cara tertentu
  • Kode yang dibuat melalui pemrograman otomatis adalah kode Anda, keluaran Anda, hasil kerja Anda, dan Anda boleh bangga akan hal itu

Kasus Redis

  • Redis tidak memiliki banyak hal yang secara teknis terasa sangat baru
    • Pada tahap awal, itu tidak lebih dari gabungan struktur data dasar dan kode jaringan yang dapat ditulis oleh programmer sistem yang kompeten
  • Namun demikian, ia menjadi perangkat lunak yang sangat berguna karena ide dan visi yang terkandung di dalamnya

Kesimpulan

  • Pemrograman kini telah terotomatisasi, tetapi visi belum terotomatisasi

1 komentar

 
GN⁺ 2026-02-02
Komentar Hacker News
  • Dengan pengalaman lebih dari 30 tahun di industri, belakangan ini saya sangat tenggelam dalam pengembangan berbasis spesifikasi (spec-driven development)
    Saya menggunakan Claude Code dan GPT-5.2 (CoPilot) untuk menghasilkan requirement, lalu menyempurnakan spesifikasi dengan mengulang self-review beberapa kali
    Dari spesifikasi yang sudah jadi, Claude Code menulis rencana implementasi dan kodenya, sehingga fitur utama selesai dalam 20 menit
    Ini mengingatkan saya pada metode waterfall semasa saya di industri pertahanan dulu, tetapi berkat AI, kini pendekatan “augmented cascade” yang jauh lebih cepat dan lebih rapi terasa memungkinkan

    • Agar waterfall bekerja dengan baik, dibutuhkan sudut pandang jangka panjang dan penulis spesifikasi harus orang yang sama dengan pengembangnya
      Agile dulu merupakan respons perusahaan-perusahaan yang tidak mungkin memenuhi syarat itu, agar bisa cepat merilis produk demi bertahan hidup
    • Saya juga berpikir masa depan pemrograman akan menjadi berpusat pada spesifikasi
      Saya penasaran apakah ada contoh spesifikasi publik yang layak dijadikan referensi. Seperti generasi sebelumnya mengagumi kode Quake buatan John Carmack, generasi berikutnya mungkin akan memuja spesifikasi yang hebat
    • Sehalus apa pun spesifikasi dibuat, benturan dengan kenyataan sulit dihindari
      Karena manusia tidak bisa memprediksi semua kompleksitas dan situasi pengecualian. Saat benar-benar dibuat, pasti akan muncul bagian yang membuat kita berpikir, “yang ini tidak kepikiran”
    • Agile adalah cara menemukan arah yang benar secara bertahap dalam lingkungan dengan requirement yang berubah-ubah
      Kalau requirement sudah jelas sejak awal, sebenarnya itu tidak terlalu diperlukan
    • Pada akhirnya pendekatan ini terasa seperti versi modern dari konsep Design by Contract
      Bedanya, alih-alih memanfaatkan tim bawahan, sekarang yang dipakai adalah LLM
      Referensi terkait: Design by Contract (Goodreads), PDF asli
  • Saya tidak setuju dengan ungkapan “pre-training adalah hadiah kolektif umat manusia
    Kalau itu barang curian, maka itu bukan hadiah
    Walaupun kodenya dihasilkan LLM, kalau saya yang bertanggung jawab dan memeliharanya, saya menganggap itu kode saya
    Masalah muncul ketika penulisnya menghindari tanggung jawab

    • Ungkapan “hadiah curian” menimbulkan penolakan naluriah pada saya
    • Pengetahuan bukan sesuatu yang bisa dicuri. Seperti kita tidak bilang seseorang mencuri matematika, saya rasa berbagi pengetahuan itu sendiri adalah esensi kemajuan manusia
  • Setelah memakai Claude Code dan Opus 4.5, saya juga sampai pada kesimpulan yang mirip
    Saya menyebutnya “zen coding”. Memperlakukan codebase seperti taman Zen, merancang spesifikasi dengan teliti dan me-review tiap baris
    AI harus berfungsi sebagai alat, bukan perancang
    Orang yang punya spesifikasi jelas bisa mendapatkan kode dengan kualitas jauh lebih tinggi dari AI
    Vibe coding adalah eksperimen intuitif, sedangkan Zen coding adalah latihan seorang perajin

  • Saat mendengar ungkapan seperti “itu dari Claude”, saya langsung merasa kodenya mungkin masih terasa seperti draf
    Tidak perlu menyalahkan alat atau minta maaf; cukup buat hasil akhirnya jadi lebih baik

    • Masalahnya sekarang, tanpa terlalu memikirkan arsitektur atau kualitas kode, kita bisa melaju cukup jauh
    • Karena itu justru ekspektasi harus dinaikkan, dan otomatisasi harus dipakai untuk meningkatkan kualitas aplikasi hasil vibe coding
  • Saya tidak nyaman dengan ungkapan “pre-training adalah hadiah bagi umat manusia”
    Banyak pengembang open source tidak ingin kode mereka dipakai untuk melatih LLM
    Sebagian kode yang dihasilkan LLM bahkan pernah hampir menyalin kode dari buku atau blog yang pernah saya lihat
    Setidaknya, menurut saya menyebutkan sumber adalah hal yang pantas secara etis

    • Semua pengembangan berdiri di atas bahu para pendahulu. Tidak ada karya yang benar-benar independen
    • Lisensi open source dan domain publik berbeda secara hukum
      Jika kode GPL dipakai untuk melatih LLM, ada interpretasi bahwa hasilnya juga harus dirilis di bawah GPL
    • Sepanjang sejarah, ada banyak karya yang dipakai tanpa memedulikan kehendak penciptanya
      Misalnya, Kafka pernah meminta agar naskahnya dibakar, tetapi sekarang justru menjadi karya klasik sastra
    • Ada juga yang membalas, “kalau mengimplementasikan quicksort, apakah kita memberi kredit ke Hoare?”
    • Hak kekayaan intelektual juga bukan sesuatu yang absolut, dan bila perlu bisa diambil alih secara sosial (expropriation)
  • Automatic programming” pada era 1950~60-an sebenarnya berarti compiler
    4GL pada 1980-an adalah bahasa tingkat tinggi yang spesifik domain, dan LLM masa kini baru sampai tahap menghasilkan draf dari spesifikasi bahasa alami
    Pada akhirnya manusia tetap harus meningkatkan kualitas hasil melalui perbaikan berulang dan perubahan desain

  • Mungkin sekarang kita sedang menyaksikan generasi terakhir dari pengembang tingkat artisan (artisanal coder)
    Perajin seperti Antirez menangani konsep-konsep yang melampaui batas manusia, lalu menciptakan perangkat lunak yang sederhana namun indah seperti Redis
    AI dapat membuat kode dengan kecepatan yang tak mungkin dicapai manusia, tetapi itu bukan kuas dan kanvas
    Generasi baru akan menjadi perajin dalam cara yang sepenuhnya berbeda
    Saya sendiri juga takut, tetapi sambil menerima alat-alat baru ini, saya sedang bereksperimen dengan era kerajinan yang baru

    • Dalam catur pun manusia tidak bisa mengalahkan komputer, tetapi tetap saja populer
    • Antirez sekarang lebih mirip influencer AI, tetapi coding tetap merupakan aktivitas yang menyenangkan
    • Meski LLM membantu menulis kode, konsep dasar dan pemahaman struktur tetap wajib
      Yang bertambah hanyalah kemampuan memanfaatkan AI dengan baik; pengetahuan lama tidak menjadi tidak perlu
  • Saya terkesan karena tulisan Antirez dengan jelas membedakan “vibe coding dan automatic programming
    Ini mirip dengan perubahan dari era arsitek yang menggambar rancangan dengan tangan ke penggunaan BIM, CAD
    Di era AI, pengembang bukan jadi lebih sedikit menulis kode, tetapi fokus nilainya yang berubah

  • “vibe coding vs automatic coding” bukanlah dikotomi, melainkan sebuah spektrum
    Bahkan dalam satu proyek pun, pendekatan dari berbagai tingkat bisa dicampur

    • Output LLM berbeda tergantung tingkat teknis dan niat pengguna, sehingga hasil akhirnya pada akhirnya kembali ke pengguna
      Yang penting adalah sikap memanfaatkan alat secara kritis dan terus memperbaikinya
    • AI itu seperti alat musik yang bisa dimainkan dengan berbagai cara
      Ada yang menyebutnya “spec strumming